Bug indicateur SAR et Bollinger dans boucle FOR/NEXT
Forums › ProRealTime forum Français › Support ProBuilder › Bug indicateur SAR et Bollinger dans boucle FOR/NEXT
- This topic has 10 replies, 2 voices, and was last updated 7 years ago by Phil4910.
-
-
10/12/2017 at 4:14 PM #49161
Bonjour Nicolas,
Ci-dessous le code d’un indicateur qui est censé me donner un signal +1 lorsque une bougie bullish ouvre sous et clôture au-dessus de la boll inférieure et, dans les 10 bougies qui suivent ce premier critère, le SAR est au-dessus de la clôture de la bougie. Inversément opur le signal -1.
Mais pour l’instant, l’encéphalogramme est plat malgré des signaux sur le graphique!
Peux-tu m’aider?
Merci d’avance,
Phil4910
12345678910111213141516171819202122232425262728X = 10 //quantité de bougies dans le passé à scanner pour trouver la dernière bougie qui croise la BBollbbperiod = 50bolup = BollingerUp[bbperiod](close)boldown = BollingerDown[bbperiod](close)for i = 1 to X doif open < BolDown and close > open and close > BolDown thensignallong = close[i]breakelsif close > BolUp and open > close and close < BolUp thensignalshort = close[i]breakendifnextParaSAR = SAR[0.02,0.02,0.03]C1 = signallong AND ParaSAR < closeC2 = signalshort AND ParaSAR > closeIf c1 thenr=1Elsif c2 thenr=-1elser=0endifreturn r10/12/2017 at 4:33 PM #4916510/13/2017 at 10:33 AM #49253Modifié mais encéphalogramme toujours plat… Help
123456789101112131415161718192021222324252627282930313233bbperiod = 50bolup = BollingerUp[bbperiod](close)boldown = BollingerDown[bbperiod](close)signallong = open < BolDown and close > open and close > BolDownsignalshort = close > BolUp and open > close and close < BolUpX = 10 //quantité de bougies dans le passé à scanner pour trouver la dernière bougie qui croise la BBollfor i = 1 to X doif close[i] = signallong thenC1 = close[i]breakendifnextfor i = 1 to X doif close[i] = signalshort thenC2 = close[i]breakendifnextParaSAR = SAR[0.02,0.02,0.03]C3 = c1 AND ParaSAR < closeC4 = c2 AND ParaSAR > closeIf c3 thenr=1Elsif c4 thenr=-1elser=0endifreturn r10/13/2017 at 2:17 PM #49292J’ai préféré repartir de ton premier code et je l’ai modifié tel que j’ai compris ta stratégie de signaux. Ci-joint exemple, tu en penses quoi ? Ce sera pas mieux d’avoir des flèches sur le graphique pour cet indicateur de signaux de trading ?
1234567891011121314151617181920212223X = 10 //quantité de bougies dans le passé à scanner pour trouver la dernière bougie qui croise la BBollbbperiod = 50bolup = BollingerUp[bbperiod](close)boldown = BollingerDown[bbperiod](close)for i = 1 to X doif open[i] < BolDown[i] and close[i] > open[i] and close[i] > BolDown[i] then//signallong = close[i]barlong = barindex[i]breakelsif open[i] > BolUp[i] and open[i] > close[i] and close[i] < BolUp[i] then//signalshort = close[i]barshort = barindex[i]breakendifnextParaSAR = SAR[0.02,0.02,0.03]C1 = ParaSAR < close and ParaSAR[1]>close[1] and barindex-barlong<XC2 = ParaSAR > close and ParaSAR[1]<close[1] and barindex-barshort<Xreturn c1 coloured(0,200,0) style(histogram), c2 coloured(200,0,0) style (histogram)10/15/2017 at 2:42 PM #49410Merci Nicolas d’avoir réanimé mon patient mais il n’est pas encore tiré d’affaire!
Sur ma copie d’écran (100 ticks), tu verras que les signaux arrivent trop tard 🙁
Penses-tu pouvoir le remettre sur pieds?
Pour les flèches, c’est une bonne idée mais je souhaite d’abord le backtester avant.
Phil4910.
10/15/2017 at 5:18 PM #49420Les signaux arrivent au bon moment si je ne me trompes pas (voir image), c’est à dire à la première apparition du SAR contrarien. Vérifie que tu utilises bien les mêmes périodes des indicateurs que tu as sur ton graphique et ceux que j’ai utilisé dans mon code. Pour le SAR notamment: ParaSAR = SAR[0.02,0.02,0.03]
10/16/2017 at 7:26 AM #4946710/16/2017 at 8:34 AM #4949010/16/2017 at 10:36 AM #49517C’est pas mal sur le Dax en 100 ticks (cfr image jointe) avec un trailing stop, mais cela pourrait être plus rentable si plutôt qu’avoir un stop loss à 15 je pouvais le mettre au plus haut/plus bas de la bougie précédent le signal. Evidemment, j’ai essayé ce week-end mais sans y parvenir. Ton aide serait la bienvenue!
Par contre, mes résultats sont légèrement meilleurs sans le PSAR et en long uniquement, mais toujours ce problème de stop loss…
Voici le bout de code :
123456789101112131415161718192021222324252627282930313233trailingstart = 5 //how much pips/points in gain to activate the breakeven function?trailingstep = 5 //trailing step to move the "stoploss"PointsToKeep = 1 //how much pips/points to keep in profit above of below our entry price when the breakeven is activated (beware of spread)// --- BUY SIDE ---//test if the price have moved favourably of "startBreakeven" points alreadyIF LONGONMARKET AND close-tradeprice(1)>=trailingstart*pipsize THEN//calculate the breakevenLevelnewSL = tradeprice(1)+PointsToKeep*pipsizeENDIF//place the new stop orders on market at breakevenLevelIF newSL>0 THENSELL AT newSL STOPENDIFIF newSL>0 AND close-newSL>=trailingstep*pipsize THENnewSL = newSL+trailingstep*pipsizeENDIFIF SHORTONMARKET AND tradeprice(1)-close>trailingstart*pipsize THEN//calculate the breakevenLevelnewSL = tradeprice(1)-PointsToKeep*pipsizeENDIF//place the new stop orders on market at breakevenLevelIF newSL>0 THENEXITSHORT AT newSL STOPENDIFIF newSL>0 AND newSL-close>=trailingstep*pipsize THENnewSL = newSL-trailingstep*pipsizeENDIFIF NOT ONMARKET THENnewSL=0ENDIFSet Stop Loss 15Phil4910
10/16/2017 at 10:43 AM #49522Dans ce cas il faudrait placer cette ligne juste après avoir envoyer l’ordre:
12345// pour un ordre d'achatset stop loss Close-low[1]//pour un ordre de vente à découvertset stop loss high[1]-closeet supprimer la ligne 33 du code que tu viens de poster. Donne nous des nouvelles !
10/16/2017 at 12:48 PM #49552J’ai finalement supprimé le PSAR car il retarde la prise de position et j’ai gardé un stop loss à 6 ce qui est raisonnable pour moi.
Par contre, ce système est rentable mais en long uniquement (trop de stop touchés en short) mais je pense que cela est dû à la tendance du marché depuis septembre.
Je poursuis mes recherches avec notamment l’ajout du RSI.
Phil4910.
-
AuthorPosts
Find exclusive trading pro-tools on