Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 668

 
Leo59:
E como, na minha pergunta, pode o OnTimer() ser aplicado ?

Bem, não sei o que vai contar antes da abertura do mercado)

Por exemplo, como este:

// В Init ставим флаг connection=false;

void OnTimer() {
// Обрабатываем информацию независимо от работы рынка в функции DataProcessing
DataProcessing();

if(TimeCurrent()>starttime) { // если рынок работает
   connection=true; // ставим флаг в положение "true"
   ...             // или сразу обрабатываем весь остальной код, в основном - торгвый
  }
}

void DataProcessing() {
// что-то делаем по таймеру
}

if(connection==true) { // или здесь торговые операции и остальной код, чтоб не в таймере
  ...
}

 
Vitaly Muzichenko:

Bem, não me cabe a mim saber o que estarão a contar antes da abertura do mercado)


Obrigado Vitaly pelas suas tentativas sinceras de ajudar!!!!
Aparentemente, a questão precisa de "assentar". Posso ter de mudar a lógica da arquitectura do código. "É sempre melhor pela manhã".
Mais uma vez, muito obrigado !!!!
 
Leo59:
Obrigado Vitaly pelas suas tentativas sinceras de ajudar!!!!
Aparentemente, a questão precisa de "assentar". Posso ter de mudar a lógica da arquitectura do código. "É sempre melhor pela manhã".
OBRIGADO MUITO OBRIGADO novamente !!!!

Tente desta forma, agora será "0" - Domingo

TimeDayOfWeekTimeGMT() )
 
Leo59:
Artyom, a questão era sobre como definir o dia de folga programática sem recorrer ao TimeLocal(). ))

Visto, ouvido, lido ;)

Mas disse que precisava de calcular tudo primeiro, e depois "sair para o mundo". E perguntou como é que um temporizador ajudaria com isso - por isso foi isso que a sua pergunta sugeriu, não sobre a definição de um dia de folga.

 
Vitaly Muzichenko:

Tente desta forma, agora será "0" - Domingo

TimeDayOfWeekTimeGMT() )

Certo!!! Devolve "0". OBRIGADO!!!!

E eu tenho procurado ver o que posso obter de volta

Códigos de retorno do servidor comercial


Código

Constante

Descrição


132

ERR_MARKET_CLOSED

O mercado está fechado

 
O que mais, para além da OrderSend(), devolve erro 132 - mercado fechado?
 
Leo59:
Que mais será que além de OrderSend() devolve erro 132 - o mercado está fechado?
nada, apenas fazer uma operação comercial
 
Vitaly Muzichenko:
nada, apenas fazer uma transacção comercial
)) Em princípio, isso é suficiente!!!!
OBRIGADO!!!!
 
Leo59:
)) Em princípio, isso é suficiente!!!!
OBRIGADO!!!!
Veja aqui, há uma solução primitiva no fim do fio.
 
Vitaly Muzichenko:
Veja aqui, no fim do ramo existe uma solução primitiva.
É estranho, os criadores devem ter estragado alguma coisa. Qual é a diferença entre as funções que não o nome?


Permite-lhe obter a hora de início e a hora de fim da sessão de cotação especificada para o símbolo e dia da semana especificados.

bool  SymbolInfoSessionQuote(
   string            name,                // имя символа
   ENUM_DAY_OF_WEEK  day_of_week,         // день недели
   uint              session_index,       // номер сессии
   datetime&         from,                // время начала сессии
   datetime&         to                   // время окончания сессии
   );

Se os dados forem recebidos para a sessão, símbolo e dia da semana especificados, devolve verdadeiros, caso contrário devolve falsos.

и

Permite-lhe obter a hora de início e fim da sessão de negociação especificada para o símbolo e dia da semana especificados.

bool  SymbolInfoSessionTrade(
   string            name,                // имя символа
   ENUM_DAY_OF_WEEK  day_of_week,         // день недели
   uint              session_index,       // номер сессии
   datetime&         from,                // время начала сессии
   datetime&         to                   // время окончания сессии
   );

Se os dados forem recebidos para a sessão, símbolo e dia da semana especificados, devolve verdadeiros, caso contrário devolve falsos.