La estrategia de negociación del día de ruptura de Londres está diseñada para el comercio intradiario de divisas, aprovechando la acción del precio de la sesión de Londres con una lógica de ruptura simple.
Las operaciones se realizan únicamente durante las horas de sesión de Londres en días laborables, por ejemplo, 0400-0500 GMT.
Determine la tendencia a corto plazo: vaya largo en 3 velas ascendentes consecutivas, vaya corto en 3 velas descendentes consecutivas.
Signo largo: ingrese largo cuando vea 3 velas arriba en una fila.
Señales de cortocircuito: entrar en cortocircuito cuando se ven 3 velas caídas seguidas.
Stop loss/take profit: fijar el stop loss y el take profit a un cierto porcentaje del precio de entrada.
Reglas de salida: salida en el momento en que se activa el stop loss/take profit, o en el final de la sesión de Londres.
La estrategia utiliza puramente señales de ruptura simples para capturar tendencias a corto plazo, con una estricta gestión del riesgo para controlar el riesgo/recompensa por operación.
Las operaciones se realizan únicamente durante las horas de actividad de Londres
Lógica de ruptura de precios sencilla para las señales
Los riesgos de control estricto de pérdidas/beneficios
Evita las sesiones nocturnas y festivas de baja liquidez
Normas claras de entrada y salida
Problemas potenciales de entrada prematura o tardía
Los riesgos de quedar atrapados
Oportunidades pueden surgir durante las noches/vacaciones
Los niveles clave de soporte/resistencia necesitan atención
La estrategia de negociación del día de ruptura de Londres se adapta muy bien al comercio intradiario a corto plazo, evitando períodos caóticos y saliendo con ganancias durante la alta liquidez.
/*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)