Sono nuovo di MQL5 (e del FOREX se è per questo) ma programmatore di lunga data. Ho aperto il file My_First_EA.mq5 e l'ho compilato ma non ottengo le funzioni di Debug. Se apro uno qualsiasi dei file di script di esempio, ottengo l'opzione Debug. Ho anche ricevuto un'avvertenza: il valore di ritorno di 'OrderSend' deve essere controllato. Cosa devo fare per ottenere la funzionalità di Debug?
Sono nuovo di MQL5 (e del FOREX se è per questo) ma programmatore di lunga data. Ho aperto il file My_First_EA.mq5 e l'ho compilato, ma non ottengo le funzioni di Debug. Se apro uno qualsiasi dei file di script di esempio, ottengo l'opzione Debug. Ho anche ricevuto un'avvertenza: il valore di ritorno di 'OrderSend' deve essere controllato. Cosa devo fare per ottenere la funzionalità Debug?
Luigi
Ciao a tutti,
Ho risolto il mio problema. Ho creato un nuovo progetto con l'Expert Advisor Wizard e poi ho copiato il file My_First_EA.mq5 e ho ottenuto la funzionalità di debug.
Ho risolto il mio problema. Ho creato un nuovo progetto con l'Expert Advisor Wizard e poi ho copiato il file My_First_EA.mq5 e ho ottenuto la funzionalità di debug.
Luigi
Ma hai risolto l'avviso "OrderSend deve essere controllato"?
Ho avuto l'errore 4756, ho visto la soluzione a pagina 2, e ho controllato il codice originale, c'era ZeroMemory(mrequest); nella stessa riga 218. ma ho ancora l'errore 4756.
Ho ancora questo errore anche dopo aver fatto entrambe le correzioni suggerite:
ZeroMemory(mrequest);
e anche
if(Buy_opened || Sell_opened)
Qualcuno può aiutarmi con l'errore 4756? Sembra che non riesca a piazzare un ordine di acquisto.
Ho cambiato diverse cose nel codice ma non funziona, aggiungo il codice che ho:
Originale: mrequest.type_filling = "L'ho messo nei 3 modi che sono nella documentazione".
mrequest.action = TRADE_ACTION_DEAL; // esecuzione immediata dell'ordine
mrequest.price = NormalizeDouble(latest_price.ask,_Digits); // ultimo prezzo richiesto
mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.ask + TKP*_Point,_Digits); // Prendere profitto
mrequest.symbol = _Symbol; // coppia di valute
mrequest.volume = Lot; // numero di lotti da negoziare
mrequest.magic = EA_Magic; // Numero magico dell'ordine
mrequest.type = ORDER_TYPE_BUY; // Ordine di acquisto
mrequest.type_filling = ORDER_FILLING_RETURN; // Tipo di esecuzione dell'ordine
mrequest.deviation=100;
Tambien he probado este codigo:
//-- dichiarazione e inizializzazione della richiesta e del risultatoMqlTradeRequest request={0};
MqlTradeResult result={0};
//--- parametri dell'applicazione
request.action =TRADE_ACTION_DEAL; // tipo di attività commerciale
request.symbol =Symbol(); // simbolo
request.volume =0.1; // volume di 0,1 lotti
request.type =ORDER_TYPE_BUY; // tipo di ordine
request.price =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // prezzo di apertura
request.deviation=5; // deviazione di prezzo ammissibile
request.magic =EA_Magic; // Numero magico dell'ordine//--- invio della domandaif(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // se non è stato possibile inviare la richiesta, inserire il codice di errore//--- informazioni sull'operazionePrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
Ciao, grazie per il tutorial, è stato molto utile. Ma ho un malinteso, le variabili New_Time dichiarate e inizializzate con la funzione CopyTimes ma Old_Time è stata dichiarata ma non inizializzata all'inizio e poi è stata confrontata con la variabile New_Time per verificare se c'è una nuova barra. Old_Time dovrebbe essere vuoto. Non so se l'ho descritto bene ma grazie per aver letto.
Ciao a tutti,
Sono nuovo di MQL5 (e del FOREX se è per questo) ma programmatore di lunga data. Ho aperto il file My_First_EA.mq5 e l'ho compilato ma non ottengo le funzioni di Debug. Se apro uno qualsiasi dei file di script di esempio, ottengo l'opzione Debug. Ho anche ricevuto un'avvertenza: il valore di ritorno di 'OrderSend' deve essere controllato. Cosa devo fare per ottenere la funzionalità di Debug?
Luigi
Ciao a tutti,
Sono nuovo di MQL5 (e del FOREX se è per questo) ma programmatore di lunga data. Ho aperto il file My_First_EA.mq5 e l'ho compilato, ma non ottengo le funzioni di Debug. Se apro uno qualsiasi dei file di script di esempio, ottengo l'opzione Debug. Ho anche ricevuto un'avvertenza: il valore di ritorno di 'OrderSend' deve essere controllato. Cosa devo fare per ottenere la funzionalità Debug?
Luigi
Ciao a tutti,
Ho risolto il mio problema. Ho creato un nuovo progetto con l'Expert Advisor Wizard e poi ho copiato il file My_First_EA.mq5 e ho ottenuto la funzionalità di debug.
Luigi
Ciao a tutti,
Ho risolto il mio problema. Ho creato un nuovo progetto con l'Expert Advisor Wizard e poi ho copiato il file My_First_EA.mq5 e ho ottenuto la funzionalità di debug.
Luigi
Ho avuto l'errore 4756, ho visto la soluzione a pagina 2, e ho controllato il codice originale, c'era ZeroMemory(mrequest); nella stessa riga 218. ma ho ancora l'errore 4756.
Ho ancora questo errore anche dopo aver fatto entrambe le correzioni suggerite:
ZeroMemory(mrequest);
e anche
if(Buy_opened || Sell_opened)
Qualcuno può aiutarmi con l'errore 4756? Sembra che non riesca a piazzare un ordine di acquisto.
Salve, ricevo un errore:
Il valore di ritorno di 'OrderSend'deve essere controllato alle righe 213 e 259.
hai risolto?
Buongiorno Tchuso,
Mi è successa la stessa cosa. Ho risolto sostituendo quelle righe in entrambe le operazioni con questa.
Dimmi se hai bisogno di aiuto, sono nuovo anch'io.
Cordiali saluti!
Mi piace molto il codice di esempio, anch'io sono alle prime armi, ho sistemato il codice come appare nei commenti e non dà più errori.
Il problema è che il robot non apre i trade, non apre nemmeno un trade.
Qualcuno è riuscito a risolvere questo problema?
Sto usando l'opzione "Unico" del tester della strategia: è un mio errore?
Grazie per il vostro tempo e supportoHo notato che il robot cerca di aprire gli ordini ma dà sempre un errore:
Esci:
2020.05.06 20:35:16.141 Core 1 2020.04.20 20:25:00 failed market sell 0.10 EURUSD sl: 1.08965 tp: 1.07665 [Invalid request].
Ho cambiato diverse cose nel codice ma non funziona, aggiungo il codice che ho:
Originale: mrequest.type_filling = "L'ho messo nei 3 modi che sono nella documentazione".
Ho notato che il Robot cerca di aprire gli ordini ma dà sempre un errore:
Exit:
2020.05.06 20:35:16.141 Core 1 2020.04.20 20:25:00 failed market sell 0.10 EURUSD sl: 1.08965 tp: 1.07665 [Invalid request].
Ho cambiato diverse cose nel codice ma non funziona, aggiungo il codice che ho:
Originale: mrequest.type_filling = "L'ho messo nei 3 modi che sono nella documentazione".
Aggiungere questo all'inizio del codice:
#include <Trade\Trade.mqh>E poi per aprire un'operazione basta digitare questo:
Ciao,
Allo stesso modo, ho il codice di errore 4756 durante l'esecuzione di test e ha detto "richiesta di ordine di vendita non può essere completato".
Si prega di informare come risolvere questo problema.
Grazie