Autoapprendimento del linguaggio MQL5 da zero - pagina 69

 
MrBrooklin:

Se il manuale del linguaggio di programmazione MQL5 l'avesse scritto subito così:

allora non ci sarebbero così tante domande inutili. Almeno, i principianti avrebbero meno domande.

Sinceramente, Vladimir.

Tutto è ben scritto lì. Se non ci sono parentesi, allora la dichiarazione for si riferisce solo all'espressione successiva.
Non sei stupido, prova a trovare qualcuno alla tua età, che studi la programmazione da zero.
 
Aliaksandr Hryshyn:
Tutto è ben scritto lì. Se non ci sono parentesi, significa che l'operatore for si riferisce solo all'espressione successiva.
E non dire che è stupido, cerca di trovare qualcuno della tua età che impari la programmazione da zero da zero.

Vladimir non ha detto che è muto, sta avendo difficoltà perché il metodo di apprendimento espresso a tempo limitato non è facile.

Ha afferrato gli "strumenti" senza leggere e capire le "istruzioni per l'uso", e gli era già stato detto; avendo capito la sintassi sarebbe stato molto più facile mettere insieme il "puzzle".

E non è mai troppo tardi per imparare, se si vuole, ci sono esempi di difesa di un dolce o di apprendimento di lingue straniere a 65 anni, per esempio...

 
MrBrooklin:

Igor, il desiderio di imparare il linguaggio MQL5 non è scomparso, al contrario, si è solo intensificato. Sono solo combattuto, perché sono così stupido e non riesco a capire le cose semplici con questo operatore di loop

Non sei stupido, ma impaziente. Stai cercando di imparare "la lingua inglese" con un dizionario - stai cercando di mettere le parole straniere nelle combinazioni che vuoi, senza considerare che le strutture linguistiche possono essere diverse.

Voglio dire, dovete imparare la sintassi e le basi della programmazione C, ma non sarete in grado di scrivere niente di utile .... Oltre a questo "misterioso" per dichiarazione, ci sarà un malinteso... ad esempio, lo scopo delle variabili? - capire cos'è? - Non è difficile, ma dovete capire cosa vede la macchina quando legge il vostro programma.


Non so quale tutorial posso consigliarti. a volte guardo quihttps://metanit.com/sharp/tutorial/1.1.php

c'è anche C e C++https://metanit.com/cpp/

Se lo usate, potete saltare le sezioni su puntatori e classi e OOP. Non avete bisogno di impararlo, avete solo bisogno di organizzare (sistematizzare) la vostra conoscenza.

 
MrBrooklin:

Igor, il desiderio di imparare il linguaggio MQL5 non è perso, al contrario, sta solo diventando più forte. Sono solo combattuto, perché sono così stupido e non riesco a capire le cose semplici con questo operatore di loop. La cosa principale è che senza l'operatore di loop il codice funziona perfettamente, ma con il loop è un casino completo. Andrò in fondo a questa storia in ogni caso. Tuttavia ho molto meno tempo per lo studio autonomo da quando il periodo di quarantena è finito e ho rari momenti al lavoro in cui posso studiare la lingua. Per lo più studio la lingua la sera e la notte tardi.

Ho bisogno di risolvere 2 compiti per arrivare finalmente a scrivere il codice Trailing Stop:

  1. Ho bisogno di scrivere un codice con l'uso dell'operatore for loop per cercare tutte le posizioni aperte per tutti i simboli, e se non ce ne sono, allora aprire una posizione Buy tra le 09:00:00 e le 09:01:00, e chiuderla forzatamente alle 23:50:00, se durante la giornata di trading non è scattato uno stop loss. Senza l'operatore for loop, come ho scritto prima, tutto funziona perfettamente. Ora voglio ottenere lo stesso risultato, ma con l'uso di loop.
  2. Scrivere 2 funzioni che determinano la direzione di apertura della posizione dal primo tick che appare nel time frame dalle 09:00:00 alle 09:01:00. Se il primo tick è al rialzo, si dovrebbe aprire una posizione Buy; se il primo tick è al ribasso, si dovrebbe aprire una posizione Sell. Non è una strategia, è solo il mio "desiderio" di non usare la condizione casuale.
Sinceramente, Vladimir.
Assomiglia già un po' a un ToS. Questo è l'obiettivo. Ora l'algoritmo di soluzione deve essere formulato passo dopo passo
Se qualcosa non è chiaro, chiedete pure. A volte le cose semplici richiedono più tempo di quelle complicate.
 
VVT:

Vladimir non ha detto che è stupido, sta avendo difficoltà perché il metodo di apprendimento espresso a tempo limitato non è facile.

Ha preso gli "strumenti" senza leggere e capire le "istruzioni per l'uso", gli è già stato detto che, avendo capito la sintassi sarà molto più facile mettere insieme il "puzzle".

E non è mai troppo tardi per studiare, se uno ne avesse il desiderio, ci sono esempi di difesa di un dessert o di studio delle lingue straniere a 65 anni, per esempio...

Dobbiamo chiamare ogni cosa con il suo nome proprio - al momento sono muto come un tappo di sughero nella programmazione! Non capisco le cose elementari. Anche se, qui in elettronica le conoscenze che ho acquisito nella mia giovinezza, mi aiutano ancora a riparare, per esempio, un pulsante radio a distanza da un campanello. Lo scorso fine settimana, ho usato un multimetro e la lente d'ingrandimento di mio nonno per trovare un condensatore SMD difettoso di dimensioni microscopiche. Mostrava un guasto, un cortocircuito o "koza", come veniva chiamato dall'acronimo di cortocircuito. Cortocircuito. Ecco una foto del condensatore SMD "bucato" con ingrandimento 4X su uno smartphone e successiva elaborazione in Paint, poiché è un elemento troppo microscopico.


Ho deciso di divagare un po' e di mostrare almeno qualcosa!

E per quanto riguarda il desiderio di imparare il linguaggio, ce l'ho, così come la speranza di padroneggiare le basi della programmazione.

Saluti, Vladimir

 
Igor Makanu:

non stupido, ma impaziente, e stai cercando di imparare "la lingua inglese" con solo un dizionario - stai cercando di mettere parole straniere nelle combinazioni che vedi, senza considerare che le costruzioni linguistiche possono essere diverse

Voglio dire, dovete imparare la sintassi e le basi della programmazione C, ma non sarete in grado di scrivere niente di utile .... Oltre a questo "misterioso" per dichiarazione, ci sarà un malinteso... ad esempio, lo scopo delle variabili? - capire cos'è? - Non è difficile, ma dovete capire cosa vede la macchina quando legge il vostro programma.


Non so quale tutorial posso consigliarti. a volte guardo quihttps://metanit.com/sharp/tutorial/1.1.php

c'è anche C e C++https://metanit.com/cpp/

Se lo userete, potete saltare le sezioni su puntatori e classi e OOP. Non dovete studiarlo, dovete solo organizzare le vostre conoscenze.

Grazie, Igor, per il tuo continuo sostegno e consiglio. Ho cercato su Google sia C che C++, ma sento che ancora una volta ho bisogno di riposare un po', digerire e consolidare quello che ho già capito. E poi, ricominciare a leggere libri.

Saluti, Vladimir.

 
Valeriy Yastremskiy:
Sei già sul TOR. Questo è lo scopo. Ora l'algoritmo della soluzione dovrebbe essere formulato passo dopo passo
Se qualcosa non è chiaro, chiedete pure. A volte le cose semplici richiedono più tempo di quelle complesse.

Valery, ho da tempo i ToR(termini di riferimento) scritti nel mio consigliere, solo che non li ho postati nel tema perché tutti li vedessero.

Saluti, Vladimir.

/* Краткое описание советника Trailing_Stop. Код советника разрабатывается в соответствии с
   планом самообучения языку программирования MQL5. В советнике применена неттинговая система
   учёта позиций. Эта система учета подразумевает, что в один момент времени на счете может быть
   только одна открытая позиция по одному и тому же символу (финансовому инструменту). Алгоритм
   работы советника прост: один раз в торговый день ровно в 9 ч. 00 мин. по московскому времени
   будет открываться одна позиция в ту сторону, куда будет направлен первый тик. Например, если
   первый тик будет направлен вверх, то значит откроется позиция BUY, если первый тик будет вниз,
   то значит откроется позиция SELL. У открытой позиции сразу будет устанавливаться ордер Stop Loss
   фиксированного размера для минимизации потерь в том случае, если цена финансового инструмента
   станет двигаться в убыточном направлении. Если цена инструмента достигнет этого уровня, то
   позиция полностью закроется автоматически. Если цена финансового инструмента будет двигаться
   в прибыльном направлении, то тогда автоматически включится в работу Trailing_Stop (Трейлинг Стоп).
   Схема работы Трейлинг Стоп:
   1. С приходом новых котировок советник проверяет, прибыльна ли открытая позиция.
   2. Как только прибыль (в пунктах) станет равной либо большей той величины, которая указана во
      входном параметре советника "Уровень перестановки Stop Loss в безубыток", автоматически
      поступит команда для перемещения ордера Stop Loss на тот уровень цены, по которому открылась
      существующая позиция, т.е. в безубыток.
   3. Если цена и дальше продолжит движение с увеличением прибыльности позиции, то при превышении
      величины, указаной во входном параметре советника "Уровень перестановки Stop Loss в безубыток"
      на величину, которая указана во входном параметре "Шаг трейлинг стопа", Stop Loss вслед за
      текущей ценой автоматически переместится с уровня безубытка на величину этого шага.
   4. Если прибыльность позиции уменьшится, то модификации ордера происходить не будет. Таким
      образом, будет автоматически фиксироваться прибыль торговой позиции.
   Если в течении торгового дня открытая позиция не закроется по Stop Loss или Trailing_Stop, то в
   23 ч. 50 мин. советник принудительно закроет эту позицию.

   ВАЖНО!!! Советник создан для демо-счёта исключительно в учебных целях!
            Не предназначен для торговли на реальном счёте и извлечения прибыли!*/
 
MrBrooklin:

Valery, ho avuto a lungo il ToR(termini di riferimento) scritto nel mio consigliere, solo che non l'ho postato nel thread per tutti da vedere.

Saluti, Vladimir.

Lo schema di lavoro è più simile a un obiettivo. Non è nemmeno un'affermazione problematica. La soluzione è un algoritmo all'inizio, un algoritmo generale. È una dichiarazione di un problema. E poi gli algoritmi per risolvere quei problemi.
 
Valeriy Yastremskiy:
Uno schema di lavoro è più simile a un obiettivo. Non è nemmeno un'affermazione problematica. La soluzione è un algoritmo generale. Questa è una dichiarazione di un problema. E poi gli algoritmi per risolvere quei problemi.

Capisco.

Con rispetto, Vladimir.

 
Valeriy Yastremskiy:

L'operatore del ciclo e gli operatori nel corpo del ciclo. Non esattamente il classico russo.

Tutto è buono, naturalmente, ma dov'è l'iteratore i nel corpo del ciclo? E per ottenere il simbolo di posizione e il suo numero magico, deve essere prima selezionato. La descrizione della posizione è una struttura (in µl5 tutta la struttura e gli ordini e il tempo e le operazioni) e si compila attraverso la selezione, tramite l'iteratore che non è biglietto di posizione, ma numero di posizione. E dobbiamo ricordare che nella struttura della descrizione della posizione, è sempre l'ultima selezione di posizione.

MrBrooklin:

Buona giornata e buon umore a tutti!

Continuo a studiare il linguaggio di programmazione MQL5. Ho iniziato uno studio dettagliato dell'operatore for loop... Per favore inviatemi suggerimenti, non codice corretto, ma in parole, o non studierò mai MQL5.

Sinceramente, Vladimir.

Ecco - permettetemi di dissentire con voi, potete e dovete codificare, ciò che vi impedisce di entrare nella sua essenza... capire e così via ... anche IMHO, ci sono articoli, ci sono robot in kodobase - leggere, analizzare il codice già pronto - imparare lo stile di scrittura subito. Perché vuoi reinventare la ruota? Imparate subito dal codice alfabetizzato.

Ecco uno strascico di V. Karputov - è in ROBOTS, guardate - adattatelo ai vostri bisogni (termini e alle vostre fantasie).

P.S. Grazie a te, il soggetto di questo ramo, ho cominciato a capire il codice, le sue caratteristiche..., a studiare gli articoli e a ripetere le cose fondamentali per me stesso...

Grazie per il suggerimento! :-) (non scherzo)

TrailingStop
TrailingStop
  • www.mql5.com
Это простой пример советника с реализацией трейлинг-стопа. В нем всего два параметра: TrailingStop — собственно отступ между ценой и уровнем StopLoss. TrailingStep — защита от чрезмерно частой модификации позиции.  Как работает TrailingStop (трейлинг, TrailingStop) — на примере позиции Buy: ...