See https://www.mql5.com/it/docs/constants/structures/mqltraderequest and try this sample
//+------------------------------------------------------------------+ //| PendingOrder.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property description "Esempio di piazzamento dell'ordine pendente" #property script_show_inputs #define EXPERT_MAGIC 123456 // MagicNumber dell'expert input ENUM_ORDER_TYPE orderType=ORDER_TYPE_BUY_LIMIT; // tipo d'ordine //+------------------------------------------------------------------+ //| Piazza l'ordine pendente | //+------------------------------------------------------------------+ void OnStart() { //--- dichiara ed inizializza la richiesta di trade ed il risultato della richiesta di trade MqlTradeRequest request= {}; MqlTradeResult result= {}; //--- parametri per piazzare un ordine pendente request.action =TRADE_ACTION_PENDING; // tipo di operazione di trade request.symbol =Symbol(); // simbolo request.volume =0.1; // volume di 0.1 lotti request.deviation=2; // ammonetare di deviazione dal prezzo consentita request.magic =EXPERT_MAGIC; // MagicNumber dell'ordine request.expiration=TimeCurrent()+900; // Will be expired in 15 minutes int offset = 50; // offset from the current price to place the order, in points double price; // prezzo d'innesco dell'ordine double point=SymbolInfoDouble(_Symbol, SYMBOL_POINT); // valore del punto int digits=(int)SymbolInfoInteger(_Symbol, SYMBOL_DIGITS); // numero di cifre decimali (precisione) //--- controllo del tipo d'operazione if(orderType==ORDER_TYPE_BUY_LIMIT) { request.type =ORDER_TYPE_BUY_LIMIT; // tipo d'ordine price=SymbolInfoDouble(Symbol(), SYMBOL_ASK)-offset*point; // prezzo per l'apertura request.price =NormalizeDouble(price, digits); // prezzo d'apertura normalizzato } else if(orderType==ORDER_TYPE_SELL_LIMIT) { request.type =ORDER_TYPE_SELL_LIMIT; // tipo d'ordine price=SymbolInfoDouble(Symbol(), SYMBOL_BID)+offset*point; // prezzo per l'apertura request.price =NormalizeDouble(price, digits); // prezzo d'apertura normalizzato } else if(orderType==ORDER_TYPE_BUY_STOP) { request.type =ORDER_TYPE_BUY_STOP; // tipo d'ordine price =SymbolInfoDouble(Symbol(), SYMBOL_ASK)+offset*point; // prezzo per l'apertura request.price=NormalizeDouble(price, digits); // prezzo d'apertura normalizzato } else if(orderType==ORDER_TYPE_SELL_STOP) { request.type =ORDER_TYPE_SELL_STOP; // tipo d'ordine price=SymbolInfoDouble(Symbol(), SYMBOL_BID)-offset*point; // prezzo per l'apertura request.price =NormalizeDouble(price, digits); // prezzo d'apertura normalizzato } else Alert("Questo esempio è solo per piazzare ordini pendenti"); // se non ci sono ordini pendenti viene selezionato //--- invia la richiesta if(!OrderSend(request, result)) PrintFormat("OrderSend errore %d", GetLastError()); // se impossibile inviare la richiesta, da in output il codice errore //--- informazioni riguardo l'operazione PrintFormat("retcode=%u deal=%I64u order=%I64u", result.retcode, result.deal, result.order); } //+------------------------------------------------------------------+
Result
Documentazione su MQL5: Costanti, Enumerazioni e Strutture / Strutture Dati / Struttura Richiesta di Trade
- www.mql5.com
Struttura Richiesta di Trade - Strutture Dati - Costanti, Enumerazioni e Strutture - MQL5 Riferimento - Guida al linguaggio di trading algoritmico/automatico per MetaTrader 5
See also Tipo Datetime
Documentazione su MQL5: Le basi del linguaggio / Tipi di Dati / Tipi Integer / Tipo Datetime
- www.mql5.com
Tipo Datetime - Tipi Integer - Tipi di Dati - Le basi del linguaggio - MQL5 Riferimento - Guida al linguaggio di trading algoritmico/automatico per MetaTrader 5
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
In MQL5 dovrei creare un tempo di scadenza per gli ordini pendenti impostandolo al giorno attuale, mentre ora e minuti vengono messi in input, come si scrive questa data? ho provato questo codice ma non funziona:
input int oraChiusura = 22;
input int minutoChiusura = 30;
datetime m_expiration=__DATETIME__'-'oraChiusura':'minutoChiusura':00';
grazie