Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 27

 
Ho una domanda - cosa mostra iClose() nel tester per la barra zero (la barra più a destra sul grafico del tester aperto ) del timeframe superiore? Se non mi sbaglio, risulta che la barra non è ancora chiusa ma vediamo già il suo prezzo di chiusura, come se fosse già stata completata. L'ho controllato in modalità tutte le zecche. È così?
 
Close[0] e iClose(Symbol(),Period(),0) - mostrano sempre l'ultimo prezzo corrente (Bid)
 
FAQ:
Close[0] e iClose(Symbol(),Period(),0) - mostrano sempre l'ultimo prezzo corrente (Bid)

Capisco che se si specifica "0", il tester considererà l'ultima barra dell'intera storia. In questo caso considero la barra di destra del grafico, ma non è l'ultima.

Preferirei formulare la domanda in modo diverso - il tester è aperto con un periodo di M5 e usando i comandi iClose/ iHigh/... per simulare il lavoro con una barra sul periodo H1. Posso usare iHigh() per vedere come cambia l'altezza di una barra simulata sul periodo H1 quando si aggiungono nuove barre M5 al tester?
O usando iClose/ iHigh/... vediamo sempre i valori di una barra completamente formata nello Strategy Tester alla barra zero?

 
Sì, c'è un tale buco nel tester, almeno c'era. Penso che ci sia stata una correzione in una delle nuove build, devo controllare.
 
Come si può rimuovere la linea media in un canale di regressione lineare? Su quale linea dovrei scrivere questo nell'EA?
 
FAQ:
Sì, c'è un tale buco nel tester, almeno c'era. Penso che ci sia stata una correzione in una delle nuove build, devo controllare.

Ora ho controllato nella versione 509, ma il risultato è lo stesso.
Nel mio codice di indicatore (funziona in EA vuoto in modalità di visualizzazione) non c'è nessun errore? -

I commenti sullo schermo mostrano che nel momento in cui la prima barra M5 di una nuova barra H1 appare iClose / iHigh / ... ecc. sanno già come finiranno le cose per H1, sbirciando nel futuro - buona idea per un graal da vendere ;)))

int start() {

   int Bars_Per_Chart                   = WindowBarsPerChart()   + 1;
   int First_Visible_Bar                  = WindowFirstVisibleBar();
   int Last_Bar_On_Right              = First_Visible_Bar - Bars_Per_Chart + 1;

   if( Last_Bar_On_Right<0 ) {
       Last_Bar_On_Right              = 0;
       Bars_Per_Chart                    = First_Visible_Bar + 1;
   }


      int          Shift_MTF_0           = iBarShift(MTF_Currency, MTF_TimeFrame, Time[Last_Bar_On_Right] );

      double    MTF_Close_0        = iClose(   MTF_Currency, MTF_TimeFrame, Shift_MTF_0 );
      double    MTF_Open_0         = iOpen(    MTF_Currency, MTF_TimeFrame, Shift_MTF_0 );
      double    MTF_High_0          = iHigh(    MTF_Currency, MTF_TimeFrame, Shift_MTF_0 );
      double    MTF_Low__0         = iLow(     MTF_Currency, MTF_TimeFrame, Shift_MTF_0 );
      datetime MTF_Time_0          = iTime(    MTF_Currency, MTF_TimeFrame, Shift_MTF_0 );

 . . . 
 
atztek:

Ho controllato ora nella versione 509, ma il risultato è lo stesso.
Il mio codice indicatore (lo faccio girare in un EA vuoto in modalità visualizzazione) non mostra alcun errore? -

I commenti sullo schermo mostrano che nel momento in cui la prima barra M5 di una nuova barra H1 appare iClose / iHigh / ... ecc. sanno già come finirà per H1, vedere il futuro.







Vuoi dire che stai disegnando l'indicatore sul grafico in modalità visualizzazione?

Allora tutto è corretto. L'indicatore prende l'ultimo dato conosciuto

 
Vinin:


Vuoi dire che stai disegnando l'indicatore sul grafico in modalità visualizzazione?

Allora tutto è corretto. L'indicatore prende l'ultimo dato conosciuto


Sì, ho una shell EA e la uso per testare le prestazioni dell'indicatore sulla storia.
Apparentemente il problema sarà risolto con iHighest / iLowest per M5 considerando il tempo di apertura/chiusura di H1.
 

Per favore consigliatemi, perché l'indicatore MACD è stampato invece di 6 cifre decimali solo 4...e quindi 0.000190 è 0.000110 lì?

Ho provato NormalizeDouble(MACD,6) - nessun risultato... stesse 4 cifre...

 
lottamer:

Per favore consigliatemi, perché l'indicatore MACD è stampato invece di 6 cifre decimali solo 4...e quindi 0.000190 è 0.000110 lì?

Ho provato NormalizeDouble(MACD,6) - nessun risultato... stesse 4 cifre...


Prova a usareDoubleToStr