Consultor Multimoedas. De preferência, a opinião dos desenvolvedores.

 
Existe um EA em várias moedas. Em poucas palavras, a questão é esta. Todos os cálculos são realizados para um símbolo, enquanto que a negociação é realizada para outro símbolo. O Expert Advisor trabalha com o controle explícito da abertura de um novo bar. Desta forma, a próxima coisa desagradável acontece. O Consultor Especialista pode não abrir (pular) uma negociação em uma conta real, mas quando verificado no Testador de Estratégia, esta negociação está presente. Ou, o Conselheiro Especialista pode abrir um verdadeiro comércio um bar mais tarde do que o necessário, mas, novamente, quando verificado no Testador de Estratégia, o comércio está lá. A que pode estar relacionado?
 
LeoV:
Existe um EA em várias moedas. A breve idéia é a seguinte. Para um símbolo são feitos todos os cálculos e a negociação é feita para outro símbolo. O Expert Advisor trabalha com o controle explícito da abertura de um novo bar. Desta forma, a próxima coisa desagradável acontece. O Consultor Especialista pode não abrir (pular) uma negociação em uma conta real, mas quando verificado no Testador de Estratégia, esta negociação está presente. Ou, o Conselheiro Especialista pode abrir um verdadeiro comércio um bar mais tarde do que o necessário, mas, novamente, quando verificado no Testador de Estratégia, o comércio está lá. A que pode estar relacionado?

Uma posição pode não abrir se novas citações chegarem e você abrir com as antigas...

 
kharko:

Uma posição pode não abrir se novas citações chegarem e você abrir com as antigas...

Entendo o que você quer dizer, mas a EA lida com esta situação. Só de olhar para o tronco, não há sinal algum. Isso significa que a EA não se ativou (não dá solicitação de posição aberta). Ou funcionou apenas no bar seguinte. E isto nem sempre acontece. Mas só às vezes. E o que está relacionado a ele não está claro em absoluto...... Embora no testador - tudo está bem e tudo está aberto e fechado corretamente

 
em que quadro a EA analisa ou comercializa? O iBarShift() é usado, com que bandeira, ou não é usado de todo?
 
LeoV:
Existe uma EA em várias moedas. Em resumo, o significado é o seguinte. Todos os cálculos são realizados para um símbolo, enquanto que a negociação é realizada para outro símbolo. O Expert Advisor trabalha com o controle explícito da abertura de um novo bar. Desta forma, a próxima coisa desagradável acontece. O Consultor Especialista pode não abrir (pular) uma negociação em uma conta real, mas quando verificado no Testador de Estratégia, esta negociação está presente. Ou, o Conselheiro Especialista pode abrir um verdadeiro comércio um bar mais tarde do que o necessário, mas, novamente, quando verificado no Testador de Estratégia, o comércio está lá. A que pode estar relacionado?

Experimente a impressão...

Imprimir(.



antes do sinal, depois do sinal, na abertura, depois da abertura

imprimir condições explícitas

como



// Print( " esperar por MyOPEN == 1 " + MyOPEN );


se ( MyOPEN == 1 )

{

Imprimir( " inserido por MyOPEN == 1 " );
.


...


}



---

Ah, e mais sobre a abertura de novos BARs!!!

Note que há barras puladas! E o Testador não gera barras perdidas

não procure apenas um bar, procure apenas um novo bar

---

agora mesmo, em meu tempo real

no gráfico EURUSD M5 desde o início do dia 140 barras formadas, mas no CHF 137 barras, ou seja, 3 barras perdidas :-)

se você simplesmente procurar a barra correspondente ao EUR no CHF, você pode perder uma barra

---


e depois há solicitações



Se você tinha um SINAL e não pode perdê-lo, basta usar a condição para entrar ou sair do mercado!

e verifique se seu sinal está FILLED!

e até que seja feito - correr o código para executar - para não entrar em um loop, fazer um contador

depois de sair do balcão - verifique se você precisa entrar - sair

e se for preciso entrar - executar novamente



----

além disso, código comercial

Além disso, este código não pode ser simples!


( existe um código que é responsável pelo trabalho mecânico - abertura da rede de arrasto fechamento sem perdas, ou seja, trabalho com pedidos após recepção de sinais )

 
LeoV:
Há um Expert Advisor com várias moedas. A breve idéia é a seguinte. Todos os cálculos são realizados para um símbolo enquanto a negociação é realizada para outro símbolo. O Expert Advisor trabalha com o controle explícito da abertura de um novo bar. Desta forma, a próxima coisa desagradável acontece. O Consultor Especialista pode não abrir (pular) uma negociação em uma conta real, mas quando verificado no Testador de Estratégia, esta negociação está presente. Ou, o Conselheiro Especialista pode abrir um verdadeiro comércio um bar mais tarde do que o necessário, mas, novamente, quando verificado no Testador de Estratégia, o comércio está lá. A que pode estar relacionado?

Estes são chamados de requotes. No testador, os ofícios não são requesitos. Portanto, se o ingresso do comércio aberto for negativo, devemos reiniciar a bandeira do bar formado.




tempo int int estático = 0; // Tempo de início da barra



...


int start() {


se (Time[0] == pré-viagem) retornar(0); // barra é a mesma, portanto saia

prevtime = Tempo[0]; // barra fresca, manter o tempo


...


int ticket = -1;


...


bilhete = OrderSend(...); // tentar abrir posição

se (bilhete < 0) { // posição não foi aberta por algum motivo.

Sleep(30000);

// Aqui reiniciamos a bandeira da barra formada, para que repitamos a operação no próximo tick, não na próxima barra

prevtime = Tempo[1];

}


}

 

A EA trabalha em bares de hora em hora. Não se trata de solicitações - a EA monitora isso e enviará uma nova solicitação, se necessário. Escrevi sobre o fato de que a EA não aciona nem mesmo para que ela pelo menos tente começar a abrir um pedido. Ou seja, 2-3 ordens, abre bem (como deve ser), e a quarta (ou terceira) pode nem mesmo começar a abri-la ou abrir uma hora depois. Embora, se você verificar este momento no testador, esta ordem estará no lugar certo.

A questão, como eu entendo, é que os carrapatos para os instrumentos não vêm de maneira uniforme. E o tique para abrir uma nova barra para o símbolo no qual o cálculo é feito pode vir muito mais tarde do que para o símbolo no qual nós negociamos. Ou vice versa. E aqui pode ocorrer uma discrepância. Mas como isso pode ser evitado?

 
Seu consultor especializado assume que as velas de hora em diferentes instrumentos se abrem de forma síncrona. Em outras palavras, quando um novo castiçal horário aparece no EURUSD, inicia-se o Expert Advisor, que verifica os valores no intervalo de tempo horário do GBPUSD. Mas se, naquele momento, a nova hora no canil ainda não começou - tudo vai em farrapos. Em geral, precisamos reordenar um pouco a lógica da EA.
 
Rosh:
Seu consultor especializado implica que velas de uma hora em diferentes símbolos se abrem de forma síncrona. Ou seja, quando um novo castiçal de 1 hora aparece no EURUSD, o Consultor Especialista começará a verificar os valores no intervalo de tempo horário do GBPUSD. Mas se, naquele momento, a nova hora no canil ainda não começou - tudo vai em farrapos. Em geral, precisamos reordenar um pouco a lógica da EA.

Obrigado pela resposta, pensei que fosse essa a razão. Por favor, você pode me dizer como? Porque este é um grande problema. Aqui está uma captura de tela, a partir da real. Podemos ver que no Testador de Estratégia a pose foi aberta às 15h00 e na conta real foi aberta apenas às 16h00. Embora tenhamos os mesmos parâmetros no Testador de Estratégia e na conta real.

 
LeoV:

A EA trabalha em bares de hora em hora. Não se trata de solicitações - a EA monitora isso e enviará uma nova solicitação, se necessário. Escrevi sobre o fato de que a EA não aciona nem mesmo para que ela pelo menos tente começar a abrir um pedido. Ou seja, 2-3 ordens, abre bem (como deve ser), e a quarta (ou terceira) pode nem mesmo começar a abri-la ou abrir uma hora mais tarde. Embora, se você verificar este momento no testador, esta ordem estará no lugar certo.

A questão, como eu entendo, é que os carrapatos para os instrumentos não vêm de maneira uniforme. E o tique para abrir uma nova barra para o símbolo no qual o cálculo é feito pode vir muito mais tarde do que para o símbolo no qual nós trocamos. Ou vice versa. E aqui pode ocorrer uma discrepância. Mas como evitá-lo?

Considere que um novo tique de qualquer barra de hora (para qualquer instrumento) é o início da hora

---

corrigir a lógica nesta veia...

assim que a barra horária abrir em qualquer instrumento

recalcular o outro instrumento, assumindo que a barra já tenha fechado, mesmo que não tenha formado uma nova barra

porque dentro de alguns carrapatos ou alguns segundos ele aparecerá lá


---

digamos que você conte 2 ou 3 instrumentos

você pode pegar o início da hora em pelo menos 20 símbolos - de preferência os instrumentos em iene, pois são muito rápidos



 
// ---  практически гарантия ловли начала часа двумя БОДРЫМИ парами
   if ( TimeSaveBehchH1 == iTime("GBJJPY",PERIOD_H1,0) )
   {
       TimeSaveBehchH1 = iTime("GBJJPY",PERIOD_H1,0); // новый бар  
   }
   if ( TimeSaveBehchH1 == iTime("USDJPY",PERIOD_H1,0) )
   {
       TimeSaveBehchH1 = iTime("USDJPY",PERIOD_H1,0); // новый бар  
   }
//---
   if ( TimeSaveBehchH1 == iTime("EURUSD",PERIOD_H1,0) ) // в довершении ловим на своей рабоче паре
   {
       TimeSaveBehchH1 = iTime("EURUSD",PERIOD_H1,0); // новый бар  
   }
   if ( TimeSaveBehchH1 == iTime("USDCHF",PERIOD_H1,0) ) // ловим на второй паре 
   {
       TimeSaveBehchH1 = iTime("USDCHF",PERIOD_H1,0); // новый бар 
   }


para ser honesto e isso não é muito agradável ... o carrapato não chegou a estes pares e você passará de novo

se você mostrar um código que gera uma entrada - você pode ser capaz de encontrar o erro na lógica mais rapidamente

 
LeoV:
Rosh:
Seu consultor especializado assume que os castiçais de hora em diferentes símbolos se abrem de forma síncrona. Ou seja, quando um novo castiçal de 1 hora aparece no EURUSD, o Consultor Especialista começará a verificar os valores no intervalo de tempo horário do GBPUSD. Mas se, naquele momento, a nova hora no canil ainda não começou - tudo vai em farrapos. Em geral, precisamos reordenar um pouco a lógica da EA.

Obrigado pela resposta, pensei que fosse essa a razão. Por favor, você pode me dizer como? Porque este é um grande problema. Aqui está uma captura de tela, a partir da real. Podemos ver que no Testador de Estratégia a pose foi aberta às 15h00 e na conta real foi aberta apenas às 16h00. Embora no testador e nos parâmetros reais sejam os mesmos.

...

Para o símbolo comercializado, a marca da nova barra veio mais cedo, por isso as barras antigas do símbolo analisado participaram da análise, o início funcionou e está esperando a próxima hora. É divertido adivinhar sem ver um pedaço de código.

Razão: