Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1059

 
leonerd:

Ok, mi sono espresso male. Citiamo la fonte originale:

Struttura del risultato della richiesta di compravendita (MqlTradeResult)

Inrisposta auna richiesta dinegoziazione per piazzare un ordine nel sistema di negoziazione, il server di negoziazione restituisce dati contenenti le informazioni sul risultato dell'elaborazione della richiesta di negoziazione come una speciale struttura predefinita MqlTradeResult.


p.s. Dov'è la citazione nell'editor? Devo andare in html? Che inopportuno.

Dopo "Codice (Alt+S)" viene "Stile". Clicca sulla freccia e vedi "Citazione (Ctrl+3)".

 
Artyom Trishkin:

Dopo "Codice (Alt+S)" viene "Stile". Clicca sulla freccia e vedi "Citazione (Ctrl+3)".

È terribile :)

 
leonerd:

C'è ovviamente una sorta di errore logico qui. MqlTradeResult è il risultato dell'operazione di trading.

Cioè se Result.price fosse chiamato Result.dealprice, tutto sarebbe logico?

 
fxsaber:

Cioè se Result.price fosse chiamato Result.dealprice, sarebbe tutto logico?

Campo

Descrizione

retcode

Codice di ritorno del server commerciale

affare

Deal ticket, se è stato eseguito un accordo. Riportato nell'operazione commercialeTRADE_ACTION_DEAL

ordine

Ordine del biglietto, se è stato inserito un biglietto. Notificato durante un' operazione commercialeTRADE_ACTION_PENDING

volume

Volume del commercio confermato dal broker. Dipende daltipo di riempimento dell'ordine

prezzo

Prezzo dell'affare, confermato dal broker. Dipende dal campo dideviazione nellarichiesta di compravendita e/o dal tipo dicompravendita

offerta

Prezzo di offerta corrente di mercato (prezzo di requote)

chiedere a

Prezzo d'offerta attuale del mercato (prezzi di requote)

commento

Commento del broker all'operazione (di default è riempito con la decodifica del codice di ritorno del server commerciale)

request_id

ID della richiesta che il terminale deve compilare quando la invia al server commerciale

retcode_external

Codice dell'errore restituito dal sistema commerciale esterno. L'indicazione e i tipi di questi errori dipendono da un broker e da un sistema commerciale esterno, in cui le operazioni commerciali sono in uscita


Ci sono accordo e ordine. C'è volume per entrambi. Perché il prezzo è solo per l'affare? Beh, possiamo fare dealprice, ma poi abbiamo bisogno anche di un campo dealorder. Mi sembra che il prezzo dovrebbe essere semplicemente il prezzo dell'ordine, se lo scambio non viene effettuato e l'ordine viene impostato.

 
leonerd:

Campo

Descrizione

retcode

Codice di ritorno del server commerciale

affare

Deal ticket, se è stato eseguito un accordo. Riportato nell'operazione commercialeTRADE_ACTION_DEAL

ordine

Ordine del biglietto, se è stato inserito un biglietto. Notificato durante un' operazione commercialeTRADE_ACTION_PENDING

volume

Volume del commercio confermato dal broker. Dipende daltipo di riempimento dell'ordine

prezzo

Prezzo dell'affare, confermato dal broker. Dipende dal campo dideviazione nellarichiesta di compravendita e/o dal tipo dicompravendita

offerta

Prezzo di offerta corrente di mercato (prezzo di requote)

chiedere a

Prezzo d'offerta attuale del mercato (prezzi di requote)

commento

Commento del broker all'operazione (di default è riempito con la decodifica del codice di ritorno del server commerciale)

request_id

ID della richiesta che il terminale deve compilare quando la invia al server commerciale

retcode_external

Codice dell'errore restituito dal sistema commerciale esterno. L'indicazione e i tipi di questi errori dipendono da un broker e da un sistema commerciale esterno, in cui le operazioni commerciali sono in uscita


Ci sono accordo e ordine. C'è volume per entrambi. Perché il prezzo è solo per l'affare? Beh, possiamo fare dealprice, ma poi abbiamo bisogno anche di un campo dealorder. Mi sembra che il prezzo dovrebbe essere semplicemente il prezzo dell'ordine se l'operazione non è stata eseguita ed è stato impostato un ordine.

Creare una petizione per includere Result.price per gli ordini. E renderlo completo - chiedere di includere Result.expiration, secondo prezzo per ordini STOP_LIMIT, ecc.


// Пока петиция не прошла
bool OrderSend_leonerd( const MqlTradeRequest &Request, MqlTradeResult &Result )
{
  const bool Res = OrderSend(Request, Result);
  
  if (Res && !Result.order)
    Result.order = Request.order;
    
  return(Res);
}

// Делаем за разработчиков их работу
#define OrderSend OrderSend_leonerd
 

Ciao

A volte quando apro un ordine appare l'errore 4754-Ordernot found

Questo è tutto l'EA si blocca perché cerca di aprire un ordine

Reinstallare l'EA aiuta

Per aprire un ordine uso la classe CTrade

Per favore, consigliare cosa può essere sbagliato?

 
Mikhail Rudyk:

Ciao

A volte quando apro un ordine appare l'errore 4754-Ordernot found

Questo è tutto l'EA si blocca perché cerca di aprire un ordine

Reinstallare l'EA aiuta

Uso la classe CTrade per aprire un ordine

Per favore, consigliatemi cosa può essere?

Puoi essere più preciso? MQL5 Codice, simbolo, timeframe. Questo è il luogo dove viene mostrato l'errore.

È difficile dire qualcosa di definitivo senza questi dati.

 
Codebase ha un EA con la funzione "un trade per barra"? (Esclusi gli EA che lavorano sull'apertura delle barre)
 

In MQL5 chiamo l'handle dell'indicatore in OnInit in questo modo

diver_handle=iCustom(NULL,0,"ao_diver");

Questa chiamata blocca completamente il terminale.
L'indicatore si trova in Indicatori e non richiede ulteriori parametri di input.
Cosa può esserci di sbagliato in questa chiamata?

 
Evgeny Dyuka:

In MQL5 chiamo un indicatore in OnInit in questo modo

Questa chiamata blocca completamente il terminale.
L'indicatore si trova in Indicatori e non richiede ulteriori parametri di input.
Cosa può esserci di sbagliato in questa chiamata?

".ex5" specificare.