Mettre un robot en pause temporairement
Forums › ProRealTime forum Français › Support ProOrder › Mettre un robot en pause temporairement
- This topic has 14 replies, 3 voices, and was last updated 1 year ago by RICOU.
-
-
08/26/2023 at 3:14 PM #21981008/28/2023 at 8:35 AM #219912
On peut compter en terme de bougies par exemple:
12345678910//1)waitbar = 5//2)if not onmarket and (onmarket[1] or longtriggered or shorttriggered) thenlastindex = barindexendif//3)gotrading = barindex-lastindex >= waitbarExplication du code dans l’ordre:
- définition du paramètre pour la quantité de barres à attendre après un ordre
- test si on est plus au marché alors qu’on l’était à la barre précédente et enregistrement du barindex
- variable booléenne (à mettre dans ta chaîne de conditions pour ouvrir une position) qui teste si on a suffisamment de barres depuis le dernier trade
08/28/2023 at 4:31 PM #219958Bonjour Nicolas,
merci pour la réponse mais cela ne fonctionne pas , peut être que j’ai mal positionné le code, ci joint le détail.
DEFPARAM cumulateorders = false
DEFPARAM FlatAfter =200000
tradestart = time > 090000
Tradeend= time < 140000
joursdetrading = dayofweek>=1 and dayofweek<=6
TakeProfit = 30
//
waitbar = 5
if not onmarket and (onmarket[1] or longtriggered or shorttriggered) then
lastindex = barindex
endif
gotrading = barindex-lastindex >= waitbar
//
MM100 = Average[100](close)
IF MM100 > MM100[20]and joursdetrading AND tradestart AND tradeend THEN
BUY 3 SHARES AT MARKET
ENDIF
IF MM100 < MM100[20] and joursdetrading AND tradestart AND tradeend THEN
SELLSHORT 3 SHARES AT MARKET
ENDIF
SET STOP %LOSS 0.1
SET TARGET PPROFIT TakeProfit08/29/2023 at 1:52 PM #21999408/29/2023 at 3:47 PM #220008Merci Nicolas, le code fonctionne très bien sur une stratégie simple en revanche dès que ça se complique un peut ça ne va plus.
je te joins ici le développement sur lequel je travaille actuellement la base est ton indicateur “Supertrend+CCI” :
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687DEFPARAM CumulateOrders = false // Cumul des positions désactivé// System closes all orders at 00.00 No new orders allowed until "FLATBEFORE" timeDEFPARAM FLATBEFORE = 090000// Cancel all orders and close all positions at "FLATAFTER" TimeDEFPARAM FLATAFTER = 180000joursdetrading = dayofweek>=1 and dayofweek<=5// No new orders or enlarging position beforenoEntryBeforeTime = 090000timeEnterBefore = time >= noEntryBeforeTime// No new orders or enlarging positions afternoEntryAfterTime = 180000timeEnterAfter = time < noEntryAfterTime// --- settingsCCIPeriod = 50 // Période de l'indicateur CCIATRPeriod = 5 // Période de l'indicateur ATRLevel = 0 // Niveau d'activation du CCI// --- fin des paramètres//waitbar = 3if not onmarket and (onmarket[1] or longtriggered or shorttriggered) thenlastindex = barindexendifgotrading = barindex-lastindex >= waitbar//icci = CCI[CCIPeriod](typicalPrice)iatr = AverageTrueRange[ATRPeriod](close)TrendUp = 0.0TrendDown = 0.0SignUp = 0.0SignDown = 0.0if (icci >= Level and icci[1] < Level) thenTrendUp = TrendDown[1]endifif (icci <= Level and icci[1] > Level) thenTrendDown = TrendUp[1]endifif (icci > Level) thenTrendUp = low - iatrif (TrendUp < TrendUp[1] and icci[1] >= Level) thenTrendUp = TrendUp[1]endifendifif (icci < Level) thenTrendDown = high + iatrif (TrendDown > TrendDown[1] and icci[1] <= Level) thenTrendDown = TrendDown[1]endifendifif (TrendDown[1] <> 0.0 and TrendUp <> 0.0) thenSignUp = TrendUpendifif (TrendUp[1] <> 0.0 and TrendDown <> 0.0) thenSignDown = TrendDownendifst = max(TrendUp, TrendDown)// Conditions de tradinglongCondition = TrendUp > 0.0shortCondition = TrendDown > 0.0// Entrée en position longueif (longCondition)AND joursdetrading and gotrading thenBuy 3 CONTRACT at marketendif// Entrée en position courteif (shortCondition)AND joursdetrading and gotrading thenSellshort 3 CONTRACT at marketendif// Sortie de position longueif (shortCondition)AND joursdetrading and gotrading thenSellshort 3 CONTRACT at marketendif// Sortie de position courteif (longCondition)AND joursdetrading and gotrading thenBuy 3 CONTRACT at marketendifSET STOP %LOSS 0.2508/29/2023 at 4:22 PM #22001408/29/2023 at 5:13 PM #22002108/30/2023 at 4:09 PM #22006808/30/2023 at 4:34 PM #22007708/31/2023 at 1:08 PM #220128C’est normal, les positions sont clôturées par l’ouverture d’une nouvelle position inverse. Donc à aucun moment nous n’avons plus était au marché et dans ce cas pas d’attente.
Pour mémoire, la demande initiale était: “peut on mettre un robot en pause pendant 5 mn par exemple après la clôture d’une position?”
08/31/2023 at 1:35 PM #22013109/01/2023 at 10:41 AM #22017409/01/2023 at 11:54 AM #22017509/04/2023 at 6:09 PM #220327Pour éviter qu’un short ferme et long et vice-versa, ajoute Not Onmarket dans tes conditions. J’ai oublié de l’intégrer dans une stratégie live et j”ai perdu de l’argent bêtement.
Exemple:
123if Not Onmarket AND (longCondition)AND joursdetrading and gotrading thenBuy 3 CONTRACT at marketendifJe ne sais pas si tu peux ouvrir 2 positions dans le même sens. Ca donnerait:
123if Not ShortOnMarket AND (longCondition) AND joursdetrading and gotrading thenBuy 3 CONTRACT at marketendif1 user thanked author for this post.
09/05/2023 at 5:27 PM #220371 -
AuthorPosts
Find exclusive trading pro-tools on