Prise de position différée avec ou sans martingale
Forums › ProRealTime forum Français › Support ProBuilder › Prise de position différée avec ou sans martingale
- This topic has 6 replies, 2 voices, and was last updated 1 year ago by lannoogeoffrey. 
- 
	
		
- 
		
			
				
07/11/2024 at 10:11 AM #235058Bonjour à toutes et tous. J’essai de coder un système qui regarde les “x” dernières positions d’achat/vente théorique d’un système (exemple ici avec le croisement du supertrend) pour entrer en position. Exemple : les 5 dernières positions acheteuses et vendeuses confonduent lors de la cassure du supertrend en clôture avec un tp et un sl défini auraient donné une perte (ces positions n’ayant pas été prise en réalité). J’aimerais que sur le sixième signal par exemple, il y ai une entrée en position. Et que si jamais cette position est perdante, sur la suivante, on est une martingale par exemple. Et qui dès que la position est gagnante, on attend de nouveau un cycle de 5 signaux perdant avant d’entrer en position sur le sixième. Voici le code envisagé, mais comme les positions ne sont pas prises réellement avant, je pense qu’il n’entre jamais en position du coup, mais je ne trouve pas comment corriger ce problème : // Définition des paramètres du code 
 DEFPARAM CumulateOrders = True // 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 = 152900
 // Annule tous les ordres en attente et ferme toutes les positions à l’heure “FLATAFTER”
 DEFPARAM FLATAFTER = 220000// Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiés 
 daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0CA = close crosses over supertrend[2,100] 
 CV = close crosses under supertrend[2,100]once mylot = 0.2 if positionperf(5)<0 and positionperf(4)<0 and positionperf(3)<0 and positionperf(2)<0 and positionperf(1)<0 then if CA then 
 BUY mylot CONTRACTS AT MARKET
 endif
 if CV then
 SELLSHORT mylot CONTRACTS AT MARKET
 endifendif if positionperf(6)<0 and positionperf(5)<0 and positionperf(4)<0 and positionperf(3)<0 and positionperf(2)<0 then if positionperf(1)<0 and CA then 
 mylot = mylot*2
 BUY mylot CONTRACTS AT MARKET
 change=change+1
 endif
 if positionperf(1)<0 and CV then
 mylot = mylot*2
 SELLSHORT mylot CONTRACTS AT MARKET
 change=0
 endif
 endifset target pprofit 15 
 set stop ploss 15//graph change 07/11/2024 at 11:49 AM #23506807/11/2024 at 12:03 PM #235070Non à ce moment là j’entre en position pour la première fois avec 1 seul lot. Si jamais cette première entrée est perdante, à ce moment là je commence une martingale. 07/11/2024 at 12:11 PM #235072Peut-être pouvez-vous utiliser le code suivant comme point de départ… Martingale Delayed12345678910111213141516171819202122232425262728293031323334353637383940414243DefParam CumulateOrders=False // Cumulating positions disabledDefParam FlatBefore=152900DefParam FlatAfter=220000DaysForbiddenEntry=OpenDayOfWeek=6 OR OpenDayOfWeek=0CA = Close Crosses Over SuperTrend[2,100]CV = Close Crosses Under SuperTrend[2,100]myLot=1WinTrades=0LossTrades=0For i=1 to 6If PositionPerf(i)>0 thenWinTrades=WinTrades+1ElsIf PositionPerf(i)<0 thenLossTrades=LossTrades+1EndIfNextIf LossTrades<6 thenIf CA ThenBuy myLot contract at MarketElsIf CV thenSellShort myLot contract at MarketEndIfEndIfIf LossTrades=6 thenIf CA thenmyLot = myLot*2Buy myLot contract at MarketElsIf CV thenSellShort myLot contract at MarketEndIfEndIf//Set Target pProfit TP//Set Stop pLoss SLGraph WinTrades as "WinTrades"Graph LossTrades as "LossTrades"1 user thanked author for this post.07/11/2024 at 1:35 PM #235085Merci, les trades sont pris. Par contre, il prend position durant les 5 premiers setups qui sont perdant. J’aimerais qu’il n’y ai pas de position prise durant ces 5 setups. Je ne sais pas si une mise en mémoire des setups perdant peut être faite (sans qu’ils n soient pris en réel) et que seulement lorsqu’on atteint les 5 setups perdant, on entre en position sur le 6 ème et si le 6ème est une perte alors on commence la martinguale. Je n’arrive pas à trouver comment faire cette partie. 07/11/2024 at 2:57 PM #235094https://www.prorealcode.com/blog/learning/how-to-improve-a-strategy-with-simulated-trades-1/ 1 user thanked author for this post.07/11/2024 at 3:47 PM #235102Merci je vaisl ire ça attentivement 😉 1 user thanked author for this post.
- 
		AuthorPosts
			Find exclusive trading pro-tools on 

 
  
		 
		 
		