Erreur ProOrder au lancement: un indicateur utilisé manque d’historique
Forums › ProRealTime forum Français › Support ProOrder › Erreur ProOrder au lancement: un indicateur utilisé manque d’historique
- This topic has 16 replies, 3 voices, and was last updated 5 years ago by Edmond.
-
-
06/12/2018 at 9:16 AM #72962
Bonjour à tous,
Comme me l’a conseillé Nicolas hier soir, j’ouvre aujourd’hui un nouveau sujet à propos d’un message d’erreur lorsque j’essaie de lancer un algorithme en réel. J’ai en réalité 2 algorithmes complémentaires qui doivent se synchroniser via un indicateur ProBuilder qui simule les prises de position du premier algortihme (code principal).
Voilà le message d’erreur affiché par ProOrder quelques secondes après que j’ai mis en marche mon code :
“Votre système de trading a été arrêté car au moins un indicateur utilisé manque d’historique pour être calculé. Merci d’augmenter la quantité d’historique pré-chargée au démarrage du système en utilisant l’instruction DEFPARAM (ex : DEFPARAM Preloadbars = 2000).”Très bien, seulement dans mon code je n’appelle jamais plus de quelques barres d’historique (20 exactement pour l’HistoricVolatility dans le code ProBuilder) or, j’ai une ligne DEFPARAM PRELOADBARS = 1000 qui devrait être largement suffisante… De plus à l’affichage de ce message d’erreur j’ai bien évidemment essayer de modifier le nombre de barres à précharger (jusqu’à plusieurs milliers) mais cela n’a rien changé.
Je ne comprends pas ce qui pose problème surtout que je n’ai aucun problème en Backtest. Pourquoi ? Pour moi, de mon côté, tout fonctionne exactement comme je l’ai codé en BackTest sauf que je ne peux pas le lancer sur le marché.. Un peu frustrant (rire).
Si quelqu’un pouvait m’éclairer et me permettre de lancer cette stratégie cela serait génial!
Merci par avance pour votre temps passé sur nos questions qui parfois, faut il l’avouer, ne nécessitent qu’un peu de bon sens et d’observations.
PS : Je vous joins aussi l’indicateur ProBuilder que j’ai crée pour simuler le code principal bien qu’il ne soit surement pas d’un grand intérêt car, comme je l’ai déjà stipulé plus haut, il n’appelle pas plus de 20 d’historique. Mais tout est là. Encore merci pour votre aide.
Code que je n'arrive pas à lancer en réel1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980// DefparamDEFPARAM CumulateOrders = falseDEFPARAM PRELOADBARS = 1000// Targets and stopTPMain = 0.0006SLMain = 50TP = ((SLMain-0.5)-(10000*PendingLevel))// SettingsPSize = 1PendingLevel = 0.0025LevelExit = 0.0005// IndicatormyLong, myShort = CALL "Indicator"(close)// If still on market after Main's exitIF OnMarket THEN// Main's longIF ShortOnMarket AND (myLong = 0) AND (myLong[1] <> 0) THENEXITSHORT AT MARKETENDIF// Main's shortIF LongOnMarket AND (myShort = 0) AND (myShort[1] <> 0) THENSELL AT MARKETENDIFENDIF// Do not allow to take position after SLMain exitIF NOT OnMarket AND OnMarket[1] THENIF ShortOnMarket[1] AND Low[1] < (x - (SLMain/10000)) THENENDIFIF LongOnMarket[1] AND High[1] > (y - (SLMain/10000)) THENENDIFELSE// LongIF Not OnMarket AND (myLong <> 0) AND High < (myLong + TPMain) THENSELLSHORT PSize CONTRACTS AT (myLong - PendingLevel) Stopx = myLongENDIF// ShortIF Not OnMarket AND (myShort <> 0) AND Low > (myShort - TPMain) THENBUY PSize CONTRACTS AT (myShort + PendingLevel) Stopy = myShortENDIFIF OnMarket THEN// Long closingIF ShortOnMarket THENEXITSHORT AT (x - LevelExit) stop// Long agressive sellshortIF (High[1] < (x + TPMain)) THENSELLSHORT PSize CONTRACTS AT (myLong - PendingLevel) StopENDIFENDIF// // Short closingIF LongOnMarket THENSELL AT (y + LevelExit) stop// Short agressive buyIF (Low[1] > (y - TPMain)) THENBUY PSize CONTRACTS AT (myShort + PendingLevel) StopENDIFENDIFENDIFENDIF// Set TPSET TARGET pPROFIT TPL'Indicateur appelé dans le code123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144// Main's target and stopTPMain = 0.0006SLMain = 0.0050// SettingsMyVolat = 0.08Spread = 0.00003SwitchOn = 095000SwitchOff = 180000// Indicators settingsParabolicSAR = SAR[0.02,0.02,0.2]MyVolatility20 = HistoricVolatility[20]// Conditons to startVolatilityConditions = (MyVolatility20[1] > MyVolat)TradingTimes = Time > SwitchOff OR Time < SwitchOnIF VolatilityConditions THENallows = 1ELSEallows = 0ENDIFIF (x <> 0) OR (y <> 0) THEN// Long loopIF (x <> 0) THENIF (High[1] > (x + TPMain + Spread)) THENx = 0// Agressive openingTradingTimes = Time > SwitchOff OR Time < SwitchOnIF TradingTimes THENx = 0y = 0ELSEIF allows THEN// Long agressive openingc1 = (ParabolicSAR[1] > High[1])c2 = (High > (ParabolicSAR[1]-Spread))IF c1 AND c2 THENx = ParabolicSAR[1]ENDIF// Short agressive openingc3 = (ParabolicSAR[1] < Low[1])c4 = (Low < (ParabolicSAR[1]+Spread))IF c3 AND c4 THENy = ParabolicSAR[1]ENDIFENDIFENDIFELSEy = 0ENDIFELSEIF (High[1] > (y + SLMain)) THENx = 0y = 0ENDIFENDIF// Short loopIF (y <> 0) THENIF (Low[1] < (y - TPMain - Spread)) THENy = 0// Agressive openingTradingTimes = Time > SwitchOff OR Time < SwitchOnIF TradingTimes THENx = 0y = 0ELSEIF allows THEN// Long agressive openingc1 = (ParabolicSAR[1] > High[1])c2 = (High > (ParabolicSAR[1]-Spread))IF c1 AND c2 THENx = ParabolicSAR[1]ENDIF// Short agressive openingc3 = (ParabolicSAR[1] < Low[1])c4 = (Low < (ParabolicSAR[1]+Spread))IF c3 AND c4 THENy = ParabolicSAR[1]ENDIFENDIFENDIFELSEx = 0ENDIFELSEIF (Low[1] < (x - SLMain)) THENx = 0y = 0ENDIFENDIFELSEIF TradingTimes THENx = 0y = 0ELSEIF allows THEN// Long openingc1 = (ParabolicSAR[1] > High[1])c2 = (High > (ParabolicSAR[1]-Spread))IF c1 AND c2 THENx = ParabolicSAR[1]ENDIF// Short openingc3 = (ParabolicSAR[1] < Low[1])c4 = (Low < (ParabolicSAR[1]+Spread))IF c3 AND c4 THENy = ParabolicSAR[1]ENDIFENDIFENDIFENDIFRETURN x as "Long", y as "Short"06/12/2018 at 9:23 AM #7296306/12/2018 at 1:50 PM #73012Merci @Nicolas pour cette réponse rapide. Je viens de tester en remplacent la volatilité par un RSI[14] qui doit être supérieur à 0 pour démarrer le trading, avec DEFPARAM PreLoadBars = 0 mais sans succès. J’ai la toujours la même erreur…
Ça ne m’étonne pas trop mais je suis curieux de connaître ton avis sur ce résultat. 🙂
06/12/2018 at 3:51 PM #7302606/12/2018 at 3:55 PM #7302706/12/2018 at 4:06 PM #73028Bon, j’ai écarté tout ce à quoi je pouvais penser comme potentiel problème “invisible”.. Il faudrait lancer un ticket support sous la plateforme (CTRL+M) et mettre en référence ce topic. Merci.
1 user thanked author for this post.
06/12/2018 at 4:54 PM #73029D’accord, donc si je comprends bien, le problème ne vient donc pas de mon code ? En tout cas pas de quelque chose qui dépend de moi ?
Je vais donc faire ça, et je te tiendrais informé des avancées en espérant en avoir rapidement… J’ai hâte de voir ce code tourner en réel 🙂
Merci pour tout, c’est toujours génial de pouvoir compter sur toi ou sur la communauté de ce forum en général! Bonne soirée ou journée en fonction de l’endroit où tu te trouves 🙂
06/12/2018 at 5:16 PM #73030@Nicolas, j’ai oublié de te demander, mais peut-être pourrais tu si tu en as le temps, essayer de faire tourner ces codes chez toi en démo et me dire si ils marchent en attendant la réponse de PRT que je viens de contacter via la plateforme. Même si je ne vois pas pourquoi cela fonctionnerai mieux…
06/13/2018 at 12:26 PM #7308806/13/2018 at 12:44 PM #73091Très honnêtement, je ne suis pas encore sûr du TimeFrame pour l’instant.. Il est toujours en période de test pour savoir où j’obtient les meilleurs résultats. Mais en ce qui concerne le problème lui-même j’ai testé presque toutes les périodes et le problème reste identiques : à l’ouverture de la bougie où le code doit démarrer il est presque instantanément bloqué. (J’ai testé 1s, 1min, 10min, 1H, 2H, 4H)
Pour l’instrument je l’ai prévu pour de l’Euro/USD (en fonction des résultats je pourrais éventuellement adapter de futurs versions pour d’autres instruments)
06/29/2018 at 10:37 AM #74740Bonjour @Nicolas,
Cela fait maintenant plus de 2 semaines que j’ai contacté PRT, mais à part IG m’ayant informé qu’ils avaient transmis le code aux développeurs je n’ai aucune nouvelle supplémentaire… J’avoue être un peu impatient de pouvoir tester ce code et le faire évoluer afin de l’optimiser au maximum, chose qui nous passionne tous plus ou moins je suppose 🙂
En sais tu plus sur les délais habituels car cela m’inquiète un peu ?
06/29/2018 at 10:48 AM #7474407/02/2018 at 7:09 PM #7509807/16/2018 at 1:13 PM #76082Bonjour @nicolas,
J’ai reçu ce matin la réponse de PRT m’indiquant sans grande précision que le problème ne pourrait être résolu avant la prochaine MAJ prévue pour Septembre 2018. Je trouve cette réponse non satisfaisante et relativement cavalière, d’autant plus qu’il aura fallu les relancer 3 fois, attendre plus d’un mois pour obtenir une “non-réponse”. En fait il me confirme la fiabilité “relative” de ProRealTime, en effet je conçois un code, j’y passe du temps pour le résultat suivant : mes positions gagnantes en Backtest ne peuvent être prise en réel à cause d’un bug ProRealTime.
Évoluant dans un monde financier sérieux et étant partenaire d’IG.com, j’attendais de leur part une attitude plus professionnelle à savoir soit une solution alternative, soit la reconnaissance de mon travail car si j’ai bel et bien mis le doigt sur un bug qui les aidera à améliorer leur plateforme ils pourraient faire comme Apple qui rémunère de manière importante les personnes les aidant à détecter les failles de leur OS pour les corriger car eux ont compris que pour tout logiciel ou code la fiabilité, et donc la crédibilité, est la chose la plus importante.
En résumé je trouve que face à cette situation ProRealTime n’est pas à la hauteur de ses concurrents, qu’il me prive de gains potentiels significatifs et que dans le milieu de la finance et du trading où la priorité est d’être réactif face aux enjeux financiers importants. Malgré qu’il présente une interface et des fonctions simpliés très prometteuses, Prorealtime a encore beaucoup de chemin à parcourir avant d’être reconnu comme un logiciel professionnel de référence et fiable à toute épreuve.
Si tu as le moyen de leur faire parvenir ce message, je t’en serais très reconnaissant car je n’ai aucun moyen de les contacter directement. Je crois beaucoup en ProRealTime, mai je trouve leur réaction légère face à ce bug. J’en viens à douter de la confiance que l’on peut accorder à une plateforme sur laquelle nous investissons nos fonds en réel alors qu’ils ne sont pas capable de fournir ne serait-ce qu’une simple explication lorsqu’un bug dont ils sont pleinement responsables apparaît. Que ce serait-il passé si ce bug été apparu durant un trade et qu’une somme importante avait été perdue ?
En tout cas merci pour le temps et l’intérêt que tu as consacré à ce sujet, et à m’aiguiller dans les procédures.
Amitiés
Lorenzo
11/11/2019 at 3:57 PM #112547Bonjour,
Sait-on s’il y a eu des évolutions sur ce genre de soucis?
J’ai moi aussi des erreurs de ce type pour 3 systèmes qui marchaient bien jusqu’à ce que j’y ajoute des filtres tels que le repulse ou l’adx sur l’ut principale de ces stratégies (5min), mais aussi en multitimeframe sur plusieurs ut différentes. J’ai aussi ce type de filtres sur d’autres stratégies sans que cela pose problème.
La V11 notamment permettra-t-elle d’augmenter la quantité d’historique préchargée ?
-
AuthorPosts
Find exclusive trading pro-tools on