Stop suiveur par niveau de prix prédéfinie
Forums › ProRealTime forum Français › Support ProOrder › Stop suiveur par niveau de prix prédéfinie
- This topic has 1 reply, 2 voices, and was last updated 4 years ago by Nicolas.
-
-
05/31/2020 at 8:11 PM #133981
Bonjour à la communauté
Je suis débutant en codage et grâce à ProRealCode j’ai pu composer ce petit bout de code. il fonctionne mais j’aimerais améliorer car je suis bloqué sur la modification du code de Nicolas trailing stop.
J’ai un compte IG à risque limité.
De la ligne 105 à 116, à pour but de déplacer le stop loss vers les niveaux de prix qui correspond aux différents résistance pivot.
Pour mieux expliquer mon problème je vous invite à aller sur la journée du 18 mai 2020.
Après multitude de recherche, je ne comprends pas pourquoi le niveau 2 s’élève à 21164, 80.
En testant de nouveau sans le niveau 2. Le niveau 3 fonctionne correctement et le niveau 4 ne s’enclenche qu’après la 15ème période de son déclenchement prévu.
Quelqu’un peut-il m’aider à résoudre ce problème.
Merci par avancePs: comment mettre le cite ProRealCode en français SVP
Auto Dax 15Min Long test123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126// Définition des paramètres du codeDEFPARAM CumulateOrders = False // Cumul des positions désactivé// Annule tous les ordres en attente et ferme toutes les positions à 0:00, puis empêche toute création d'ordre avant l'heure "FLATBEFORE".DEFPARAM FLATBEFORE = 000000// Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"DEFPARAM FLATAFTER = 214500//TIMEFRAME(15 minute) // Unité de Temps (15 minute)//-----------------------------------------------------------------------------------------------------------------------------------------IF dayofweek <> 1 THENHt = DHigh(1)Bs = DLow(1)C = DClose(1)ENDIFif dayofweek=5 thenHtfriday=Dhigh(0)BsFriday=Dlow(0)CFriday=Dclose(0)endifif dayofweek=1 thenHt = HtfridayBs = BsFridayC = CFridayendifPivot = (Ht + Bs + C) / 3Res3 = Pivot + ((Ht - Bs)*2)ResM3 = Ht+3*((Pivot)-Bs)/2Res2 = Pivot + Ht - BsResM2 = 3*((Pivot)+Ht)/2-BsRes1 = (2 * Pivot) - BsResM1 = (3*(Pivot)-Bs)/2//SupM1 = (3*(Pivot)-Ht)/2//Sup1 = (2 * Pivot) - Ht//SupM2 = 3*((Pivot)-Bs)/2-Ht//Sup2 = Pivot - (Ht - Bs)//SupM3 = Bs+3*((Pivot)-Ht)/2//Sup3 = Pivot - ((Ht - Bs)*2)//----------------------------------------------------------------------------------------------------------------------------------------MME = ExponentialAverage[200](close) // moyenne mobile exponentielle (long terme)MME1 = ExponentialAverage[21](close) // moyenne mobile exponentielle (court terme)MME2 = ExponentialAverage[73](close) // moyenne mobile exponentielle (moyen terme)//************************************************************************// Condition pour ouvertureC1 = (close >= ResM1 AND close[1] < ResM1) // si le prix de cloture est au-dessus de la ResM1 & le prix de la bougie precédante est au-dessous de la ResM1C2 = (close > MME) // Détection tendance à la Hausse (si le prix est au-dessus de la MME 200)C3 = (MME1 > MME2) // Si la moyenne mobile est superieure à la moyenne mobile moyen terme// Condition pour fermetureniveau1 = ABS(Res1) // 10581.80 niveau du 18 mai 20niveau2 = ABS(ResM2) // 10617.30 niveau du 18 mai 20niveau3 = ABS(Res2) // 10652.80 niveau du 18 mai 20niveau4 = ABS(ResM3) // 10705.45 niveau du 18 mai 20//niveau5 = ABS(Res3) // 10758.10 niveau du 18 mai 20//C30 = (close >= Res1)//C32 = (close >= ResM2)C31 = (close <= MME2)//************************************************************************// Conditions pour OUVRIR une position acheteuseIF C1 AND C2 AND C3 THEN // Détection tendance à la Haussiere (si le prix est au-dessus de la MME 200)BUY 0.6 CONTRACT AT MARKET // Lancer le trade à l'achatSET STOP PLOSS 35 // Stop loss au nombre de point//SET TARGET pPROFIT 70ENDIF//************************************************************************// Condition en cas de Gap//C4 = (low - high[1] > 0.0001)IF open>=ResM1 and open<Res1 and time >= 000000 and time <= 001500 THENBUY 0.6 CONTRACT AT MARKET // Lancer le trade à l'achatSET STOP PLOSS 35 // Stop loss au nombre de pointENDIF// Conditions pour FERMER une position acheteuseIF C31 THENSELL AT MARKETENDIF//trailing stop functiontrailingstart = 27 //trailing will start @trailinstart points profittrailingstep = 19 //trailing step to move the "stoploss"//reset the stoploss valueIF NOT ONMARKET THENnewSL=0ENDIF//manage long positionsIF LONGONMARKET THEN//first move (breakeven)IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THENnewSL = tradeprice(1)+trailingstep*pipsizeENDIFIF CLOSE >= ResM2 AND CLOSE < Res2 THENnewSL = niveau1ENDIFIF CLOSE >= Res2 AND CLOSE < ResM3 THENnewSL = niveau2ENDIFIF CLOSE >= ResM3 AND CLOSE < Res3 THENnewSL = niveau3ENDIFIF CLOSE >= Res3 THENnewSL = niveau4ENDIFENDIF//stop order to exit the positionsIF newSL>0 THENSELL AT newSL STOPEXITSHORT AT newSL STOPENDIFGRAPH newSL as "trailing"06/02/2020 at 10:03 AM #134166 -
AuthorPosts
Find exclusive trading pro-tools on