Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 164

 

Signori, per favore, ditemi cosa scrivere nelle ultime due righe quando si modifica un ordine in sospeso se la sua durata è impostata. (per esempio 6 ore - ).

request.type_time = ORDER_TIME_SPECIFIED; // l'ordine sarà valido fino alla data di scadenza
request.expiration = TimeCurrent()+6*3600;// l'ultimo tempo noto del server + count*hours

Se la durata non cambia, possiamo non scrivere proprio nulla quando si modifica? Per impostazione predefinita, morirà da solo.

E se avete bisogno di cambiare la sua durata di vita?

Modifica ordine in sospeso

Richiesta di trading per modificare i livelli di prezzo degli ordini in sospeso. 7 campi sono obbligatori:

-azione

-ordine

-prezzo

-sl

-tp

-tipo_tempo

-scadenza

Queste sono le due linee del Manuale che non riesco a capire:

tipo_tempo

Tipo di ordine alla scadenza. Ilvalore può essere uno dei valori ENUM_ORDER_TYPE_TIME

scadenza

Tempo di scadenzadell'ordine in sospeso (per ordini di tipo ORDER_TIME_SPECIFIED)

Per favore, scrivete come dovrebbero apparire nell'esperto, quando modificate, capirò. Grazie in anticipo.

Potete omettere queste due linee del tutto.

Potete scriverne uno, per esempio: request.type_time = ORDER_TIME_DAY; in questo caso l'ordine sarà cancellato dopo 1 giorno,

altre opzioni: https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties#enum_order_type_time

Sullarichiesta.expiration = TimeCurrent()+6*3600;/ultimo tempo noto del server + numero di ore*ore

si specifica il tempo di scadenza dell'ordine.

https://www.mql5.com/ru/articles/481

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 

Aiuto per un principiante, per favore.

Ho installato Alpari MT5, l'ottimizzazione funziona come dovrebbe essere, cioè tutti i grafici sono disegnati e i rapporti sono generati, e la storia è a posto. Dopo aver installato MT5 sullo stesso PC con Insta, ho scaricato un po' di storia di prova lì e ora non ho grafici e risultati di ottimizzazione sia in Insta che in Alpari. Dopo aver smontato tutto e aver installato solo Alpari, l'ottimizzazione funziona di nuovo perfettamente. Tuttavia, dopo aver installato Insta su un altro computer nella rete locale, i risultati dell'ottimizzazione vengono nuovamente persi.

Lo stesso EA in tutti i casi, il log è inondato di messaggi di best resalt, solo gli agenti locali vengono utilizzati.

Qualcuno usa due o più mt5 allo stesso tempo su un computer o sulla rete locale, o forse ha affrontato questo problema?




 
Crucian:

Queste due righe possono non essere scritte affatto.

Potete scriverne uno, per esempio: request.type_time = ORDER_TIME_DAY; in questo caso l'ordine sarà cancellato dopo 1 giorno,

Capisco. Questo è quello che ho pensato, quando ho modificato.


request.type_time =ORDER_TIME_DAY - Immagino che sia lo stesso di -

ingresso int t = 24;

request.expiration = TimeCurrent()+t*3600;

 
rosomah:

Capisco. Questo è quello che ho pensato, quando ho modificato.


request.type_time =ORDER_TIME_DAY - Immagino che sia lo stesso di -

ingresso int t = 24;

request.expiration = TimeCurrent()+t*3600;

Ti ho dato il linkhttps://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties#enum_order_type_time che 4 varianti possono essere usate perrequest.type_time :


ORDINE_TIME_GTC
L'ordine rimarrà in coda fino a quando il

ORDINE_TIME_DAY
L'ordine sarà attivo solo durante il giorno di negoziazione corrente

ORDINE_TEMPO_SPECIFICATO
L'ordine sarà valido fino alla data di scadenza

GIORNO_SPECIFICATO_DELL'ORDINE
L'ordine sarà in vigore fino alle 00:00 della data specificata. Se quell'ora non cade in una sessione di trading, la scadenza sarà all'ora di trading più vicina.

E ti ho dato il link a https://www.mql5.com/ru/articles/481 , che dà il codice della richiesta di compravendita quando si modifica un ordine usando la classe pronta CTrade https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/ctrade.

Il codice è questo:

//--- тикет ордера указан только для примера, его нужно получить
   ulong ticket=1234556;
//--- символ также указан для примера, его нужно получить
   string symbol="EURUSD";
//--- количество знаков после запятой
   int    digits=(int)SymbolInfoInteger(symbol,SYMBOL_DIGITS);
//--- значение пункта
   double point=SymbolInfoDouble(symbol,SYMBOL_POINT);
//--- получим цену покупки
   double price=SymbolInfoDouble(symbol,SYMBOL_ASK);
//--- вычислим и нормализуем уровни SL и TP
//--- на самом деле они должны вычисляться в зависимости от типа ордера
   double SL=NormalizeDouble(price-1000*point,digits);
   double TP=NormalizeDouble(price+1000*point,digits);
   //--- зададим срок действия одни сутки
   datetime expiration=TimeTradeServer()+PeriodSeconds(PERIOD_D1); //!!!  
//--- все готово, делаем попытку модифицировать ордер 
   if(!trade.OrderModify(ticket,price,SL,TP,ORDER_TIME_GTC,expiration)) //!!!
     {
      //--- сообщим о неудаче
      Print("Метод OrderModify() потерпел неудачу. Код возврата=",trade.ResultRetcode(),
            ". Описание кода: ",trade.ResultRetcodeDescription());
     }
   else
     {
      Print("Метод OrderModify() выполнен успешно. Код возврата=",trade.ResultRetcode(),
            " (",trade.ResultRetcodeDescription(),")");
     }

Leggete il tempo in MQL5 qui:https://www.mql5.com/ru/articles/599 .

Usare la ricerca e leggere articoli e documentazione.


Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 

Ciao a tutti!

Per favore, non tirate pietre, ma non ne ho trovate...

nessuna posizione aperta sull'EA... Dice questo

2013.12.23 03:00:01 Core 1 2013.12.20 23:30:00 failed instant buy 1.00 EURUSD at 1.36720 sl: 1.06720 tp: 1.46720 [Richiesta non valida]

и

2013.12.23 03:00:01 Core 1 2013.12.20 23:30:00 Alert: Richiesta di ordine di acquisto fallita - codice di errore:4756

Cosa potrebbe essere?

mrequest.action = TRADE_ACTION_DEAL; // esecuzione immediata

mrequest.price = NormalizeDouble(latest_price.ask,_Digits); // latest ask price

mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits); // Stop Loss

mrequest.tp = NormalizeDouble(latest_price.ask + TKP*_Point,_Digits); // Take Profit

mrequest.symbol = _Symbol; // simbolo

mrequest.volume = Lotto; // numero di lotti da scambiare

mrequest.magic = EA_Magic; // Numero magico

mrequest.type = ORDER_TYPE_BUY; // ordine di acquisto

mrequest.type_filling = ORDER_FILLING_FOK; // tipo di ordine - tutto o niente

mrequest.deviazione=100; // slittamento dal prezzo corrente

//----send order

OrderSend(mrequest,mresult);

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
Armen:

Armen, per favore. incolla il codice nel riquadro del codice. Ctrl+"5". Meglio ancora, premi il tasto SRC nell'editor, incolla nella casella e premi [ok].

Non è chiaro. :(

 
MetaDriver:

Armen, per favore. incolla il codice nel riquadro del codice. Ctrl+"5". Meglio ancora, premi il pulsante SRC nell'editor, incolla nella casella e premi [ok].

Non è chiaro. :(

scusate, lo rifarò ora...
 

Ciao a tutti!

Per favore, non tirate pietre, ma non ne ho trovate...

nessuna posizione aperta sull'EA... Dà questo

2013.12.23 03:00:01 Core 1 2013.12.20 23:30:00 fallito acquisto istantaneo 1,00 EURUSD a 1,36720 sl: 1,06720 tp: 1,46720 [Richiesta non valida]

и

2013.12.23 03:00:01 Core 1 2013.12.20 23:30:00 Alert: Richiesta di ordine di acquisto fallita - codice errore:4756

Cosa potrebbe essere?

         mrequest.action = TRADE_ACTION_DEAL;                                  // немедленное исполнение

         mrequest.price = NormalizeDouble(latest_price.bid,_Digits);           // последняя цена Bid

         mrequest.sl = NormalizeDouble(latest_price.bid + STP*_Point,_Digits); // Stop Loss

         mrequest.tp = NormalizeDouble(latest_price.bid - TKP*_Point,_Digits); // Take Profit

         mrequest.symbol = _Symbol;                                            // символ

         mrequest.volume = Lot;                                                // количество лотов для торговли

         mrequest.magic = EA_Magic;                                            // Magic Number

         mrequest.type = ORDER_TYPE_SELL;                                       // ордер на продажу

         mrequest.type_filling = ORDER_FILLING_FOK;                            // тип исполнения ордера - все или ничего

         mrequest.deviation=100;                                               // проскальзывание от текущей цены

         //--- отсылаем ордер

         OrderSend(mrequest,mresult);

 
Armen:

Ciao a tutti!

Per favore, non tirate pietre, ma non ne ho trovate...

nessuna posizione aperta sull'EA... dà questo...

Meglio inviare un ordine per aprire una posizione/ordine come descritto in Operazioni di trading in MQL5 - è facile.
 
paladin800:
Il problema è che ho bisogno di rifare (un po') il gufo pronto.
Il problema è che devo modificare (un po') i gufi già pronti... :(