Diga-me, existe alguma função que possa enviar uma posição para trabalho adicional (modificação) usando , ulong deal; // Ticket deal, se for feito pelo bilhete do negócio, lembrado anteriormente? Provavelmente, uma tal selecção exigiria algum algoritmo complexo - como a mão esquerda para escovar a orelha direita?
Dimka-novitsek: Diga-me, existe alguma função que possa enviar uma posição para trabalho adicional (modificação) usando , ulong deal; // Ticket deal, se for feito pelo bilhete do negócio, lembrado anteriormente? Provavelmente, esta escolha exigirá algum algoritmo complexo, como a mão esquerda a escovar a orelha direita?
Cada comércio tem um identificador de posição. Utilizando este identificador, tentaremos pesquisar a posição em si.
Boa noite a todos! Vejo que as pessoas neste ramo estão interessadas. Sobre o campeonato...
Ainda não verifiquei os meus dados enviados da informação fechada para o campeonato, embora o perito - verificado!
Quando serão verificados?
Se o robô for verificado sem erros, não há necessidade de se preocupar. Tanto quanto sei, o perito é verificado automaticamente, mas os dados pessoais são verificados manualmente.
Boa noite a todos! Vejo que as pessoas neste ramo estão interessadas. Sobre o campeonato...
Ainda não verifiquei os meus dados enviados da informação fechada para o campeonato, embora o perito - verificado!
Quando serão verificados?
Foi aconselhado noutro local: se houver alguma dúvida, um concorrente registado pode facilmente escrever sobre o seu problema na secção "Discussão" da sua página do campeonato. A mensagem chegará ao destinatário muito mais rapidamente do que através do fórum.
Há um pedaço de código do artigo que define o início de uma nova barra.
staticdatetime Old_Time;
datetime New_Time[1];
bool IsNewBar=false;
// копируем время текущего бара в элемент New_Time[0]int copied=CopyTime(_Symbol,_Period,0,1,New_Time);
if(copied>0) // ok, успешно скопировано
{
if(Old_Time!=New_Time[0]) // если старое время не равно
{
IsNewBar=true; // новый барif(MQL5InfoInteger(MQL5_DEBUGGING))
Print("Новый бар",New_Time[0],"старый бар",Old_Time);
Old_Time=New_Time[0]; // сохраняем время бара
}
}
else
{
Alert("Ошибка копирования времени, номер ошибки =",GetLastError());
ResetLastError();
return;
}
//--- советник должен проверять условия совершения новой торговой операции только при новом бареif(IsNewBar==false)
{
return;
}
Tudo funciona bem. Mas quero incluir o cálculo de diferentes estatísticas pesadas no último "se". Quero ter cálculos mínimos no momento de um novo bar.
Eis a minha pergunta. Como este código se comportará se as estatísticas forem calculadas durante um tempo relativamente longo (digamos, 2 segundos) e se o intervalo entre as carraças da antiga e da nova barra for mínimo.
Tanto quanto sei, enquanto afunção OnTick() está a calcular carraças será ignorada, mas a próxima carraça será nova para a EA, embora não seja a primeira na barra.
St.Vitaliy: Como este código se comportará, se as estatísticas forem lidas durante um período de tempo relativamente longo (digamos 2 segundos)
Se a função OnTick() for executada durante 2 segundos, então todas as citações que vierem durante este período serão ignoradas pelo Conselheiro Especialista. Este é o ponto que queria esclarecer? Uma "nova" citação para o Expert Advisor será uma citação que chega imediatamente após a função OnTick() ser executada, mesmo que esta citação não seja a "primeira citação na barra".
Yedelkin: Se a função OnTick() for executada durante 2 segundos, então todas as citações que vierem durante este intervalo de tempo serão ignoradas pela EA. É este o ponto que queria esclarecer?
Aqui, estes 2 segundos são ignorados (e os carrapatos durante este tempo), mas no terceiro carrapato, por exemplo, virá outro carrapato e o código irá percebê-lo como novo na barra?
Isto é indirectamente confirmado pelo facto de que quando eu dirijo a EA, o próximo tick é sempre o primeiro.
Se as estatísticas forem calculadas para 90 segundos, a condição para um novo tick no M1 será executada pelo menos uma vez?
St.Vitaliy: Aqui, estes 2 segundos são ignorados (e os carrapatos durante este tempo), mas no terceiro, por exemplo, virá outro carrapato e o código irá aceitá-lo como um novo carrapato na barra? Indirectamente é provado pelo facto de que, quando executo a EA, o próximo tick é sempre o primeiro. Faço uma pergunta diferente, se as estatísticas forem calculadas para 90 segundos, será que a condição para um novo tick no M1 alguma vez será cumprida?
Bem, já o terminei acima. Deixe-me repetir: a "nova" citação do Expert Advisor é uma citação que chega logo após a conclusão da próxima função OnTick(), mesmo que esta citação não seja a "primeira citação de um bar". A sua condição de um novo bar a chegar
if(Old_Time!=New_Time[0])
só será verificado após o Expert Advisor terminar o processamento da cotação que veio na barra "anterior". ...Se a função OnTick() for executada durante 90 segundos e for iniciada às 00.00.00, a "condição para um novo tick no M1 será executada em algum momento", nomeadamente depois das 00.01.30.
Diga-me, existe alguma função que possa enviar uma posição para trabalho adicional (modificação) usando , ulong deal; // Ticket deal, se for feito pelo bilhete do negócio, lembrado anteriormente? Provavelmente, esta escolha exigirá algum algoritmo complexo, como a mão esquerda a escovar a orelha direita?
Boa noite a todos! Vejo que as pessoas estão interessadas neste ramo. Sobre o campeonato...
Ainda não verifiquei os meus dados enviados da informação fechada para o campeonato, embora o perito - verificado!
Quando serão verificados?
Boa noite a todos! Vejo que as pessoas neste ramo estão interessadas. Sobre o campeonato...
Ainda não verifiquei os meus dados enviados da informação fechada para o campeonato, embora o perito - verificado!
Quando serão verificados?
Boa noite a todos! Vejo que as pessoas neste ramo estão interessadas. Sobre o campeonato...
Ainda não verifiquei os meus dados enviados da informação fechada para o campeonato, embora o perito - verificado!
Quando serão verificados?
Tenho uma pergunta a fazer.
Há um pedaço de código do artigo que define o início de uma nova barra.
Tudo funciona bem. Mas quero incluir o cálculo de diferentes estatísticas pesadas no último "se". Quero ter cálculos mínimos no momento de um novo bar.
Eis a minha pergunta. Como este código se comportará se as estatísticas forem calculadas durante um tempo relativamente longo (digamos, 2 segundos) e se o intervalo entre as carraças da antiga e da nova barra for mínimo.
Tanto quanto sei, enquanto afunção OnTick() está a calcular carraças será ignorada, mas a próxima carraça será nova para a EA, embora não seja a primeira na barra.
A verificação manual ainda não funcionou
Se a função OnTick() for executada durante 2 segundos, então todas as citações que vierem durante este intervalo de tempo serão ignoradas pela EA. É este o ponto que queria esclarecer?
Aqui, estes 2 segundos são ignorados (e os carrapatos durante este tempo), mas no terceiro carrapato, por exemplo, virá outro carrapato e o código irá percebê-lo como novo na barra?
Isto é indirectamente confirmado pelo facto de que quando eu dirijo a EA, o próximo tick é sempre o primeiro.
Se as estatísticas forem calculadas para 90 segundos, a condição para um novo tick no M1 será executada pelo menos uma vez?
Cada comércio tem um identificador de posição. Utilize este identificador para procurar a posição em si.
Bem, já o terminei acima. Deixe-me repetir: a "nova" citação do Expert Advisor é uma citação que chega logo após a conclusão da próxima função OnTick(), mesmo que esta citação não seja a "primeira citação de um bar". A sua condição de um novo bar a chegar
só será verificado após o Expert Advisor terminar o processamento da cotação que veio na barra "anterior". ...Se a função OnTick() for executada durante 90 segundos e for iniciada às 00.00.00, a "condição para um novo tick no M1 será executada em algum momento", nomeadamente depois das 00.01.30.