SimpleDailyRangeBreakExpert - página 11

 

Peço a mim mesmo este "3600" valor agregado para a hora de início. Isso faz com que essa coisa de mudança de horário não fique claro para mim. Talvez o Igorad possa ajudar.

string TimeTrade = "00:00";

StartTime = StrToTime(TimeTrade) + TimeShift*3600;

if(CurTime() >= StartTime && CurTime() <= StartTime+3600)

{

if ( OrderOpenDate() < StrToTime(TimeToStr( StartTime,TIME_DATE)))

{

if( ScanTrades()>0 && !BuyInTrade && !SellInTrade) PendOrdDel();

Today = StrToTime(TimeToStr( StartTime,TIME_DATE));

if (Today != PrevDay )

{ DaysInTrade = DaysInTrade+1;

//Print(" Days=",DaysInTrade,"Today=",TimeToStr(Today,TIME_DATE),"PrevDay=", TimeToStr(PrevDay,TIME_DATE)) ;

}

if( TradePeriod > 0 )CloseOrdbyTime();

}

if(ScanTrades()<1 && Today != PrevDay )

{

spread= MarketInfo(Symbol(),MODE_SPREAD)*Point;

digit = MarketInfo(Symbol(),MODE_DIGITS);

Lotsi = MoneyManagement ( MM, Lots, MMRisk, LossMax);

//if (TrailingStop > 0) InitialStop=true;

ArrayCopyRates(rates_h1, Symbol(), PERIOD_H1);

open = rates_h1[0][1];

high=0; low=10000000;

for (i=24;i>=1;i--)

{

high = MathMax( high, rates_h1[3]);

low = MathMin( low , rates_h1[2]);

}

range =(high-low);

if ( Monday == 1 ) if(DayOfWeek()==1){BuyOrdOpen(); SellOrdOpen();}

if ( Tuesday == 1 ) if(DayOfWeek()==2){BuyOrdOpen(); SellOrdOpen();}

if ( Wednesday== 1 ) if(DayOfWeek()==3){BuyOrdOpen(); SellOrdOpen();}

if ( Thursday == 1 ) if(DayOfWeek()==4){BuyOrdOpen(); SellOrdOpen();}

if ( Friday == 1 ) if(DayOfWeek()==5){BuyOrdOpen(); SellOrdOpen();}

DaysInTrade = 0;

}

}
 

Este valor de 3600 parece ser a conversão de horas em segundos. Isso significa para mim que eu começo às 09:00 horas (gmt+0). meu problema está em outro lugar.

 

Olá Flytox,

Vou analisar este EA agora (geralmente estou tomando as declarações uma vez por dia postando algo inyeresting). Abrirei este EA com o metaEditor para ver:

- pode ser que este Ea esteja usando algum arquivo Tracert;

- ou podem ser alguns pares mencionados dentro do código como EURUSD em vez de EURUSDm para IBFX.

De qualquer forma, se você definir tempo para 9, então a EA deve fechar todas as ordens lucrativas às 9 e abrir novas ordens pendentes (às 9 também).

Vou analisar isso agora.

 

Eu fechei outras EA's na mesma conta (TPE, TS,) e SBS colocadas finalmente às 9h00 (hora do corretor). As EAs que removi estavam com números mágicos diferentes. Existe alguma incompatibilidade conhecida entre o SBS123 e outros EA?

 

Eu olhei dentro do código desta 1.23 e não vi nenhum problema: esta EA não está usando nenhum arquivo de fora e nenhum acusador. Portanto, ele deve funcionar com o IBFX.

Estou usando esta EA/ajuste (configuração padrão (veja este post). É a configuração para o corretor GMT+3. E eu tenho EURUSD e GBPUSD com TimeShift=9 (09 horas para o horário do servidor LiteForex que é GMT+3 agora), USDJPY com TimeShift=10 e USDCHF com TimeShift=7. É para GMT+3.

Se a IBFX está tendo GMT+0, então pode ser o seguinte:

EURUSD e GBPUSD com TimeShift=6 e assim por diante.

 

Olá ND,

você viu meu post anterior sobre possíveis conflitos quando outras EA's estão no mesmo MT4 (mesma conta).

 
Flytox:
Eu fechei outros EAs na mesma conta (TPE, TS,) e o SBS finalmente fez pedidos pendentes às 9:00 (horário do corretor). Os EAs que eu removi estavam com números mágicos diferentes. Existe alguma incompatibilidade conhecida entre o SBS123 e outros EA?

Incompatibilidade? Não.

Pode ser o caso quando 2 EAs querem modificar o pedido, ou fechar/abrir o pedido exatamente no mesmo tempo em munites e segundos. Mas não é o caso usual. Basicamente, é impossível usar mais de 3 EAs em uma cópia do Metatrader por causa disso (EAs podem "interromper" uns aos outros). 1 ou 2 , ou podem ser 3 EAs em uma cópia do Metatrader pode ser bom, mas também está relacionado aos prazos: por exemplo, podemos usar algum escalper em M5 junto com EA trabalhando no prazo D1 e assim por diante. Porque Metatrader como programa não pode fazer duas coisas simultâneamente: não pode modificar uma ordem e excluir a outra ordem pendente exatamente no mesmo tempo em minutos/segundos.

Quanto a esta SBS_V1.23, a EA tentará apagar uma ordem pendente e abrirá uma nova muitas vezes até que ela seja feita. O SBS_V1.21 é o mesmo: se a Metatrader não puder excluir uma ordem pendente agora, então a Metatrader tentará fazê-lo 1 minutos mais tarde, se falhar - 1 minutos mais tarde mais uma vez até que o trabalho seja feito. Portanto, eu acho que não há nenhuma Incompatibilidade.

EAs similares são SBS_v1.21 e TPE EA.

Menos arriscado é SBS_v1.21, mais arriscado é TPE e mais arriscado que TPE é SBS_v1.23 (apenas classificando de acordo com os riks para comerciantes relacionados ao tamanho do depósito inicial).

Se você usar um número mágico diferente para cada EAs, então não haverá nenhum conflito.

É claro que se você estiver testando 5 EAs em uma cópia do Metatrader, então pode ser tudo, mesmo com um número mágico diferente. 5 EAs em um Metatrader é demais.

Arquivos anexados:
sbs121.zip  18 kb
tpe12.zip  17 kb
 

Obrigado por suas respostas ND.

 

Por favor, encontre declarações atualizadas para 2 versões.

Veja este post e o arquivo excel para as declarações desde o início do período de testes https://www.mql5.com/en/forum/173383/page79

Arquivos anexados:
sbs121_1.zip  18 kb
sbs123.zip  50 kb
 

Por favor, encontre a declaração atualizada para a versão SBS 1.23.

Arquivos anexados:
sbs23.zip  35 kb
Razão: