Trading automatique avec “Buy Sell Magical Trend”
Forums › ProRealTime forum Français › Support ProOrder › Trading automatique avec “Buy Sell Magical Trend”
- This topic has 71 replies, 17 voices, and was last updated 5 months ago by Dams3164.
-
-
06/01/2023 at 9:20 AM #215531
Bonjour Nicolas,
Je cherche à connaitre la distance en temps :
1) entre le point de croisement et le point de croisement-1
2) entre le point de croisement-1 et le point de croisement-2
3) entre le point de croisement-2 et le point de croisement-3
Je n’arrive pas à le coder.
Merci pour ton aide
06/01/2023 at 10:15 AM #21553906/01/2023 at 1:02 PM #21555206/01/2023 at 9:02 PM #21556506/05/2023 at 12:49 PM #215653Bonjour à tous, j’obtiens des bons resultats avec la strat, mais j’aimerais integrer un stop breakeven ,
est il possible de mettre le sl au prix d’entrée quand on atteint 10 pips de gains? et ensuite faire suivre le tp tout les 10 pips?
ci dessous le code:
123456789101112131415161718192021222324252627282930313233// Définition des paramètres du codeDEFPARAM CumulateOrders = false // Cumul des positions désactivé// System closes all orders at 00.00 No new orders allowed until "FLATBEFORE" timeDEFPARAM FLATBEFORE = 080000// Cancel all orders and close all positions at "FLATAFTER" TimeDEFPARAM FLATAFTER = 171500// No new orders or enlarging position beforenoEntryBeforeTime = 080000timeEnterBefore = time >= noEntryBeforeTime// No new orders or enlarging positions afternoEntryAfterTime = 163000timeEnterAfter = time < noEntryAfterTime// Conditions pour ouvrir une position acheteuseindicator1 = CALL "MAGICAL TREND"[12, 2](close)c1 = (close > indicator1)IF c1 AND timeEnterBefore AND timeEnterAfter THENBUY 1 CONTRACT AT MARKETENDIF// Conditions pour ouvrir une position en vente à découvertindicator2 = CALL "MAGICAL TREND"[12, 2](close)c2 = (close < indicator2)IF c2 AND timeEnterBefore AND timeEnterAfter THENSELLSHORT 1 CONTRACT AT MARKETENDIF// Stops en targetsSET STOP ptrailing sl06/05/2023 at 1:35 PM #215656Pour mettre le stoploss à breakeven on peut utiliser l’instruction SET STOP BREAKEVEN
1234567891011121314151617181920212223242526272829303132333435363738394041// Définition des paramètres du codeDEFPARAM CumulateOrders = false // Cumul des positions désactivé// System closes all orders at 00.00 No new orders allowed until "FLATBEFORE" timeDEFPARAM FLATBEFORE = 080000// Cancel all orders and close all positions at "FLATAFTER" TimeDEFPARAM FLATAFTER = 171500// No new orders or enlarging position beforenoEntryBeforeTime = 080000timeEnterBefore = time >= noEntryBeforeTime// No new orders or enlarging positions afternoEntryAfterTime = 163000timeEnterAfter = time < noEntryAfterTime// Conditions pour ouvrir une position acheteuseindicator1 = CALL "MAGICAL TREND"[12, 2](close)c1 = (close > indicator1)IF c1 AND timeEnterBefore AND timeEnterAfter and not longonmarket THENBUY 1 CONTRACT AT MARKETbe = 0ENDIF// Conditions pour ouvrir une position en vente à découvertindicator2 = CALL "MAGICAL TREND"[12, 2](close)c2 = (close < indicator2)IF c2 AND timeEnterBefore AND timeEnterAfter and not shortonmarket THENSELLSHORT 1 CONTRACT AT MARKETbe=0ENDIF// Stops en targetsif be = 0 thenset stop breakevenbe = 1elseset stop ptrailing 10endifendif06/05/2023 at 3:32 PM #21566006/05/2023 at 5:23 PM #21566406/06/2023 at 7:40 AM #215693Bonjour Nicolas,
Afin de faire un filtre supplémentaire, je cherche à connaitre la distance en temps (nombre de bougie) :
1) entre le point de croisement et le point de croisement-1
2) entre le point de croisement-1 et le point de croisement-2
3) entre le point de croisement-2 et le point de croisement-3
afin déterminer la tendance : est on dans une tendance ou une respiration. cela permettrait aussi de connaitre les niveaux de prix : les plus hauts sont toujours plus haut, … avec le même indicateur
Je n’arrive pas à le coder.
Merci pour ton aide
06/06/2023 at 10:38 AM #21570206/06/2023 at 12:55 PM #215710Je pense qu’il y a un soucis avec la mise à breakeven directement à l’entrée du trade, je poste une autre version conforme à la demande ci-dessous (mise à BE après 10 points de gain)
1234567891011121314151617181920212223242526272829303132333435363738394041// Définition des paramètres du codeDEFPARAM CumulateOrders = false // Cumul des positions désactivé// System closes all orders at 00.00 No new orders allowed until "FLATBEFORE" timeDEFPARAM FLATBEFORE = 080000// Cancel all orders and close all positions at "FLATAFTER" TimeDEFPARAM FLATAFTER = 171500// No new orders or enlarging position beforenoEntryBeforeTime = 080000timeEnterBefore = time >= noEntryBeforeTime// No new orders or enlarging positions afternoEntryAfterTime = 163000timeEnterAfter = time < noEntryAfterTime// Conditions pour ouvrir une position acheteuseindicator1 = CALL "MAGICAL TREND"[12, 2](close)c1 = (close > indicator1)IF c1 AND timeEnterBefore AND timeEnterAfter and not longonmarket THENBUY 1 CONTRACT AT MARKETbe = 0ENDIF// Conditions pour ouvrir une position en vente à découvertindicator2 = CALL "MAGICAL TREND"[12, 2](close)c2 = (close < indicator2)IF c2 AND timeEnterBefore AND timeEnterAfter and not shortonmarket THENSELLSHORT 1 CONTRACT AT MARKETbe=0ENDIF// Stops en targetsif be = 0 and close-tradeprice>=10*pointsize thenset stop breakevenbe = 1elseset stop ptrailing 10endifendif06/06/2023 at 1:03 PM #215711Afin de faire un filtre supplémentaire, je cherche à connaitre la distance en temps (nombre de bougie) :
J’ai plutôt créé un indicateur qui te donne la moyenne de la durée des X dernières tendances, à voir comment l’exploiter. Evidemment, plus c’est faible, plus on est en range.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354//PRC_BuySell Magic | indicator//trend duration average// --- settingsSignalPeriod = 12ArrowPeriod = 2xTrendDurationAverage = 10// --- end of settingsbbup = average[signalperiod]+std[signalperiod]*arrowperiodbbdn = average[signalperiod]-std[signalperiod]*arrowperiodif ts=0 thenif close crosses over bbup thents=bbdntrend=1elsif close crosses under bbdn thents=bbuptrend=-1endifendifif trend=1 thents=max(ts,bbdn)elsif trend=-1 thents=min(ts,bbup)endifif trend=1 and close crosses under ts thentrend=-1ts=bbupt=t+1 //trend count$bardiff[t]=barindex-lastbarindex //trend duration in barslastbarindex=barindexendifif trend=-1 and close crosses over ts thentrend=1ts=bbdnt=t+1 //trend count$bardiff[t]=barindex-lastbarindex //trend duration in barslastbarindex=barindexendif//average of trend durationif t>xTrendDurationAverage thendiff=0for i = t downto t-xTrendDurationAverage dodiff=diff+$bardiff[i]nexttrendavg=diff/xTrendDurationAverageendifreturn trendavg as "average of previous X trend duration"On pourrait également ajouter une pondération avec la quantité de points de chaque tendance, à étudier..
1 user thanked author for this post.
06/06/2023 at 5:31 PM #21572706/06/2023 at 8:09 PM #215732le ferme tout de suite après 3-4 secondes,
C’est parce que le Trailing Stop est si proche du prix (7 points ?) et donc > 60% des trades se clôturent > quelques secondes et < 2 barres à perte.
J’ai exécuté 3 versions sur Demo Live tout l’après-midi et après 53 échanges, une version est toujours à – 107 £.
Les 3 versions ont montré une excellente courbe d’équité après optimisation sur backtest. Je suppose que nous devons être patients jusqu’à ce que les bons mouvements de prix correspondent à la stratégie / aux paramètres ?
Est-ce que quelqu’un fait des bénéfices sur la course en direct ?
06/06/2023 at 9:13 PM #215733 -
AuthorPosts
Find exclusive trading pro-tools on