Autoapprendimento del linguaggio MQL5 da zero - pagina 57

 
MrBrooklin:

Continuo ad imparare il linguaggio di programmazione MQL5. In precedenza ho pubblicato il codice del ciclo che avvia l'enumerazione delle posizioni aperte. Ora, dopo che il ciclo è stato avviato, iniziamo a lavorare con il simbolo sul grafico corrente:

Periodicamente posterò il codice scritto con i miei commenti per fornire un rapido feedback. Chiedo ai partecipanti di questo topic di correggermi, se ci sono inesattezze nei miei codici e commenti.

Sinceramente, Vladimir.

Print("Выбираем позицию на символе ", PositionGetSymbol(i), "Тикет", i);

I commenti contenenti dati sono più pratici.

 
Valeriy Yastremskiy:

I commenti contenenti dati sono più pratici.

Grazie, Valery! La tua versione del messaggio è più informativa. Cambierò subito il codice.

Saluti, Vladimir.

 

Cari esperti di programmazione!

Per favore, spiega due domande:

  1. Prima domanda sul Magic Number - è creato nei parametri di input solo per gli ordini pendenti e le posizioni aperte (o solo per le posizioni aperte?), o anche per l'EA stesso può essere creato? Se la risposta è "sì", per quale scopo dovrebbe essere fatto. Mi sono davvero confuso con questa domanda e non ho una buona risposta.
  2. La seconda domanda sul Magic Number - se c'è più di una posizione aperta nel grafico corrente, allora è possibile applicare un tale parametro di input per determinare ogni posizione:
input int Magic_Number=-1;

Forse ho una comprensione sbagliata dell'applicazione del numero magico nella programmazione.

Saluti, Vladimir.

 

Anche se c'è una spiegazione nell'articolo di Artem Trishkin https://www.mql5.com/ru/articles/7394#node02, ma ancora non la capisco, perché la rende troppo complicata.

Con rispetto, Vladimir.

 
MrBrooklin:

Cari esperti di programmazione!

Per favore, spiega due domande:

  1. Prima domanda sul Magic Number - è creato nei parametri di input solo per gli ordini pendenti e le posizioni aperte (o solo per le posizioni aperte?), o anche per l'EA stesso può essere creato? Se la risposta è "sì", per quale scopo dovrebbe essere fatto. Mi sono davvero confuso con questa domanda e non ho una buona risposta.
  2. La seconda domanda sul Magic Number - se c'è più di una posizione aperta nel grafico corrente, allora è possibile applicare un tale parametro di input per determinare ogni posizione:

Forse ho una comprensione sbagliata dell'applicazione del numero magico nella programmazione.

Sinceramente, Vladimir.

Perché hai bisogno di Magic Number ora? Davvero, che senso ha preoccuparsene ora? Il trailing stop sarà ovviamente utilizzato come un elemento di trading semi-automatico: qualcuno ha piazzato un ordine, e l'EA inizia a tracciarlo. A chi importa chi ha fatto l'ordine? Se un altro robot l'ha piazzato e tu apri un trawl, il tuo Expert Advisor traccerà anche il suo ordine. Se non si attiva una pesca a strascico, non lo farà. Questo è esattamente il caso in cui non avete bisogno di un magik. Se all'improvviso ne hai bisogno più tardi, puoi scriverlo più tardi.

 
MrBrooklin:

Anche se c'è una spiegazione nell'articolo di Artem Trishkin https://www.mql5.com/ru/articles/7394#node02, ma ancora non la capisco, perché la rende troppo complicata.

Sinceramente, Vladimir.

Non c'è assolutamente bisogno di leggere questo.

 
MrBrooklin:

Continuo ad imparare il linguaggio di programmazione MQL5. In precedenza ho pubblicato il codice del ciclo che avvia l'enumerazione delle posizioni aperte. Ora, dopo che il ciclo è stato avviato, iniziamo a lavorare con il simbolo sul grafico corrente:

Periodicamente posterò il codice scritto con i miei commenti per fornire un rapido feedback. Chiedo ai partecipanti di questo topic di correggermi, se ci sono imprecisioni nel mio codice o nei miei commenti.

Sinceramente, Vladimir.

Ancora una volta state partendo da un'idea sbagliata e il codice contiene un errore. Iniziare con le funzioni. Scrivi un framework dell'algoritmo usando solo le tue funzioni. Poi penseremo a come implementarli. Inizia con il modello standard che si apre quando si crea un nuovo EA in metaeditor.

Il trailing stop è meglio che sia fatto per il conto netto per cominciare. In questo modo sarà più facile lavorare con la posizione, perché ci sarà solo una posizione per un simbolo. Nella seconda versione, sarà possibile trasformarlo in un ibrido.

 
Vasiliy Sokolov:

Perché hai bisogno di Magic adesso? Davvero, che senso ha preoccuparsene ora? Il trailing stop sarà ovviamente usato come un elemento di trading semi-automatico: qualcuno piazza un ordine, e l'EA inizia a tracciarlo. A chi importa chi ha fatto l'ordine? Se un altro robot l'ha piazzato e tu apri un trawl, il tuo Expert Advisor traccerà anche il suo ordine. Se non si imposta la rete a strascico, non lo farà. Questo è esattamente il caso in cui non avete bisogno di un magik. Se ne hai improvvisamente bisogno, per favore, scrivilo dopo.

Ciao Vasily! Capisco tutto del Numero Magico, ma il problema è che mi è stato fortemente raccomandato da Andrey Novichkov qui.

Saluti, Vladimir.

 
Vasiliy Sokolov:

Non c'è assolutamente bisogno di leggere questo.

Capisco.

Con rispetto, Vladimir.

 
Vasiliy Sokolov:

State partendo di nuovo dal punto sbagliato e il codice contiene un errore. Iniziare con le funzioni. Scrivi il framework dell'algoritmo usando solo le tue funzioni. Poi penseremo a come implementarli. Inizia con il modello standard che si apre quando si crea un nuovo EA in metaeditor.

Il trailing stop è meglio che sia fatto per il conto netto per cominciare. In questo modo sarà più facile lavorare con la posizione, perché ci sarà solo una posizione per un simbolo. Nella seconda versione, sarà possibile convertirlo in un ibrido.

Il modello standard è stato creato. Ho iniziato a scrivere il codice in esso e posterò qui quei frammenti che sono già stati scritti. Non avevo indovinato il framework degli algoritmi con le mie funzioni, grazie per il suggerimento! Grazie anche per la dritta sul conto di rete!

Se non è un segreto, qual è l'errore nel codice?

Se è qui:

 for(i; i>=0; i--)

L'ho già corretto in:

 for(i; i>0; i--)

Sinceramente, Vladimir.

Motivazione: