Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1035

 
Roman Sharanov:

Voglio familiarizzare con lo sviluppo di interfacce in MQL5 su EasyAndFastGUI

Ci sono 10 parti (o cosa?) di articoli "Graphical Interfaces" del 2015

Ho una domanda: sono tutti coerenti o non ha senso leggere quelli più vecchi?

Se volete capirlo, leggete dall'inizio. Se volete imparare per tentativi ed errori, scaricate l'ultima versione e studiate gli esempi.
 

Ciao a tutti, ho una domanda su MQL5.
Non ho trovato un buon esempio di come chiudere correttamente un ordine. So come chiudere un ordine e usare la classe CTrade, ma c'è una buona soluzione pronta?
L'idea non è quella di inviare un comando di chiusura ma di avere una funzione che restituisce true solo dopo aver ricevuto la risposta "YES, POSITION IS FULLY CLOSED, Relax" dal broker).
So anche di trade.ResultRetcode() e TRADE_RETCODE_DONE, ma non voglio reinventare la ruota, qualcuno ha una soluzione pronta?

 
Evgeny Dyuka:

Ciao, ho una domanda su MQL5.
Non ho trovato un buon esempio di come chiudere correttamente un ordine. So come chiudere un ordine e usare la classe CTrade, ma c'è una buona soluzione pronta?
L'idea non è quella di inviare un comando di chiusura ma di avere una funzione che restituisce true solo dopo aver ricevuto la risposta "YES, POSITION IS FULLY CLOSED, Relax" dal broker).
So anche di trade.ResultRetcode() e TRADE_RETCODE_DONE, ma non voglio reinventare la ruota, qualcuno ha una soluzione pronta?

OrderClose da MT4Orders restituirà true con la stessa logica di MT4 - quando la posizione sarà chiusa.

 
fxsaber:

OrderClose da MT4Orders restituirà true con la stessa logica di MT4 - quando la posizione è chiusa.

Penso che, come l'ultima volta che gli adepti di MT5 appariranno e criticheranno la tua libreria, sarebbe ok... ma non molte persone sanno come usare il sistema di ordini di MT5 ))))

 
fxsaber:

OrderClose da MT4Orders restituirà true con la stessa logica di MT4 - quando la posizione è chiusa.

Grazie, non ero a conoscenza di questa biblioteca
 
Igor Makanu:

Penso che come l'ultima volta gli adepti di MT5 verranno a criticare la tua libreria, sarebbe bello... ma non molte persone sanno come usare il sistema di ordini di MT5 ))))

È strano che non ci sia una soluzione pronta dagli sviluppatori di mql5. L'ordine, l'accordo e la posizione sono distruttivi per il cervello. La posizione è qualcosa che è aperto, ma se è già chiuso, che cos'è? Cosa restituisce HistoryOrdersTotal se, logicamente, un ordine apre una posizione e l'altro la chiude, cioè due per posizione... in questo caso, il ticket dell'ordine di apertura (a volte, forse, forse) alza l'id della posizione, ma allora qual è il ticket di quello di chiusura????
 
Evgeny Dyuka:
È strano che non ci sia una soluzione già pronta disponibile dagli sviluppatori di mql5. L'ordine, l'accordo e la posizione stanno davvero distruggendo il cervello. La posizione è qualcosa che è aperto, e se è già chiuso, cos'è? Cosa restituisce HistoryOrdersTotal se, logicamente, un ordine apre una posizione e l'altro la chiude, cioè due per posizione... in questo caso, il ticket dell'ordine di apertura (a volte, forse, forse) alza l'id della posizione, ma allora qual è il ticket di quello di chiusura????
  • Un ordine è un ordine che date a un server per fare qualcosa. Può essere eseguito, può essere eseguito parzialmente (esecuzione incompleta) e può essere rifiutato.
  • Transazione - Il risultato dell'esecuzione di un ordine (il tuo ordine di eseguire un'azione).
  • Una posizione è il risultato dell'esecuzione di un trade per entrare nel mercato.
  • Posizione chiusa (questo è quando non c'è posizione ed è inutile parlarne come qualcosa di tangibile - non c'è posizione) - il risultato dell'esecuzione di un accordo per uscire dal mercato.
  • Un'operazione di uscita si ottiene con l'esecuzione di un ordine, cioè il vostro ordine di chiudere la posizione.
  1. Si invia un ordine al server per aprire una posizione di acquisto - l'ordine con il tipo ORDER_TYPE_BUY
  2. Se l'ordine è accettato dal server e completamente eseguito, si formerà una transazione - un ordine per entrare nel mercato con il tipo DEAL_ENTRY_IN
  3. Come risultato, avete una posizione di tipo POSITION_TYPE_BUY
  4. Si invia un ordine al server per chiudere la posizione da acquistare - un ordine di tipo ORDER_TYPE_SELL con la stessa dimensione della posizione da chiudere
  5. Se l'ordine è accettato dal server e completamente eseguito, allora sarà conclusa un'operazione - un'operazione di uscita del tipo DEAL_ENTRY_OUT
  6. Come risultato, non avete una posizione del tipo POSITION_TYPE_BUY - è completamente chiusa, e la sua storia può essere vista nel giornale della cronologia del terminale client - tutti gli ordini e le transazioni di questa e altre posizioni si trovano lì
Questo in breve - per una comprensione iniziale. E inoltre, potete trovare tutto sul Forum e negli articoli. Se solo ne avessi il desiderio.
 
Evgeny Dyuka:
Strano che non ci sia una soluzione pronta dagli sviluppatori di mql5.

C'è.

Документация по MQL5: Стандартная библиотека / Торговые классы
Документация по MQL5: Стандартная библиотека / Торговые классы
  • www.mql5.com
Стандартная библиотека / Торговые классы - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin:
  • Un ordine è un ordine che date a un server per fare qualcosa. Può essere eseguito, può essere eseguito parzialmente (esecuzione incompleta) e può essere rifiutato.
  • Transazione - Il risultato dell'esecuzione di un ordine (il tuo ordine di eseguire un'azione).
  • Una posizione è il risultato dell'esecuzione di un trade per entrare nel mercato.
  • Posizione chiusa (questo è quando non c'è posizione ed è inutile parlarne come qualcosa di tangibile - non c'è posizione) - il risultato dell'esecuzione di un accordo per uscire dal mercato.
  • Un'operazione di uscita si ottiene con l'esecuzione di un ordine, cioè il vostro ordine di chiudere la posizione.
  1. Si invia un ordine al server per aprire una posizione di acquisto - l'ordine con il tipo ORDER_TYPE_BUY
  2. Se l'ordine è accettato dal server e completamente eseguito, si formerà una transazione - un ordine per entrare nel mercato con il tipo DEAL_ENTRY_IN
  3. Come risultato, avete una posizione di tipo POSITION_TYPE_BUY
  4. Si invia un ordine al server per chiudere la posizione da acquistare - un ordine di tipo ORDER_TYPE_SELL con la stessa dimensione della posizione da chiudere
  5. Se l'ordine è accettato dal server e completamente eseguito, allora sarà conclusa un'operazione - un'operazione di uscita del tipo DEAL_ENTRY_OUT
  6. Come risultato, non avete una posizione del tipo POSITION_TYPE_BUY - è completamente chiusa, e la sua storia può essere vista nel giornale della cronologia del terminale client - tutti gli ordini e le transazioni di questa e altre posizioni si trovano lì
Questo in breve - per una comprensione iniziale. E inoltre, potete trovare tutto sul Forum e negli articoli. Tutto ciò che serve è una forte volontà.
Grazie, ci darò un'occhiata
 
Artyom Trishkin:
  • Un ordine è un ordine che date a un server per fare qualcosa. Può essere eseguito, può essere eseguito parzialmente (esecuzione incompleta) e può essere rifiutato.
  • Transazione - Il risultato dell'esecuzione di un ordine (il tuo ordine di eseguire un'azione).
  • Una posizione è il risultato dell'esecuzione di un trade per entrare nel mercato.
  • Posizione chiusa (questo è quando non c'è posizione ed è inutile parlarne come qualcosa di tangibile - non c'è posizione) - il risultato dell'esecuzione di un accordo per uscire dal mercato.
  • Un'operazione di uscita si ottiene con l'esecuzione di un ordine, cioè il vostro ordine di chiudere la posizione.
  1. Si invia un ordine al server per aprire una posizione di acquisto - l'ordine con il tipo ORDER_TYPE_BUY
  2. Se l'ordine è accettato dal server e completamente eseguito, si formerà una transazione - un ordine per entrare nel mercato con il tipo DEAL_ENTRY_IN
  3. Come risultato, avete una posizione di tipo POSITION_TYPE_BUY
  4. Si invia un ordine al server per chiudere la posizione da acquistare - un ordine di tipo ORDER_TYPE_SELL con la stessa dimensione della posizione da chiudere
  5. Se l'ordine è accettato dal server e completamente eseguito, allora sarà conclusa un'operazione - un'operazione di uscita del tipo DEAL_ENTRY_OUT
  6. Come risultato, non avete una posizione del tipo POSITION_TYPE_BUY - è completamente chiusa, e la sua storia può essere vista nel giornale della cronologia del terminale client - tutti gli ordini e le operazioni di questa e altre posizioni si trovano lì
Questo in breve - per una comprensione iniziale. E inoltre, potete trovare tutto sul forum e negli articoli. Tutto ciò che serve è una forte volontà.
Tu scrivi"Una posizione chiusa (questo è quando non c'è nessuna posizione ed è inutile parlarne come qualcosa di percepibile - non esiste) - il risultato dell'esecuzione di un accordo per uscire dal mercato". Si scopre che non c'è una singola entità nella storia, ma c'è un insieme di eventi - ordine->commercio (apertura), ordine->commercio (chiusura) e tutto ciò non ha un singolo nome.
Non riesco a risolvere un problema banale - ho bisogno di accedere a quest'ultima entità (da tickit probabilmente) e raccogliere informazioni su di essa - tempo di apertura/chiusura, volume, ecc. Supponiamo che questo qualcosa sia stato aperto da un ordine e chiuso anche da un ordine. Quindi, dovremmo prendere gli ultimi due ordini da HistoryOrderTotal e usarli per qualche analisi? E se i tipi di biglietti sono diversi...
Come si risolve in pratica un tale riferimento alla storia?
Motivazione: