Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1237

 
Alexey Viktorov:

L'intoppo è nell'organizzazione del codice. Ho provato a guardarlo, ma è scritto in modo tale che il mio cervello non lo percepisce. E non so come spiegare quali siano gli errori.

Posso solo consigliarvi di iniziare dall'inizio e con ordine.

  1. Cominciate a individuare tutte le candele N.
  2. Poi imposta una condizione per scegliere quale candela evidenziare.
E infine imparare a usare il debugger.

Quindi non devo spiegare tutto qui, ho dato commenti completi nel mio thread. Date un'occhiata, se non vi dispiace...

 
Сергей Таболин:

Per non essere troppo prescrittivo, ho dato commenti completi nel mio thread. Date un'occhiata, se non vi dispiace...

Sergey, non ho alcun desiderio di entrare nel codice. È come nel proverbio: "Se un artiglio si incastra, tutto l'uccello è perduto". Solo l'inizio.

   if(rates_total - prev_calculated > 1)
   {
      if(prev_calculated == 0)
      {

Quando prev_calculated == 0 può esserci rates_total - prev_calculated < 1?

 
Alexey Viktorov:

Sergei, non ho alcun desiderio di entrare nel codice. Dopo tutto, è come il proverbio: "Se un artiglio si blocca, tutto l'uccello è perso". Solo l'inizio.

Quando prev_calculated == 0, può rates_total - prev_calculated < 1?

Sì, è possibile. Ad ogni spunta. Se non c'è un fatto di apertura di un nuovo bar e nessun cambio di storia, e se non è la prima corsa. In questi casi è sempre zero.

 
Artyom Trishkin:

Can. Ad ogni spunta. In assenza di una nuova apertura di bar e nessun cambiamento di storia, e se non la prima corsa. Sempre zero in questi casi.

Artyom dare un'occhiata più da vicino. Se non ci sono barre calcolate! Poi otteniamo che non ci sono affatto barre sul grafico! Allora cosa c'è da contare? Probabilmente avrebbe potuto essere in MT3 e tale sovra-assicurazione si estende da lì.

 
Alexey Viktorov:

Sergei, non ho alcun desiderio di entrare nel codice. Dopo tutto, è come il proverbio: "Se un artiglio si blocca, tutto l'uccello è perso". Solo l'inizio.

Quando prev_calculated == 0, può rates_total - prev_calculated < 1?

Beh, ammettiamolo)))

Tuttavia, sono rimasto sorpreso... Non sono esperto di indicatori, ma dalla documentazione so esattamente che all'avvio prev_calculated = 0 e oltre quanto contato. Dati totali 100, contati 100-100=0...

Ma non è nemmeno questo il punto! La mia condizione non è < ma > ! La differenza è evidente! Ed è così che determino il momento di inizio dell'indicatore. Forse non è corretto secondo tutti i canoni, ma funziona! La domanda è perché quando i buffer dell'indicatore sono riempiti (corretto!) le candele non vengono disegnate?

Dammi un indizio!

 
Alexey Viktorov:

Artyom dare un'occhiata più da vicino. Se non ci sono barre calcolate!!! Allora non ci sono affatto barre sul grafico!!! Cosa c'è da contare allora? Probabilmente avrebbe potuto essere in MT3 e tale riassicurazione viene da lì.

Hai fatto una domanda chiara:

Tassi_totale - prev_calcolato < 1?

e ho ottenuto la stessa chiara risposta: nel 99,99% dei casi :)

Ti sei inventato tu stesso la cifra della percentuale :)

 
Artyom Trishkin:

Hai fatto una domanda chiara:

e hai avuto una risposta altrettanto chiara: il 99,99% delle volte :)

Sei arrivato da solo con la cifra della percentuale :)

E la prima parte della frase e la domanda nel suo insieme?

 

Сергей Таболин:

Dati totali 100, contati 100 100-100=0...

Leggi le mie risposte ad Artyom. Ce ne sono solo due.

 
Сергей Таболин: La domanda è perché le candele non vengono disegnate quando i buffer dell'indicatore sono riempiti (correttamente!)?

Indica la strada!

Sei sicuro che il riempimento sia corretto?

Ti ho suggerito di iniziare selezionando le barre dopo un numero N, o almeno un'ultima chiusura. L'avete provato? Fa il rendering? Non ti interessa avere successo con il tuo cervello? Stai chiedendo di ficcare il naso......... ti stai offrendo di mostrare a qualcuno quanto sia più intelligente......... certamente non lo farò.

 
Alexey Viktorov:

Sei sicuro che il riempimento sia corretto?

Ti ho suggerito di iniziare selezionando le barre dopo un numero N, o almeno un'ultima chiusura. L'avete provato? Fa il rendering? Non ti interessa avere successo con il tuo cervello? Stai chiedendo di ficcare il naso......... suggerendo a qualcuno di mostrare quanto sia più intelligente......... non ho assolutamente intenzione di farlo.

Alexey, sono interessato )))) Ma non vedo l'errore! E non c'è vergogna nell'imparare. E se qualcuno è più intelligente o più esperto, non ci vedo niente di male neanche in questo.

Ho appena iniziato un indicatore con un grande parametro di input per la dimensione di una candela. Voglio avere candelabri più piccoli.

2020.08.08 10:38:51.184 newCandles (USDJPY,H1)  ~~~~ Предварительный расчёт индикатора.
2020.08.08 10:38:51.343 newCandles (USDJPY,H1)  2019.01.02 06:00:00 >>> Свеча 00000 >> open = 109.419 hihg = 109.462 low = 105.388 close = 105.388 > Сформирована за 122162 тика.
2020.08.08 10:38:51.785 newCandles (USDJPY,H1)  2019.01.03 00:41:15 >>> Свеча 00001 >> open = 105.388 hihg = 109.388 low = 105.268 close = 109.388 > Сформирована за 1336258 тиков.
2020.08.08 10:38:55.673 newCandles (USDJPY,H1)  2019.01.17 21:50:34 >>> Свеча 00002 >> open = 109.388 hihg = 112.398 low = 105.388 close = 105.388 > Сформирована за 11546466 тиков.
2020.08.08 10:38:57.434 newCandles (USDJPY,H1)  2019.08.09 18:57:55 >>> Свеча 00003 >> open = 105.388 hihg = 109.388 low = 104.453 close = 109.388 > Сформирована за 5400916 тиков.
2020.08.08 10:38:59.257 newCandles (USDJPY,H1)  2019.11.07 17:57:24 >>> Свеча 00004 >> open = 109.388 hihg = 112.225 low = 105.384 close = 105.384 > Сформирована за 5555641 тик.
2020.08.08 10:38:59.391 newCandles (USDJPY,H1)  2020.03.06 11:47:26 >>> Свеча 00005 >> open = 105.384 hihg = 105.732 low = 101.377 close = 101.377 > Сформирована за 272724 тика.
2020.08.08 10:38:59.488 newCandles (USDJPY,H1)  2020.03.09 15:37:48 >>> Свеча 00006 >> open = 101.377 hihg = 105.378 low = 101.187 close = 105.378 > Сформирована за 314847 тиков.
2020.08.08 10:39:00.400 newCandles (USDJPY,H1)  2020.03.10 21:05:27 >>> Свеча 00007 >> open = 105.378 hihg = 109.385 low = 103.094 close = 109.385 > Сформирована за 2045775 тиков.
2020.08.08 10:39:03.802 newCandles (USDJPY,H1)  2020.03.19 04:13:11 >>> Свеча 00008 >> open = 109.385 hihg = 111.711 low = 105.385 close = 105.385 > Сформирована за 10250092 тика.
2020.08.08 10:39:03.974 newCandles (USDJPY,H1)  ~~~~ Предварительный расчёт индикатора закончен.

Tutti i prezzi delle candele sono calcolati e inizializzati dai buffer degli indicatori. Tutto è corretto. Ma non c'era nessun rendering. E non capisco perché...