- por exemplo - lote comercial em configurações = 0, EA não pode abrir uma negociação porque lote = 0 .
- Limitação da propagação no Expert Advisor, não abre posições.
- Não há realmente sinais de abertura de posições no período de testes.
E as verificações que só você vê, seu código não está anexado.
Exemplos aos milhares....
- por exemplo - lote comercial em configurações = 0, EA não pode abrir uma negociação porque lote = 0 .
- Limitação da propagação no Expert Advisor, não abre posições.
- Não há realmente sinais de abertura de posições no período de testes.
E as verificações que só você vê, seu código não está anexado.
Exemplos aos milhares....
- por exemplo - lote comercial em configurações = 0, EA não pode abrir uma negociação porque lote = 0 .
- Limitação da propagação no Expert Advisor, não abre posições.
- Não há realmente sinais de abertura de posições no período de testes.
E as verificações que só você vê, seu código não está anexado.
Exemplos aos milhares....
A validação do lote está lá, os sinais estão definitivamente lá - é uma rede, sem limitações de propagação...
bem, então há mais 100500 opções.
a nettler está passando tranquilamente o teste de mercado.
bem, então há mais 100500 opções.
a nettler está passando tranquilamente o teste de mercado.
Alguém pode explicar por que o mercado retorna este erro? Todos os cheques na EA estão no lugar...
Entendo a essência, é claro - sem negócios, mas por que razão?
É tão difícil usar a busca no site e criar uma cópia da filial 100500!
https://www.mql5.com/ru/search#!keyword=no%20trading%20operations&method=2&module=mql5_module_forum
- www.mql5.com
Só quero discutir o código:
double CheckVolumeValue(double volume) { double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN); if(volume<min_volume) { Print("Volume is less than the minimum"); return(min_volume); } double max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX); if(volume>max_volume) { Print("Volume is greater than the maximum"); return(max_volume); } double volume_step=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP); int ratio=(int)MathRound(volume/volume_step); if(MathAbs(ratio*volume_step-volume)>0.0000001) { Print("Wrong lot size"); return(min_volume); } if(volume<MarketInfo(Symbol(),MODE_MINLOT)) { Print("Trade stop invalid lot size"); Comment("Trade stop invalid lot size"); return(MarketInfo(Symbol(),MODE_MINLOT)); } return(volume); }
Eu afinei o cheque padrão para devolver o lote correto em vez de um erro.
Aqui chamamos esta função:
if(!OrderSend(Symbol(),cmd,CheckVolumeValue(Lot),NormalizeDouble(priceStep,Digits()),Slippage,0,0,"",magic,0))
Em meu testador e em minha conta real, este robô funciona bem! Mesmo quando um lote incorreto é inserido, ele ainda retorna o correto e trabalha mais...
E você sabe de onde vem o erro 4051! Isto é em geral...!
Só quero discutir o código:
Eu afinei o cheque padrão para devolver o lote correto em vez de um erro.
Aqui chamamos esta função:
Em meu testador e em minha conta real, este robô funciona bem! Mesmo quando um lote incorreto é inserido, ele ainda retorna o correto e trabalha mais...
E você sabe de onde vem o erro 4051! Isto é em geral...!
Só quero discutir o código:
Eu afinei o cheque padrão para devolver o lote correto em vez de um erro.
Aqui chamamos esta função:
Em meu testador e em minha conta real, este robô funciona bem! Mesmo quando um lote incorreto é inserido, ele ainda retorna o correto e trabalha mais...
E você sabe de onde vem o erro 4051! Isto é em geral...!
double CheckVolumeValue(double volume) { double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN); if(volume<min_volume) { Print("Volume is less than the minimum"); return(min_volume); } double max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX); if(volume>max_volume) { Print("Volume is greater than the maximum"); return(max_volume); } double volume_step=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP); int ratio=(int)MathRound(volume/volume_step); if(MathAbs(ratio*volume_step-volume)>0.0000001) { Print("Wrong lot size"); return(min_volume); } if(volume<MarketInfo(Symbol(),MODE_MINLOT)) { Print("Trade stop invalid lot size"); Comment("Trade stop invalid lot size"); return(MarketInfo(Symbol(),MODE_MINLOT)); } return(volume); }E nunca chegará a este ponto
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Alguém pode explicar por que o mercado retorna este erro? Todos os cheques na EA estão no lugar...
Entendo a essência, é claro - não há negócios, mas qual é a razão?