No puedo averiguar en qué estrategia se basa el algoritmo, los parámetros de entrada son sólo las condiciones de negociación...?
No puedo averiguar en qué estrategia se basa el algoritmo, los parámetros de entrada son sólo las condiciones de negociación ...?
La estrategia en sí está escrito en estas líneas:
//--- puede ser una buena idea evitar también los días NFP, primer jueves de cualquier mes. if((!session_found) && (str1.hour==Start_hour_US_session)) { //--- la primera vez, calcula los máximos y mínimos de la sesión de la UE. TopRange=iHighest(m_symbol.Name(),Period(),MODE_HIGH,24,1); // 24 barras M15 durante la sesión de la UE LowRange=iLowest(m_symbol.Name(),Period(),MODE_LOW,24,1); // 24 barras M15 durante la sesión de la UE //--- if(TopRange<=0.0 || LowRange<=0.0) return; //--- if((TopRange-LowRange)<=ExtSmallEUSessionPips) small_session=true; else small_session=false; session_found=true; string text=(small_session)?"true":"false"; Print("Identified new EU session + ["+ DoubleToString(LowRange,m_symbol.Digits())+","+ DoubleToString(TopRange,m_symbol.Digits())+"]"+ " DayOfYear()="+IntegerToString(str1.day_of_year)+" small? "+text); }
Tenemos un parámetro de entrada"Start_hour_US_session" - tan pronto como encontramos una correspondencia de la hora actual (comparamos sólo horas) con este parámetro, empezamos a buscar el valor más alto de los precios máximos para el período de 24 barras y el valor más bajo de los precios mínimos para el período de 24 barras. Si la diferencia de estos precios es menor o igual que el parámetro de entrada"Sesión UE pequeña (en pips)", significa que se ha detectado una"sesión pequeña " (en pips). - entonces se ha detectado una "sesión pequeña" (con volatilidad pequeña) -"small_session".
Cuando estamos dentro de la "sesión USA" y se detecta una "sesión pequeña" (con volatilidad pequeña) - "small_session"
if(session_found && small_session && (str1.hour>=Start_hour_US_session) && (str1.hour<End_hour_US_session)) // ¿Dentro del horario de sesión en EE.UU.? { //--- Calcular el intervalo de sesiones de la UE //--- Print("Estoy en US session.... sesión_pequeña, comprado, vendido = " + sesión_pequeña+comprado+vendido); //--- Print("RangoAlto = " + RangoAlto + "RangoBajo = " + RangoBajo); int h=str1.hour; int m=str1.min; if(h>Start_hour_EU_session+5 && h<Start_hour_EU_session+10) {//--- debe completarse al menos una barra de sesión en EE.UU. //--- Print("Podría estar comprando/vendiendo... "+h+": "+m); double low=iLow(1); double high=iHigh(1); //--- if(low==0.0 || high==0.0) return; //--- if(!RefreshRates()) return; if((!bought) && (low>(TopRange+Point()*3))) { if(OpenBuy(m_symbol.Bid()-ExtStopLoss,m_symbol.Ask()+ExtTakeProfit)) bought=true; } if((!sold) && (high<(LowRange-Point()*3))) { if(OpenSell(m_symbol.Ask()+ExtStopLoss,m_symbol.Bid()-ExtTakeProfit)) sold=true; } } // fin si en 2ª hora US. }// fin si sesión pequeña
esperamos a estar dentro de la "sesión EU" y obtenemos los valores Low y High de la primera barra.
Condición para abrir COMPRA: si no se ha abierto ninguna posición de COMPRA en este día y el Mínimo de la barra número 1 es MAYOR que el valor más alto de los precios máximos para el periodo de 24 barras en la "US_session":
if((!bought) && (low>(TopRange+Point()*3))) { if(OpenBuy(m_symbol.Bid()-ExtStopLoss,m_symbol.Ask()+ExtTakeProfit)) bought=true; }
Condición para la apertura de VENTA: si aún no se ha abierto ninguna posición de VENTA en este día y el Máximo de la barra número 1 es MENOR que el valor más bajo de los precios mínimos para el período de 24 barras en la "US_session":
if((!sold) && (high<(LowRange-Point()*3))) { if(OpenSell(m_symbol.Ask()+ExtStopLoss,m_symbol.Bid()-ExtTakeProfit)) sold=true; }
ds
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
EURUSD breakout:
Comercio según dos sesiones comerciales con ajuste del inicio de las sesiones. Stop Loss. Take Profit.
Autor: Vladimir Karputov