Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1813
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Não há 8 no comentário, mas há uma sequela.
Obrigado. Isso o mostra corretamente. Erro estúpido, é claro. Mas ainda me pergunto por que todos os outros valores são exibidos normalmente e apenas um é torto.
Obrigado. Essa é a maneira correta de fazer isso. Erro estúpido, é claro. Mas ainda me pergunto por que todos os outros valores são exibidos normalmente e apenas um é torto.
Não está torto, está correto no nível da máquina, você vê que há "e-08" no final.
Por exemplo, o número 1e-05 não é um erro, mas0,00001.
Você precisa usar o DoubleToString para ver a que estamos acostumados e o programa vai funcionar corretamente de qualquer forma
Leia
Não está torto, está correto no nível da máquina, veja que há um "e-08" no final.
Por exemplo, o número 1e-05 não é um erro, ele é0,00001.
Para ver ao que estamos acostumados, você precisa usar o DoubleToString e o programa funcionará corretamente de qualquer forma
Leia
Mais uma vez, obrigado. Vou lê-lo.
Consertado, agora funciona. É claro que não está certo, mas funciona.
{ if(iTrailTakeProfit > 0.0) { tp=OrderTakeProfit() + NormalizeDouble(iTrailTakeProfit * Point(),_Digits); if(NormalizeDouble(((tp - OrderTakeProfit())) < 0.0,Digits))return; tp = OrderTakeProfit(); }else tp = 0.0; if(OrderProfit() + OrderSwap() + OrderCommission() > MarketInfo(Symbol(), MODE_TICKVALUE) * iTrailStart * OrderLots()); { if(((NormalizeDouble((Bid - OrderOpenPrice()*Point),Digits) >= NormalizeDouble(((Bid - NormalizeDouble((iTrailStart * Point),_Digits))),_Digits) > OrderStopLoss() || OrderStopLoss()==0)));//true { if((OrderStopLoss() == 0.0 && NormalizeDouble(Bid - OrderStopLoss()* Point,Digits) < NormalizeDouble((Bid - NormalizeDouble((iTrailDist * Point),_Digits)),_Digits)));//true { if(iTrailStep > 0.0 && OrderStopLoss() >= 0.0 && NormalizeDouble(((Bid - OrderStopLoss() - iTrailDist * Point)),Digits) >= iTrailStep);//true { sl_lev = NormalizeDouble((Bid - iTrailDist * Point()),_Digits); if(NormalizeDouble(Bid - sl_lev * Point,_Digits) < MarketInfo(Symbol(),MODE_STOPLEVEL));//false { if(!OrderModify(Forder,OrderOpenPrice(),NormalizeDouble(Bid - NormalizeDouble((iTrailStart * Point),_Digits),_Digits),tp,OrderExpiration())); Print("Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError()); } } } } } }Não está ajustado corretamente, como faço para consertá-lo?
E olhe na revista para ver o que acontece)
No início eu não escrevi nada, depois comecei a olhar sequencialmente e acabou sendo muito.
Obrigado.
Consertado, agora funciona. É claro que não está certo, mas funciona.
Não acerta as paradas, como você as conserta?
De onde você está obtendo esses dados?
De onde você está obtendo esses dados?
A partir do mandado.
A MQL5 também retornará imediatamente
Se o pedido for aceito com sucesso pelo servidor comercial, a função OrderSend() retorna verdadeiro.
Consertado, agora funciona. É claro que não está certo, mas funciona.
Ele pára de dar errado, como posso consertá-lo?
OrderOpenPrice()*PointOrderStopLoss()* Point1,12500*Point=0.0000112500