// BT Monsterstok 6 20220929 // idem 3, mais on impose StopLossIni a 5 % du close // idem 2 mais on utilise ExraTrend et on impose d'être en hausse monthly, weekly, daily // BT Monsterstock 2 20220927 // idem 1, mais sans Stop Suiveur // Sortie soit sur StopLossini soit sur CondPente faux // l'idée est de diminuer le nombre de trades // BT Monsterstock 1 20220927 // Base pour Version 1 // Strategie Monsterstock inspiré de la video de Christophe TrendFrance sur Wibourse du 23/09/2022 // Risque initial 600 Euros par trade !!!!!! // // Entrée sur // - Canal supérieur de Donchian 270 en croissance // - Close au dessus des MM200 et MM400 // - MM200 au dessus de MM400 // - Close au dessus de MM200 + 5ATR200 (Sortie de la bande d'attraction) // - Taux de pente supérieur à 2 % // - condtion sur la liquidité des titres par jour de trade // Stoplossini pour définition de la taille de position : Close - 4*ATR20 // Stoplosssuiveur sur close - 4 ATR20 tant que l'on a pas atteint un niveau de performance de 2 R // Si niveau de performance > 2R, alors SL Suiveur sur MM200 + 5*ATR200 // Sortie si Taux de pente inférieur à 200 // Paramètres Once SeuilPente = 0.02 Once DurMinEntreTrade = 20 // Traitement de ExtraTrend // Passage en Monthly timeframe(monthly) myTrend4, ignored, myExpansion4,ignored, ignored = CALL "ExtraTrend"[0, 0, 0, 0, 0, 0](close) Uptrendmonthly = myTrend4 <> myExpansion4 // fin du mode monthly // Passage en weekly timeframe(weekly) myTrend3, mylowsignalweekly, myExpansion3, ignored, ignored = CALL "ExtraTrend"[0, 0, 0, 0, 0, 0](close) UptrendWeekly = myTrend3 <> myExpansion3 // fin du mode weekly // passage en daily Timeframe(daily) // conditions sur les dates DateDebut = 20110101 DateFin = 20201231 // Traitement de ExtraTrend myTrendDaily, myLowSignalDaily, myExpansionDaily, myResDynDaily, ignored = Call "ExtraTrend"[0, 1, 0, 0, 0, 0](close) CrossOverResDynDaily = (myResDynDaily[1] <> myTrendDaily[1]) and (myResdynDaily = myTrendDaily) UpTrendDaily = myTrendDaily <> myExpansionDaily // Condition sur les Dates CondDate = (Date >= DateDebut) and (Date < DateFin) // conditions sur les dates DateDebut = 20110101 DateFin = 20201231 CondDate = (Date >= DateDebut) and (Date < DateFin) // Condition sur les volumes de Trade moyvolTradeCT = average[5](volume)*average[5](close) CondVolTrade = moyvolTradeCT >= 100000 // Canal supérieur de Donchian et condition pour détecter un canal Croissant once CondDonchian = 0 DonchianSup = Highest[270](close[1]) if DonchianSup > DonchianSup[1] and CondDonchian = 0 then CondDonchian = 1 endif If DonchianSup < DonchianSup[1] and CondDonchian = 1 then ConDonchian = 0 endif // Fin de Canal supérieur de Donchian et condition pour détecter un canal Croissant // Condition sur les Moyennes Mobiles once CondMM = 0 if Average[200](close) crosses over Average[400](Close) and CondMM = 0 then CondMM = 1 Endif if Average[200](close) crosses under Average[400](Close) and CondMM = 1 then CondMM = 0 Endif // Condition en dehors de la bande d'attraction once CondBandeAttraction = 0 if Close > Average[200](Close) + 5*AverageTrueRange[200](close) then CondBandeAttraction = 1 else CondBandeAttraction = 0 endif // Calcul du taux de pente et Condtion sur le Taux de pente MM200 = Average[200](Close) MM200Old = MM200[20] Pente = (MM200 -MM200old)/MM200/20*100 once CondPente = 0 if Pente >= SeuilPente then CondPente = 1 else CondPente = 0 endif // Condition sur le dernier Trade // Condition depuis la dernière sortie CondLastTrade = 1 For j = 1 to DurMinEntreTrade if LongonMarket[j] then CondLastTrade = 0 endif next // fin de la boucle For // Definition du StoplossIni if Not Onmarket then Stoplossini = Close - 4*AverageTRueRange[20](Close) RiskIni = 4*AverageTrueRange[20](Close) if StopLossIni > Close*0.95 then StopLossIni = Close*0.95 RiskIni = Close*0.05 Endif endif // Définition de la taille de position if not Onmarket then TaillePos = 600/(Close -StopLossIni) TaillePos = Round(TaillePos-0.5) TaillePos = TaillePos - (TaillePos MOD 2) Endif if not Onmarket then CondProfit2R = 0 Endif // Evolution dur le StopLoss // Dérinition des conditions d'achat CondAch = CondDate CondAch = CondAch and CondVolTrade CondAch = CondAch and CondDonchian CondAch = CondAch and CondMM CondAch = CondAch and CondBandeAttraction CondAch = CondAch and CondPente CondAch = CondAch and CondLastTrade CondAch = CondAch and UptrendMonthly[1] CondAch = CondAch and UptrendWeekly[1] CondAch = CondAch and UptrendDaily // Reconnaissance de la prise de position if OnMarket and not Onmarket[1] then Entryprice = Open Stoploss = Entryprice - RiskIni endif // Evolution du StopLoss en fonction du profit // Sortie sur Stoploss if onMarket then sell at Stoploss Stop endif // Sortie sur perte de pente if onMarket and not CondPente then Sell at market endif if onMarket and Date > 20210630 then sell at Market endif // Achat if not Onmarket and CondAch then buy TaillePos shares at Market Stoploss = Stoplossini endif