La stratégie de trading de jour de rupture de Londres est conçue pour le trading intradien de forex, en capitalisant sur l'action des prix de la session de Londres avec une logique de rupture simple.
Les échanges sont effectués uniquement pendant les heures de session de Londres en semaine, par exemple 0400-0500 GMT.
Déterminez la tendance à court terme: allez long sur 3 bougies ascendantes consécutives, allez court sur 3 bougies descendantes consécutives.
Signal long: entrez long lorsque vous voyez 3 bougies en haut d'affilée.
Signal court: entrez court lorsque vous voyez 3 bougies en bas d'affilée.
Stop loss/take profit: définir un stop loss et un profit à un certain pourcentage du prix d'entrée.
Règles de sortie: sortie au moment où le stop loss/take profit déclenche ou à la fin de la session de Londres.
La stratégie utilise uniquement des signaux de rupture simples pour capturer les tendances à court terme, avec une gestion stricte des risques pour contrôler le risque/rendement par transaction.
Les opérations ne sont effectuées que pendant les heures de grande activité à Londres
Logique de rupture de prix simple pour les signaux
Résultats de l'analyse de risque
Éviter les séances de nuit et de vacances à faible liquidité
Des règles d'entrée et de sortie claires
Problèmes potentiels d'entrée prématurée ou retardée
Les risques de se retrouver pris au piège
Des opportunités peuvent survenir pendant les nuits/les vacances
Les principaux niveaux de soutien/résistance doivent être pris en compte
La stratégie de trading London breakout day est très bien adaptée au trading intraday à court terme, évitant les périodes chaotiques et sortant avec des bénéfices lors d'une liquidité élevée.
/*backtest start: 2023-09-07 00:00:00 end: 2023-09-08 09:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("time zone", overlay=true, initial_capital=1000) fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) fromYear = input(defval = 2000, title = "From Year", minval = 1970) //monday and session // To Date Inputs toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31) toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) toYear = input(defval = 2020, title = "To Year", minval = 1970) startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00) finishDate = timestamp(toYear, toMonth, toDay, 00, 00) time_cond = true s = input(title="Session", type=input.session, defval="0400-0500") s2 = input(title="eXOT", type=input.session, defval="0300-0900") t1 = time(timeframe.period, s) t2 = time(timeframe.period, s2) c2 = #0000FF //bgcolor(t1 ? c2 : na, transp=85) UseHAcandles = input(false, title="Use Heikin Ashi Candles in Algo Calculations") // // === /INPUTS === // === BASE FUNCTIONS === haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close haOpen = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open haHigh = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high haLow = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low isMon() => dayofweek(time('D')) == dayofweek.monday isTue() => dayofweek(time('D')) == dayofweek.tuesday isWed() => dayofweek(time('D')) == dayofweek.wednesday isThu() => dayofweek(time('D')) == dayofweek.thursday isFri() => dayofweek(time('D')) == dayofweek.friday isSat() => dayofweek(time('D')) == dayofweek.saturday isSun() => dayofweek(time('D')) == dayofweek.sunday longe = input(true, title="LONG only") shorte = input(true, title="SHORT only") //sl=input(0.001, title="sl % price movement") //accbalance = strategy.initial_capital + strategy.netprofit entry = close sl = input(0.005, title = "Stop Loss") tp = input(0.005, title="Target Price") // sldist = entry - sl // tgdist = tp - entry // slper = sldist / entry * 100 // tgper = tgdist / entry * 100 // rr = tgper / slper // size = accbalance * riskper / slper balance = strategy.netprofit + 50000 //current balance floating = strategy.openprofit //floating profit/loss risk = input(1,type=input.float,title="Risk % of equity ") //risk % per trade temp01 = (balance * risk)/100 //Risk in USD temp02 = temp01/close*sl //Risk in lots temp03 = temp02*100000 //Convert to contracts size = temp03 - temp03%1000 //Normalize to 1000s (Trade size) if(size < 1000) size := 1000 //Set min. lot size longC = haClose> haClose[1] and haClose[1] > haClose[2] and haClose[2] < haClose[3] shortC = haClose < haClose[1] and haClose[1] < haClose[2] and haClose[2] > haClose[3] luni = input(true, title="Monday") marti = input(true, title="Tuesday") miercuri = input(true, title="Wednesday") joi = input(true, title="Thursday") vineri = input(true, title="Friday") if(time_cond) if(t1) if(luni==true and dayofweek == dayofweek.monday) if(longC and longe ) strategy.entry("long",1) if(shortC and shorte) strategy.entry("short",0) if(marti==true and dayofweek == dayofweek.tuesday) if(longC and longe ) strategy.entry("long",1) if(shortC and shorte) strategy.entry("short",0) if(miercuri==true and dayofweek == dayofweek.wednesday) if(longC and longe ) strategy.entry("long",1) if(shortC and shorte) strategy.entry("short",0) if(joi==true and dayofweek == dayofweek.thursday) if(longC and longe) strategy.entry("long",1) if(shortC and shorte) strategy.entry("short",0) if(vineri==true and dayofweek == dayofweek.friday) if(longC and longe) strategy.entry("long",1 ) if(shortC and shorte) strategy.entry("short",0) //strategy.exit("closelong", "RSI_BB_LONG" , profit = close * 0.01 / syminfo.mintick, loss = close * 0.01 / syminfo.mintick, alert_message = "closelong") //strategy.exit("closeshort", "RSI_BB_SHORT" , profit = close * 0.01 / syminfo.mintick, loss = close * 0.01 / syminfo.mintick, alert_message = "closeshort") strategy.exit("sl","long", loss = close * sl / syminfo.mintick, profit = close * tp / syminfo.mintick) strategy.exit("sl","short", loss=close * sl / syminfo.mintick, profit = close * tp / syminfo.mintick) //strategy.close("long") //strategy.close("short" ) //strategy.exit("sl","long", loss = sl) //strategy.exit("sl","short", loss= sl) if(not t2) strategy.close_all() //strategy.risk.max_intraday_filled_orders(2)