Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1052

 
Igor Makanu:

in alternativa aprirehttps://www.mql5.com/ru/code/16006

e guarda l'implementazione di @fxsaber

o semplicemente collegare la libreria di cui sopra e trasferire il codice da MT4 a MT5, nel 99% dei casi non dovrete modificare nulla, tutto funzionerà come in MT4

E non lasciare che la conoscenza vada sprecata...
 
Artyom Trishkin:
E che le conoscenze non si sommino...

Conoscenza? Non è una conoscenza che serve per sviluppare un TS o un trader!

Non scrivi un driver per te stesso per controllare il tuo disco rigido --> API --> il tuo programma, vero? Basta usare le capacità della piattaforma e del linguaggio di programmazione e niente di più - in 2 clic (un paio di righe) si ottiene

È un fatto che MQL5 ha un modo tedioso e noioso di trattare gli ordini,

Non ho idea di come aprire un ordine, come controllare il suo stato, come conoscere il prezzo e il tempo di chiusura (so di CTrade, ho parzialmente aperto il codice sorgente) - queste sono cose elementari che una piattaforma di trading dovrebbe fare in 2 click e non dovrebbe causare alcun problema.

SZZY: sono passati 5 anni da quando MQL5 ha aggiunto iTime(), IClose() .... questo è il seguito, una piattaforma di trading che non può né accedere alla storia dello strumento né piazzare ordini in 2 click, nel primo anno l'intero kodobase è stato inondato di "implementazioni miracolose" di come leggere la storia di uno strumento di trading in 2 click.... Ok, è un argomento trito e ritrito.

 
Igor Makanu:

Non è una conoscenza necessaria per sviluppare un TS o per un trader!

Esattamente giusto. Non hai bisogno di questa conoscenza per sviluppare una strategia o come trader. Allo stesso modo, la conoscenza di mql4 non è necessaria.

Questo è ciò di cui ha bisogno il programmatore. E solo se vuole capire cosa sta facendo e può controllare il risultato ottenuto con quello atteso.

Non molto tempo fa ho dovuto modificare l'EA di qualcun altro: secondo la TOR, una posizione dovrebbe essere chiusa a Breakeven in un certo momento. Infatti, l'Expert Advisor ha aperto una posizione, l'ha chiusa immediatamente e ne ha impostata una nuova, che ha chiuso secondo le regole.

Dopo aver guardato questo casino per un paio d'ore, ho suggerito di scrivere il mio Expert Advisor da zero. Non era il tuo Expert Advisor?

 
Alexey Viktorov:

Dopo aver guardato questo casino per un paio d'ore, ho suggerito di scrivere il mio Expert Advisor da zero. Non era il tuo Expert Advisor?

Sicuramente il mio! ))))) - Mantengo i miei codici per almeno un mese, ma di solito tutto funziona bene la prima volta, anche se ci possono essere alcune discrepanze nei ToR, ma questa non è una presentazione, è un lavoro in corso. Modifico spesso il codice di altre persone, ma questa è una storia a parte, richiede molto tempo e il risultato è sconosciuto - avvertimi su questo

Se la programmazione a basso livello affascina, per così dire "scavare nelle piccole viscere" - andate avanti, c'è una libreria standard CTrade da parte degli sviluppatori, dovrebbe fare il minimo richiesto per l'utente

 
Igor Makanu:

Sicuramente il mio! ))))) - Mantengo i miei codici per almeno un mese, ma di solito tutto funziona bene la prima volta, anche se ci possono essere alcune discrepanze nei ToR, ma questa non è una presentazione, è un lavoro in corso. Modifico spesso il codice di altre persone, ma questa è una storia a parte, richiede molto tempo e il risultato è sconosciuto - avvertimi su questo

Se la programmazione a basso livello affascina, per così dire "scavare nelle piccole viscere" - andate avanti, c'è una libreria standard CTrade da parte degli sviluppatori, dovrebbe fare il minimo richiesto per l'utente

Il proprietario di questo codice miracoloso, così come il suo autore, non sapeva della sottigliezza che la posizione viene aperta e poi chiusa. Ecco perché non ci sono rivendicazioni.

In generale, sono d'accordo con te. Alcuni sviluppatori non catturano affatto i topi. Poi creano deliberatamente degli insetti, secondo le dichiarazioni di un personaggio, viene torturato per catturare questi insetti. Ora non faranno un solo comando come "Falciare i soldi". Non c'è bisogno di conoscere alcuna programmazione. "Non è affare del re incasinarsi con ***. Ordinerò e ***" è quello che sembri.

 
Alexey Viktorov: Il proprietario di questo codice miracoloso così come il suo autore non erano a conoscenza della sottigliezza che la posizione viene aperta e poi chiusa. Sono d'accordo con te. Non catturano affatto i topi. Creano deliberatamente degli insetti, ma sono stanchi di catturarli, come ha detto un personaggio. Ora non faranno un solo comando come "Falciare i soldi". Non c'è bisogno di conoscere alcuna programmazione. "Non è affare del re incasinarsi con ***. Ordinerò e ***" è quello che sembri.

Per quanto ho capito stiamo parlando di un po' di codice in MQL5? - Non ho scritto alcun codice pubblico in quel linguaggio, uso solo soluzioni già pronte.

Bene, riguardo alle tue prestazioni - tutti i linguaggi sono sempre "aggiornati" con librerie, gli sviluppatori delle librerie sono spesso semplici programmatori-utenti, ma questo non impedisce che queste librerie siano popolari e fatte con una qualità molto alta, se riesci a uscire dalla sandbox MQL - fai un giro su GitHub, ho sempre trovato librerie pronte per C# che fanno risparmiare tempo per lo sviluppo

 
Vladimir Karputov:

Non c'è un'analogia diretta. Una posizione consiste in scambi. Se volete dati di posizione accurati, dovete prima costruire la posizione a partire dalla storia del trading.

Quindi è meglio lavorare con il concetto di "accordo".

In generale, l'implementazione dipende molto dalla risposta alla domanda: "Perché? Cioè, prima descrivi esattamente cosa vuoi e perché.

Per ottenere il profitto dell'affare in pip. In MT4 si faceva così:

( OrderClosePrice() - OrderOpenPrice() )/Point;
 
secret:

Ottieni il profitto del trade in pip. In MT4 si faceva così:

Non si può ottenere un profitto su un trade. Uno scambio può essere:

ENUM_DEAL_TYPE-Tipo di scambio

ENUM_DEAL_TYPE

Identificatore

Descrizione

DEAL_TYPE_BUY

Compra

DEAL_TYPE_SELLVendere

***


È necessario ottenere informazioni su una posizione chiusa (una posizione completa consiste di almeno due operazioni: entrata e uscita). Per fare questo:

  • assemblare la posizione dalla storia del trading e controllare la sua completezza (vi ricordo che la posizione può essere assemblata dai trade) - utilizzare la proprietà DEAL_POSITION_ID dei trade.
La parola di controllo qui è "raccogliere la posizione dalla storia del trading e controllarne la completezza".
 
Vladimir Karputov:

Capisco. Grazie) Una terminologia molto strana in MT5.

Mi chiedo perché gli sviluppatori non abbiano fatto delle proprietà di posizione già pronte nella storia. L'hanno fatto in MT4.

 
secret:

Capisco. Grazie) Una terminologia molto strana in MT5.

Mi chiedo perché gli sviluppatori non abbiano fatto delle proprietà di posizione già pronte nella storia. L'hanno fatto in MT4.

È molto positivo che l'abbiano fatto. C'è accesso a tutta la storia di ogni cambio di posizione. In 4 tutto è ammucchiato in un ordine. E un mandato è solo un ordine di esecuzione. In cinque, invece, è una posizione d'ordine.