Problema com a validação da EA no mercado - página 3

 
Vladimir Zubov:
Se eu correr com 1$, haverá um erro de 134 no testador ?
Ao executar o EA no testador com TP de 1$ não há erro. Eu o executei há meia hora))
 
Marat Sultanov:

OK, você escreve que tem que fazer acordos de qualquer maneira.

Isso não faz sentido para mim. Qual é o objetivo disso?

Vamos supor que o sistema de negociação é baseado em padrões para o par de moedas EURUSD, não importa quais e em que quantidade. O importante é que estes padrões são freqüentemente repetidos durante a história somente pelo EURUSD. A probabilidade de encontrarmos um instrumento comercial no qual estes padrões não possam existir é muito alta (especialmente se começarmos a selecionar TFs, mas não sei se o robô o faz).

O autômato funciona em todos os instrumentos comerciais aleatórios (possivelmente + em TFs aleatórios) e, como resultado, encontra aqueles em que não há negócios, já que não foram detectados padrões.

Não há nenhuma restrição explícita ao comércio de instrumentos comerciais.

Há apenas uma peculiaridade do sistema comercial.

Então, temos que escrever um sistema comercial esquerdo não relacionado com o sistema comercial da EA apenas para passar o Controle de Mercado?

Isso é estranho para mim, pelo menos...

Não sei, são os requisitos para publicação no mercado.
 
Vladimir Zubov:
Não sei, tais são os requisitos para publicação no mercado.

Obrigado por sua resposta.

Agora sei que não sou o único que não o entende :)

 
Александр:
Nenhum erro ao executar a EA no testador com um TP de $1. Eu o executei há meia hora))
Não TP=1 neste caso, mas não há fundos suficientes na conta. Será que ele dará erro 134 ou não? Depósito mínimo e lote máximo, como se comportará a EA ?
 
Após o erro, não há algo como um registro no mercado para ver onde e o que é o erro?
 
Александр:
Após o erro não há algo como um log no mercado para ver onde e o que é o erro?

Você mesmo postou o relatório (log) com erros, e está claramente indicado que não há negócios. Adicione uma dúzia de linhas ao código, para que ele faça negócios em todos os lugares, exceto para o par necessário, para o qual o Expert Advisor está escrito. Pode ser tão simples quanto isso, abrindo todas as terças-feiras, com uma parada e lucro de 20 pontos. Tudo

A adição: Em geral, qualquer padrão pode ser encontrado em qualquer símbolo e cronograma, não há nenhum que esteja apenas no euro/dólar, ou no iene/franco

 
Vitaly Muzichenko:
Você mesmo postou o relatório (log) com erros, e está claramente indicado que não há negócios. Adicione uma dúzia de linhas ao código, para que ele faça negócios em todos os lugares, exceto para o par necessário, para o qual o Expert Advisor está escrito. Pode ser tão simples quanto isso, abrindo todas as terças-feiras, com uma parada e lucro de 20 pontos. O todo
E depois? Eu vou enganar o mercado e depois cortar o código da coruja. Quão fácil é escrever uma coruja com 10 linhas, passar a validação e depois colocar todo tipo de bots canhotos nela? Preciso validar com código limpo de uma EA.... 100% funcional
 
Александр:
Qual é o próximo passo? Vou enganar o mercado, e depois vou cortar o código da coruja. Como você acha que é fácil escrever uma coruja com 10 linhas para ser validada e depois colocar nela todo tipo de robôs canhotos? Preciso passar a validação com um código limpo 100% funcional EA....
Não há necessidade de trapacear, colocar o código já está limpo sem "bugs". Além disso, na descrição e assim escrever: "Bot somente para o par XXXYYYY, parâmetros mais ou menos, funciona na intersecção de MA e RSI".
 
Vladimir Zubov:

É necessário proteger contra qualquer possível valor incorreto do usuário, por exemplo, um lote negativo ou saldo MM = 0, todas as possíveis nuances devem ser levadas em conta.

Eu faço todas as verificações possíveis contra a estupidez)

// если поставили лот меньше или больше возможного
double MinL = MarketInfo(Symbol(),MODE_MINLOT);
if (LotSize < MinL) LotSize = MinL; else LotSize = MathAbs(LotSize);
double MaxL = MarketInfo(Symbol(),MODE_MAXLOT);
if (LotSize > MaxL) LotSize = MaxL; else LotSize = MathAbs(LotSize);
// если поставили баланс равный нулю или отрицательный
if (Balance == 0) Balance = 1000; else Balance = MathAbs(Balance);
// если поставили отрицательные значения
if (StopLoss < 0) StopLoss = MathAbs(StopLoss); else StopLoss = StopLoss;
if (TakeProfit < 0) TakeProfit = MathAbs(TakeProfit); else TakeProfit = TakeProfit;
if (StartHour < 0) StartHour = MathAbs(StartHour); else StartHour = StartHour;
if (StartMinute < 0) StartMinute = MathAbs(StartMinute); else StartMinute = StartMinute;
if (EndHour < 0) EndHour = MathAbs(EndHour); else EndHour = EndHour;
if (EndMinute < 0) EndMinute = MathAbs(EndMinute); else EndMinute = EndMinute;
if (FridayExit < 0) FridayExit = MathAbs(FridayExit); else FridayExit = FridayExit;
if (MaxSpread < 0) MaxSpread = MathAbs(MaxSpread); else MaxSpread = MaxSpread;
if (Slippage < 0) Slippage = MathAbs(Slippage); else Slippage = Slippage;


Obrigado, vou verificar estes pontos. Será que o sistema no mercado pode não colocar os valores corretos? p.s. obrigado antecipadamente por sua ajuda))))
 
Александр:
Obrigado, vou verificar estes pontos. Então o sistema no mercado pode não estar definindo os valores corretos? p.s. obrigado antecipadamente por sua ajuda))))
Em teoria, ele pode, lá emular uma situação especial de emergência, no tipo de TP = SL = 1pp ou seja, e pode colocar o saldo = 0 ou valores negativos do lote)
Razão: