Autoapprendimento del linguaggio MQL5 da zero - pagina 63

 
MrBrooklin:

Ciao Peter! Sono felice di averti di nuovo al telefono. Da un lato hai ragione sulla difficoltà del compito, dall'altro mi ha fatto guardare all'autoapprendimento da un'altra prospettiva. Quindi, non c'è niente di male. Tanto più che se riesco a gestire i trailing stop e a fornire il risultato pronto a tutti, sarà la mia piccola vittoria nell'imparare MQL5.

Ora non sto deliberatamente pubblicando linee di codice scritte e commenti, perché ho bisogno di raggiungere almeno alcuni risultati da solo, senza l'aiuto di nessuno. Il compito del trailing stop è chiaro, l'assistenza iniziale dei partecipanti a questo argomento è fornita, e ora tutto dipende da me. Ora ho solo bisogno di pazienza.

Cordiali saluti, Vladimir.

Capisco il ruolo cruciale del super-tasking nell'auto-apprendimento e spero che tu possa scrivere da solo la versione più semplice, ma il fatto è questo:

Molto più interessante del trailing stop è il toolkit del linguaggio - condizioni, loop, funzioni, e molte altre cose che permettono di realizzare cose fantastiche, tra le quali il trailing stop è solo un granello di sabbia nell'oceano). Padroneggiare questo toolkit aprirà la porta a un mondo nuovo, sorprendente e precedentemente sconosciuto a voi.

È strano vedere una persona che ammira la cornice della Gioconda di Leonardo, così come è strano vedere un fascino per lo strascico di funzioni, loop e array, cioè cose molto più interessanti che permettono di risolvere QUALSIASI problema. Naturalmente, questa comprensione non arriva immediatamente.

Ti auguro di raggiungere il tuo obiettivo!
 
Реter Konow:
Capisco il ruolo importante dell'over-tasking nell'auto-apprendimento e spero che sarete in grado di scrivere da soli una versione semplice del compito, ma il fatto è questo:

Molto più interessante del trailing sono gli strumenti del linguaggio - condizioni, cicli, funzioni, e molte altre cose che permettono di implementare cose fantastiche, tra le quali il trailing è solo un granello di sabbia nell'oceano). Padroneggiare questo toolkit aprirà la porta a un mondo nuovo, sorprendente e precedentemente sconosciuto.

È strano vedere una persona che ammira la cornice della Gioconda di Leonardo, così come è strano vedere una fascinazione per le funzioni di trascinamento, bypass, loop e array, cioè cose molto più interessanti che permettono di risolvere QUALSIASI problema. Naturalmente, questa comprensione non arriva immediatamente.

Ti auguro di raggiungere il tuo obiettivo!

Grazie, Peter, per il tuo desiderio! Credetemi, non è sempre possibile capire una persona, soprattutto quando non la si conosce affatto. E non c'è niente di male in questo.

Nel processo di scrittura del codice di un EA con il nome di lavoro Trailing Stop, visito periodicamente questo argomento, perché sono l'iniziatore della sua creazione e, quindi, devo rispondere alle domande che mi vengono rivolte. Quando avrò qualcosa da mostrare, le comunicazioni diventeranno molto più interessanti.

Saluti, Vladimir.

 
Posso mettere un video finanziario interessante nel ramo.
Molto interessante, testualmente, chi non sarà abile nella programmazione, in un prossimo futuro, sarà una specie di handicappato.... dal minuto 40 circa in poi.
Ecco

https://youtu.be/aVqismh5zJI
 

Buona giornata e buon umore a tutti!

La mia quarantena è finita e sono tornato alla normalità. È un peccato che ora ci sia meno tempo per lo studio autonomo. Durante questa assenza ho fatto notevoli progressi nell'apprendimento del linguaggio di programmazione MQL5 e nella scrittura del codice EA. Non ho ancora intenzione di chiedere aiuto ai membri di questo topic, perché non voglio interrompere il mio Expert Advisor dal fare cose importanti. In primo luogo, non voglio distrarli dal loro importante lavoro. In secondo luogo, la ricerca indipendente di errori mi permetterà di studiare la lingua molto più a fondo. Non mi pongo una scadenza per scrivere tutto il codice, quindi non sto facendo una corsa di cavalli. In questo modo, il materiale imparato può essere assimilato meglio.

Saluti, 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. Può essere trasformato in un ibrido nella seconda versione.

Ciao Vasily! Spero di aver risolto l'errore nel codice del ciclo. Avrebbe dovuto essere scritto in questo modo:

   for(int i=PositionsTotal()-1; i>=0; i--)

Sto facendo tutto il resto come mi hai consigliato. Grazie ancora una volta!

Saluti, Vladimir.

 

Ciao a tutti e buon umore!

Continuo a studiare MQL5. Sono rimasto bloccato per molto tempo, perché ho difficoltà a capire una cosa semplice. Ho scritto un codice che dovrebbe aprire una posizione di acquisto con 0,1 lotti alle 9 del mattino e chiuderla forzatamente alle 11:50 di sera, se né Stop Loss né Trailing Stop sono scattati durante la giornata di trading. Ho messo il codice nella funzione OnTick(). Attualmente, quando il tester della strategia viene avviato, due posizioni di acquisto di 0,1 lotti ciascuna vengono aperte entro 1-2 secondi. Se diminuisco il lotto, per esempio, a 0,01, allora 22 posizioni vengono aperte entro 8-10 secondi. Il saldo iniziale è di 50000 rubli. Coppia di valute EURUSD. Suppongo che abbia qualcosa a che fare con le zecche e il margine. Ho cercato un sacco di informazioni sul mio sito web, ma non ha ancora avuto alcun effetto.

Per favore consigliatemi cosa dovrei fare o quale condizione dovrei specificare per aprire solo una posizione con il lotto specificato e non di più.

Sinceramente, Vladimir.


 
MrBrooklin:

Potreste consigliarmi cosa dovrei fare o quale condizione dovrei impostare per aprire solo una posizione con il lotto specificato e non di più?

Sinceramente, Vladimir.

Ciao, fissa un limite alle posizioni aperte;

input int               MaxOpenedPositions=1;
//ниже подсчёт открытых позиций, код Вы уже начали писать)

for(int i=PositionsTotal()-1; i>=0; i--)
 
VVT:

Ciao, fissa un limite alle posizioni aperte;

Ciao!

Grazie per il suggerimento. Ad essere onesti, i miei pensieri erano già concentrati sul vietare in qualche modo gli aggiornamenti delle citazioni dopo l'apertura della prima posizione. Cercherò di limitare il numero di posizioni aperte.

Saluti, Vladimir.

 
MrBrooklin:

Ciao a tutti e buon umore!

Continuo a studiare MQL5. Sono rimasto bloccato per molto tempo, perché ho difficoltà a capire una cosa semplice. Ho scritto un codice che dovrebbe aprire una posizione di acquisto con 0,1 lotti alle 9 del mattino e chiuderla forzatamente alle 11:50 di sera, se durante la giornata di trading non scatta né Stop Loss, né Trailing Stop, né Take Profit. Ho messo il codice nella funzione OnTick(). Attualmente, quando il tester della strategia viene avviato, due posizioni di acquisto di 0,1 lotti ciascuna vengono aperte entro 1-2 secondi. Se diminuisco il lotto, per esempio, a 0,01, allora 22 posizioni vengono aperte entro 8-10 secondi. Il saldo iniziale è di 50000 rubli. Coppia di valute EURUSD. Suppongo che abbia qualcosa a che fare con le zecche e il margine. Ho cercato un sacco di informazioni sul mio sito web, ma non ha ancora avuto alcun effetto.

Per favore consigliatemi cosa dovrei fare o quale condizione dovrei specificare per aprire solo una posizione con il lotto specificato e non di più.

Saluti, Vladimir.


Se la posizione con il nostro magik e sul nostro simbolo è zero allora controlla il tempo e apri una posizione. Se è 1 allora non aprire una posizione, controlla il tempo di chiusura e traina. Possiamo usare i rotoli o se vogliamo controllare iff.

 
Valeriy Yastremskiy:

Se le posizioni con il nostro Magik e sul nostro simbolo sono zero, controlliamo il tempo e apriamo una posizione, se è 1, non apriamo una posizione, controlliamo il tempo di chiusura e il trawl, se è più di 1, avvisiamo e non lavoriamo. Possiamo usare pergamene o controllare iff.

Ciao Valery! Grazie per il tuo suggerimento. Ho già padroneggiato l'operatore if-else, e ora ho bisogno di padroneggiare anche l'operatore switch. Devo usare Alert() o è lì solo per avere più informazioni?

Saluti, Vladimir.

Motivazione: