Analógico TimeTradeServer para MT4 - página 8

 
Alexandr Gavrilin:

Bem, em uma moeda funciona em um dia de negociação, funcionará em um dia não comercial?

Se você tomar como trabalho algo que em princípio não pode funcionar, então não faz diferença se funciona em um dia de negociação ou em um fim de semana)

 
Алексей Тарабанов:

Bem, vocês homens são doadores.

Alguns homens e outros dão)))

 
Alexandr Gavrilin:

A idéia poderia certamente ajudar, eu gostaria de saber sobre o fechamento do mercado sem muitos erros. Precisamos pensar sobre isso.

É uma batalha por um erro, com dezenas de erros por dia na cópia.

 

Por que exatamente -3? Porque em um lugar é uma coincidência? Sim?

 
Dmitry Fedoseev:

Por que exatamente -3? Porque em um lugar é uma coincidência? Sim?

Se bem me lembro, os símbolos forex são cotados exatamente até a meia-noite de sexta a sábado GMT+3 no verão (+2 no inverno).

 
Alexandr Gavrilin:

OK, vou fazer uma pergunta idiota.

Como sei que é sábado no servidor do corretor? Não na sexta-feira ou no domingo, mas no sábado. Eu tento usar todos os instrumentos disponíveis e diferentes muletas como "vamos comprar o tempo e compará-lo mais tarde" - o tempo não marca quando é sábado no servidor do corretor. No entanto, no domingo o mercado pode abrir mais cedo e nenhuma configuração de sessão de negociação no corretor o ajudará a determinar isto porque o tempo não está correndo.


Se você tiver uma solução sensata, será interessante.

O tempo do corretor pode nem sempre coincidir com o tempo do gmt :-)

Agora você está pensando de forma muito restrita, nem todo mundo tem ouro para estar ligado ao seu tempo e conhecer o gmt, por exemplo, como você sugeriu. Você precisa de uma solução mais universal.

Se você precisar saber quando - então pegue qualquer coisa da TimeLocal().

Se você precisa saber que o mercado está fechado, então ---

if(IsTradeAllowed(Symbol(),TimeCurrent()+10)==false)Print("Рынок закрыт!");

Você pode usar ambos no OnTimer().

---

Exatamente o sábado não o ajudará porque, por exemplo, o rublo não é comercializado durante a noite, mas o bitcoin também é comercializado hoje.

Portanto, em vez de Symbol(), substitua o par que está sendo negociado, no caso de moedas múltiplas.

Não tente calcular o início/fim do comércio, ele é inútil

Não tente calcular a hora de início/fim da negociação, ela é inútil porque às vezes há mudanças temporárias no cronograma de negociação e funciona de forma diferente em diferentes corretoras.

----

Embora...

Como você desejar:

TimeDayOfWeek(TimeLocal())==6 é sábado

;)

 
Renat Akhtyamov:

Se você precisar saber quando - tirar alguma coisa da TimeLocal().

Se você precisa saber se o mercado está fechado, então:

if(IsTradeAllowed(Symbol(),TimeCurrent()+10)==false)Print("Рынок закрыт!");

Coloque ambos em OnTimer().

---

Exatamente o sábado não o ajudará, porque, por exemplo, o rublo não é comercializado à noite, mas o bitcoin é comercializado hoje.

Portanto, em vez de Symbol(), substitua o par que está sendo negociado, no caso de moedas múltiplas.

Não tente calcular o início/fim do comércio, ele é inútil

Há mudanças temporárias nos cronogramas comerciais e esta não é a forma como ela é estabelecida em sua corretora.

----

Embora...

Como você desejar:

TimeDayOfWeek(TimeLocal())==6 é sábado

;)

TimeDayOfWeek(TimeLocal())==6 é sábado.

Sim, e também na sexta-feira no corretor ... e é isso.

Todas estas soluções não são adequadas para redatores , arbitrageurs.

 
Alexandr Gavrilin:

você deve verificar a função no sábado e no domingo. Não falhará nos dias de semana.

Você já verificou?

 
fxsaber:

Você verificou?

Esqueci de verificar.

Razão: