Chi vuole una strategia? Molto e gratis) - pagina 53

 
SergNF >> :

E penso che ci dovrebbero essere iMaxBars da dtStartingDate "a destra" in modo da poter spostare le iMaxBars delle dimensioni della finestra intorno al file!

Logicamente. Usato per fare questo. Il problema si presenta quando si passa a un file di data diverso. Date horizon è un'impostazione globale - per tutti i valori e i periodi.


dtStartingDate | <- iMaxBars -> | dEndDate


Ma se dtStartingDate delle barre è inferiore a iMaxBars. allora dtStartingDate dovrebbe avere la priorità, perché le date sono più intuitive delle barre.

Lo volevo anch'io, ma non ha funzionato bene. Così l'ho cambiato.


È perfetto.



 
Miroslav_Popov писал(а) >>

Logicho. C'era una variante del genere. Il problema si verifica quando si passa a un file di data diverso. L'orizzonte della data è un'impostazione globale - per tutti i valori e i periodi.

dtStartingDate | <- iMaxBars -> | dEndDate

Perché questa procedura non dovrebbe essere chiamata quando si cambia un Symbol/Timeframe?

Inoltre, la procedura riempie l'array aBar[iBar - iTempStartBar] e limita l'intervallo di ricerca - questa è solo un'ottimizzazione del runtime!? e la ricerca iTempStartBar/iTempEndBar può essere da 0 a iBar e non preoccuparsi

Lo volevo anch'io, ma non ha funzionato bene. Così l'ho cambiato.

Non devi rendere le cose più difficili.Metti la ricerca della data (se selezionata) in barre da 0 a iBars, e se la differenza tra iTempEndBar-iTempStartBar > iMaxBars, allora iTempEndBar=iTempStartBar+iMaxBars

'

Cioè (non ho guardato tutte le opzioni - ne aggiungerò altre più tardi)

if( bUseStartDate) 
{
 цикл поиска iTempStartBar от 0 до iBars
}
иначе
{
 iTempStartBar = iBars - iMaxBars
}

if( bUseEndDate) 
{
 цикл поиска iTempEndBar от 0 до iBars
 if(! bUseStartDate)
 {
  iTempStartBar= iTempStartBar - iMaxBars
 }
}
иначе
{
 iTempEndBar = iTempStartBar + iMaxBars
}

if( iTempEndBar- iTempStartBar > iMaxBars) 
{
 iTempEndBar = iTempStartBar + iMaxBars
}
 
if( bUseStartDate) 
 цикл поиска iTempStartBar от 0 до iBars
иначе
 iTempStartBar = iBars - iMaxBars

if( bUseEndDate) 
 цикл поиска iTempEndBar от 0 до iBars
иначе
 iTempEndBar = iTempStartBar + iMaxBars

if( iTempEndBar - iTempStartBar < MINIMUMBARS)
{
   iTempStartBar = iTempEndBar - MINIMUMBARS;
   if( iTempStartBar < 0)
   {
     iTempStartBar = 0;
     iTempEndBar = MINIMUMBARS;
   }
}

if( iTempEndBar- iTempStartBar > iMaxBars) 
{
   iTempStartBar = iTempEndBar - iMaxBars;
   if( iTempStartBar < 0)
   {
     iTempStartBar = 0;
     iTempEndBar = iMaxBars;
   }
}
 
Miroslav_Popov писал(а) >>

Controlla per MINIMBARS e 0 - naturalmente.

Ma ho anche aggiunto una variante in cui l'utente ha messo bUseEndDate, non ha messo bUseStartDate, e la finestra è stata specificata in barre (evidenziata in grassetto).

'

Anche riguardo alle MINIMBAR non è così chiaro - aggiungere alla barra iniziale (e "saltare fuori" fuori dal file) o sottrarre dalla barra finale (e "saltare fuori" fuori dal file) :) Ma è come nella descrizione!!! :)

O meglio ancora, l'avviso "Impara a contare!" e il pulsante Accetta non è attivo!

'

SZY. E se dopo aver regolato iTempEndBar/iTempStartBar a causa di iMaxBars o MINIMUMBARS per cambiare le date nelle ComboBox (anche se sono inattive), sarebbe fantastico.

 

Про MINIMUMBARS тоже не так однозначно - прибавлять к стартовому бару (и "выскочить" за пределы файла)

FSB non caricherà il file di dati con barre < 300. Messaggio di errore.

Meglio ancora, l'avviso "Impara a contare!" e il pulsante Accetta è inattivo!


Se siete nell'"Orizzonte dei dati" va bene. Ma è possibile impostare questo correttamente e dopo di che passare a un'altra fonte di dati.


La versione attuale di "Data Horizon" è affidabile. Penso che non ci sia nessun caso di incidente.

Cercherò di migliorarlo...

 
zfs писал(а) >>
Momentum MA Oscillator - Sto lottando per trovare l'errore di mancata corrispondenza. Tutto sembra essere lo stesso tranne il valore dell'indicatore. Pubblicherò l'intestazione, se necessario.

Resta da vedere

float[] afBasePrice = Price(basePrice);

che è la base del calcolo del FSB

è esattamente

      wprice_i=(High[ i]+Low[ i]+2*Close[ i])/4;
      wprice_mom=(High[ i+ MomPeriod]+Low[ i+ MomPeriod]+2*Close[ i+ MomPeriod])/4;

HH. Finora sono solo convinto che iMAOnArray (MT4) = MovingAverage (FSB) :) E quest'ultimo è un "inserimento stupido in ME che sostituisce float con double".

Per quanto riguarda gli array che sono da destra a sinistra in MT4 e da sinistra a destra in FSB ... la cosa principale è come prepararli, cioè alimentarli all'input della funzione scritta.

Se!!! lo riscriverò, allora solo come "Funzioni", ma non come "Indicatori".

E finché non vedrò qualcosa di decente su OOS, non penserò nemmeno al primo "Se".

 

Orizzonte dei dati migliorato!!!!



La data di inizio e la data di fine limitano le barre di test;

300 <= Test Bars <= 50.000

File:
fsb_update.zip  540 kb
 
Miroslav_Popov писал(а) >>
Orizzonte dei dati migliorato!!!!

Tutto sembra essere corretto finora:

'

iMaxBars 50 000

bUseStartDate Falso

bUseEndDate Flase

>>> Journal by bars 50.000, StartDate = 20.02.01 EndDate = 18.03.09 (ultima data in archivio)

'

iMaxBars 50 000

bUseStartDate Vero (01.09.2008)

bUseEndDate Flase

>>> In 'Journal by bars' 3 318, StartDate = 01.09.08 EndDate = 18.03.09 (ultima data nel file)

'

iMaxBars 50 000

bUseStartDate Vero (01.09.2008)

bUseEndDate Vero (01.01.2009)

>>> In 'Journal by bars' 2 048, StartDate = 01.09.08 EndDate = 31.12.08

'

iMaxBars 50 000

bUseStartDate Falso

bUseEndDate Vero (01.01.2009)

>>> Journal by bars 50.000, StartDate = 06.12.00 EndDate = 31.12.08

'

iMaxBars 50 000

bUseStartDate Falso

bUseEndDate Vero (01.05.1999)

>>> In 'Journal by bars' 2 015, StartDate = 04.01.99 (prima data nel file) EndDate = 30.04.2009

'

Il generatore a 300 bar conta qualcosa e può essere interrotto.

 

Cosa significa frattale visibile?

Il frattale può essere ombreggiato.

 
zfs >> :

Cosa significa frattale visibile?

Il frattale può essere ombreggiato.

Quando apri gli occhi e guardi il monitor, è visibile. Quando si chiude, diventa invisibile - essere ombreggiato.