Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 165

 

Olá a todos.

No programa EA, é necessário efectuar cálculos: Subtracção, divisão e comparação de números por valor do tipo > e <. Os números são números inteiros de 0 a 300. Aparentemente, eles são demasiado grandes para este dispositivo aritmético,

uma vez que estas operações não são realizadas. Asoperações aritméticas com preços são executadas normalmente. A propósito, o compilador não gera erros. Se encontrou tal problema, por favor sugira uma forma de o resolver.

Preciso mesmo dele.

Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
  • www.mql5.com
Основы языка / Операции и выражения / Арифметические операции - Документация по MQL5
 
Boris.45:

Olá a todos.

No programa EA, é necessário efectuar cálculos: Subtracção, divisão e comparação de números por valor do tipo > e <. Os números são números inteiros de 0 a 300. Aparentemente, eles são demasiado grandes para este dispositivo aritmético,

uma vez que estas operações não são realizadas. Asoperações aritméticas com preços são executadas normalmente. A propósito, o compilador não gera erros. Se encontrou tal problema, por favor sugira uma forma de o resolver.

Preciso mesmo dele.

Dê um exemplo concreto de uma operação falhada, não está claro do que está escrito.
 
Boris.45:

Olá a todos.

No programa EA, é necessário efectuar cálculos: Subtracção, divisão e comparação de números por valor do tipo > e <. Os números são números inteiros de 0 a 300. Aparentemente, eles são grandes para este dispositivo aritmético,

uma vez que estas operações não são realizadas. Asoperações aritméticas com preços são executadas normalmente. A propósito, o compilador não gera erros. Se encontrou tal problema, por favor sugira uma forma de o resolver.

Preciso mesmo dele.

Arredondamento?

 

Faça-o:

MqlTradeRequest request;
ZeroMemory(request);
request.action=TRADE_ACTION_DEAL;
request.magic=0;
request.symbol=Symbol();
request.volume=Lots;
request.price=last_tick.ask;
request.sl=0.0;
request.tp=0.0;
request.deviation=slip;
request.type=ORDER_TYPE_BUY;
request.type_filling=ORDER_FILLING_FOK;
request.comment="";
MqlTradeResult result;
ZeroMemory(result);
OrderSend(request,result);
 
sandex:

Façam isto:

um monte de erros estão a surgir...

último_tick' - identificador não declarado

'perguntar' - estrutura ou tipo de classe esperada

'deslizar' - identificador não declarado

Houve também um erro em Lots, mas substituí-o por Lot e um a menos.

 
devemos apenas tentar remover primeiro o SL e TP? Ou não se trata deles?
 
Dei-lhe um exemplo, defina as suas próprias variáveis.
 

apenas acrescentou...

ZeroMemory(mrequest);

e funcionou! Obrigado!

 
paladin800:
Dê-me um exemplo concreto de uma operação falhada, não está claro do que está escrito.
Obrigado pela vossa atenção e desculpem o inconveniente. Encontrei um erro na formação do algoritmo de processamento.
 

Como ligo o sinal no MT5? O sinal é subscrito em MQL5, mas não é exibido em MT5...