Arrêt du système par manque d’historique
- This topic has 3 replies, 2 voices, and was last updated 1 year ago by .
Viewing 4 posts - 1 through 4 (of 4 total)
Viewing 4 posts - 1 through 4 (of 4 total)
Similar topics:
Forums › ProRealTime forum Français › Support ProOrder › Arrêt du système par manque d’historique
Bonjour,
J’ai un soucis d’arrêt de code la nuit à 1h30 très précisément. En fouillant dans le forum j’ai essayé de retirer les fonctions “call” de mes deux indicateurs, j’ai ajouté également un “defparam preloadbars”.
Au début je pensais que c’était en rapport avec les “trous” dans la cotation (je l’utilise sur FR40 au comptant de chez IG en 15min et la nuit certaines bougies sont nulles, inexistantes), mais ce n’est pas le cas ni à 1h30 ni dans la 30aine de bougie qui précède.
Je me demande donc si cela n’a pas un rapport avec le passage de 0h00à 0h15 mais je ne vois pas pourquoi … Cela représente 6 bougies de 15 minutes jusqu’à 1h30 et aucuns de mes indicateurs n’est paramétré sur 6 ou moins de 6.
Voila le code en espérant que vous ayez une super idée à me soumettre ^^
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
// Définition des paramètres du code DEFPARAM CumulateOrders = False // Cumul des positions désactivé DEFPARAM Preloadbars = 100000 //Alphatrend ap = 14 Coeff = 1.5 if (MoneyFlowIndex[ap]>=50) then magic=Low[0]-AverageTrueRange[ap](close)*coeff endif if (MoneyFlowIndex[ap]<=50) then magic=High[0]+AverageTrueRange[ap](close)*coeff endif if (MoneyFlowIndex[ap]>=50 and magic<magic[1]) then magic=magic[1] endif if (MoneyFlowIndex[ap]<=50 and magic>magic[1]) then magic=magic[1] endif if magic>magic[1] then couleur=1 elsif magic<magic[1]then couleur=-1 endif //PGO SMA = Average[22](close) ATR = TR(close) MMe = ExponentialAverage[22](ATR) PGO=(close-SMA)/(MMe) indicator1 = PGO indicator2 = couleur // Conditions pour ouvrir une position acheteuse c1 = (indicator1 CROSSES OVER(-2)) c2 = (indicator2 = 1) IF c1 and c2 THEN BUY 0.5 CONTRACT AT MARKET Set Stop ploss 100 Set Target profit 45 ENDIF // Conditions pour fermer une position acheteuse c4 = (indicator1 CROSSES UNDER 2) IF longonmarket and c4 THEN SELL AT MARKET ENDIF // Conditions pour ouvrir une position vendeuse c5 = (indicator1 CROSSES UNDER 2) c6 = (indicator2 = -1) IF c5 and c6 THEN SELLSHORT 0.5 CONTRACT AT MARKET Set Stop ploss 87 Set Target profit 97 ENDIF // Conditions pour fermer une position vendeuse c7 = (indicator1 CROSSES OVER(-2)) IF shortonmarket and c7 THEN EXITSHORT AT MARKET ENDIF |
Merci
PS: Vous remarquerez la présence du code “Alpha trend”, je l’utilise avec plaisir et vous remercie vivement du partage.
L’indicateur MoneyFlowIndex, nécessite du volume pour se calculer, alors si il est à 0, je pense que cela peut créer ce type de comportement.
On peut essayer en vérifiant la présence de volume pour lancer son calcul, sinon lui donner la valeur précédente, comme ceci:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
if volume>0 then if (MoneyFlowIndex[ap]>=50) then magic=Low[0]-AverageTrueRange[ap](close)*coeff endif if (MoneyFlowIndex[ap]<=50) then magic=High[0]+AverageTrueRange[ap](close)*coeff endif if (MoneyFlowIndex[ap]>=50 and magic<magic[1]) then magic=magic[1] endif if (MoneyFlowIndex[ap]<=50 and magic>magic[1]) then magic=magic[1] endif else magic=magic[1] endif |
Merci Nicolas.
En premier lieu cela change beaucoup les résultats du backtest mais pas forcément en mal. Disons que c’était équilibré achat/vente et que maintenant ça penche beaucoup coté achat en terme de résultats.
Je lance le programme et vous tiens au courant demain.
Encore merci!
Find exclusive trading pro-tools on