Não consigo descobrir em qual estratégia o algoritmo se baseia, os parâmetros de entrada são apenas condições de negociação...?
Não consigo descobrir em qual estratégia o algoritmo se baseia, os parâmetros de entrada são apenas condições de negociação...?
A estratégia em si está escrita nestas linhas:
//--- pode ser uma boa ideia evitar também os dias de NFP, a primeira quinta-feira de qualquer mês. if((!session_found) && (str1.hour==Start_hour_US_session)) { //--- pela primeira vez, calcule os máximos e mínimos da sessão da UE. TopRange=iHighest(m_symbol.Name(),Period(),MODE_HIGH,24,1); // 24 barras M15 durante a sessão da UE LowRange=iLowest(m_symbol.Name(),Period(),MODE_LOW,24,1); // 24 barras M15 durante a sessão da 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); }
Temos um parâmetro de entrada"Start_hour_US_session" - assim que encontramos uma correspondência da hora atual (comparamos apenas as horas) com esse parâmetro, começamos a procurar o valor mais alto de preços máximos para o período de 24 barras e o valor mais baixo de preços mínimos para o período de 24 barras. Se a diferença desses preços for menor ou igual ao parâmetro de entrada"Small EU Session (in pips)", isso significa que uma"sessão pequena " (em pips) foi detectada. - Então, uma "sessão pequena" (com volatilidade pequena) -"small_session" - foi detectada.
Quando estamos dentro da "sessão dos EUA" e uma "sessão pequena" (com pequena volatilidade) é detectada - "small_session"
if(session_found && small_session && (str1.hour>=Start_hour_US_session) && (str1.hour<End_hour_US_session)) // Dentro do horário da sessão nos EUA? { //--- Calcular o intervalo da sessão da UE //--- Print("Am in US session.... small_session, bought, sold = " + small_session+bought+sold); //--- Imprimir("TopRange = " + TopRange + "LowRange = " + LowRange); int h=str1.hour; int m=str1.min; if(h>Start_hour_EU_session+5 && h<Start_hour_EU_session+10) {//--- pelo menos uma barra de sessão dos EUA deve ser concluída //--- Imprimir("Poderia estar comprando/vendendo... "+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; } } // fim se estiver no segundo horário dos EUA. }// fim da sessão pequena
esperamos até estarmos dentro da "sessão da UE" e obtemos os valores mínimo e máximo da primeira barra.
Condição para abertura de COMPRA: se nenhuma posição de COMPRA tiver sido aberta nesse dia e a mínima da barra número 1 for MAIOR do que o valor mais alto dos preços máximos para o período de 24 barras na "US_session":
if((!bought) && (low>(TopRange+Point()*3))) { if(OpenBuy(m_symbol.Bid()-ExtStopLoss,m_symbol.Ask()+ExtTakeProfit)) bought=true; }
Condição para abrir VENDA: se nenhuma posição de VENDA tiver sido aberta nesse dia e a Máxima da barra número 1 for MENOR do que o valor mais baixo dos preços mínimos para o período de 24 barras em "US_session":
if((!sold) && (high<(LowRange-Point()*3))) { if(OpenSell(m_symbol.Ask()+ExtStopLoss,m_symbol.Bid()-ExtTakeProfit)) sold=true; }
ds
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
EURUSD breakout:
Negociação segundo dois sessões de negociação com configuração de seu início. Stop Loss. Take Profit.
Autor: Vladimir Karputov