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 5 months ago by lannoogeoffrey.
-
-
07/11/2024 at 10:11 AM #235058
Bonjour à 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