Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 165

 

Ciao a tutti.

Nel programma EA è necessario eseguire dei calcoli: Sottrazione, divisione e confronto di numeri per valore di tipo > e <. I numeri sono interi da 0 a 300. Apparentemente sono troppo grandi per questo dispositivo aritmetico,

poiché queste operazioni non vengono eseguite. Leoperazioni aritmetiche con i prezzi vengono eseguite normalmente. A proposito, il compilatore non genera errori. Se avete riscontrato un tale problema, per favore suggerite un modo per risolverlo.

Ne ho davvero bisogno.

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

Ciao a tutti.

Nel programma EA è necessario eseguire dei calcoli: Sottrazione, divisione e confronto di numeri per valore di tipo > e <. I numeri sono interi da 0 a 300. Apparentemente sono troppo grandi per questo dispositivo aritmetico,

poiché queste operazioni non vengono eseguite. Leoperazioni aritmetiche con i prezzi vengono eseguite normalmente. A proposito, il compilatore non genera errori. Se avete riscontrato un tale problema, per favore suggerite un modo per risolverlo.

Ne ho davvero bisogno.

Fai un esempio concreto di un'operazione fallita, non è chiaro da quello che è scritto.
 
Boris.45:

Ciao a tutti.

Nel programma EA è necessario eseguire dei calcoli: Sottrazione, divisione e confronto di numeri per valore di tipo > e <. I numeri sono interi da 0 a 300. Apparentemente sono troppo grandi per questo dispositivo aritmetico,

poiché queste operazioni non vengono eseguite. Leoperazioni aritmetiche con i prezzi vengono eseguite normalmente. A proposito, il compilatore non genera errori. Se avete riscontrato un tale problema, per favore suggerite un modo per risolverlo.

Ne ho davvero bisogno.

Arrotondamento?

 

Fate in modo che sia così:

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:

Fate così:

vengono fuori un sacco di errori...

'last_tick' - identificatore non dichiarato

'ask' - tipo di struttura o classe atteso

'slip' - identificatore non dichiarato

C'era anche un errore su Lots, ma l'ho sostituito con Lot e uno in meno.

 
Dovremmo provare a rimuovere prima lo SL e il TP? O non si tratta di loro?
 
Vi ho dato un esempio, impostate le vostre variabili.
 

solo aggiunto...

ZeroMemory(mrequest);

e ha funzionato! Grazie!

 
paladin800:
Fatemi un esempio concreto di un'operazione fallita, non è chiaro da quello che è scritto.
Grazie per la vostra attenzione e scusate per l'inconveniente. Ho trovato un errore nella formazione dell'algoritmo di elaborazione.
 

Come faccio a collegare il segnale in MT5? Il segnale è sottoscritto in MQL5, ma non è visualizzato in MT5...

Motivazione: