Who wants a strategy? Lots and for free) - page 53

 
SergNF >> :

And I think there should be iMaxBars from dtStartingDate "to the right" so you can move the window size iMaxBars around the file!

Logically. Used to do this. The problem comes up when you switch to a different date file. Date horizon is a global setting - for all Values and periods.


dtStartingDate | <- iMaxBars -> | dEndDate


But if dtStartingDate of bars is less than iMaxBars. then dtStartingDate should have priority, because dates are more intuitive than bars.

I wanted it too, but it didn't work fine. So I changed it.


It's perfect.



 
Miroslav_Popov писал(а) >>

Logicho. There was a variant like that. The problem occurs when you switch to a different date file. Date horizon is a global setting - for all values and periods.

dtStartingDate | <- iMaxBars -> | dEndDate

Why shouldn't this procedure be called when changing a Symbol/Timeframe?

Moreover, the procedure fills the array aBar[iBar - iTempStartBar] and limiting the search range - this is just an optimization of runtime!? and search iTempStartBar/iTempEndBar can be from 0 to iBars and not bother

I wanted it too, but it did not work fine. So I changed it.

You don't have to make it any harder.Put date search (if checked) in bars from 0 to iBars, and if the difference between iTempEndBar-iTempStartBar > iMaxBars, then iTempEndBar=iTempStartBar+iMaxBars

'

I.e. (haven't looked at all the options - I' ll add more later)

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 писал(а) >>

Checks for MINIMUMBARS and 0 - of course.

But I also added a variant where the user put bUseEndDate, didn't put bUseStartDate, and the window was specified in bars (highlighted in bold).

'

About MINIMUMBARS also not so clear - add to the start bar (and 'jump out' outside the file) or subtract from the end bar (and 'jump out' outside the file) :) But that's as in the description!!! :)

Or better yet, the warning 'Learn to count!' and the Accept button is not active!

'

SZY. And if after adjusting iTempEndBar/iTempStartBar because of iMaxBars or MINIMUMBARS to change dates in ComboBoxes (even if they are inactive), it would be great.

 

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

FSB will not load data file with bars< 300. Error Message.

Better yet, the warning "Learn to read!" and the Accept button is inactive!


If you are in the "Data Horizon" it's OK. But you can set this correctly and after that to change to another data source.


The current version of "Data Horizon" is reliable. I think there is no case to crash.

I'll try to improve it...

 
zfs писал(а) >>
Momentum MA Oscillator - I'm struggling to find the mismatch error. Everything seems to be the same except indicator value. I'll post the header if I have to.

It remains to be seen

float[] afBasePrice = Price(basePrice);

which is the basis of the FSB's calculation

is exactly

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

HH. So far I'm only convinced that iMAOnArray (MT4) = MovingAverage (FSB) :) And the latter is a "dumb insertion into ME replacing float with double".

Regarding arrays that are right to left in MT4 and left to right in FSB ... the main thing is how to prepare them, i.e. to feed them to the input of written function.

If!!! I will rewrite it, then only as "Functions", but not as "Indicators".

And until I see something decent on OOS, I won't even think about the first "If".

 

Data Horizon Improved!!!!



Starting Date and End Date limit the testing bars;

300 <= Testing Bars <= 50,000

Files:
fsb_update.zip  540 kb
 
Miroslav_Popov писал(а) >>
Data Horizon Improved!!!!

Everything seems to be correct so far:

'

iMaxBars 50 000

bUseStartDate False

bUseEndDate Flase

>>> Journal by bars 50,000, StartDate = 20.02.01 EndDate = 18.03.09 (Last date on file)

'

iMaxBars 50 000

bUseStartDate True (01.09.2008)

bUseEndDate Flase

>>> In 'Journal by bars' 3 318, StartDate = 01.09.08 EndDate = 18.03.09 (Last date on file)

'

iMaxBars 50 000

bUseStartDate True (01.09.2008)

bUseEndDate True (01.01.2009)

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

'

iMaxBars 50 000

bUseStartDate False

bUseEndDate True (01.01.2009)

>>> Journal by bars 50,000, StartDate = 06.12.00 EndDate = 31.12.08

'

iMaxBars 50 000

bUseStartDate False

bUseEndDate True (01.05.1999)

>>> In 'Journal by bars' 2 015, StartDate = 04.01.99 (First date on file) EndDate = 30.04.2009

'

Generator at 300 bars counts something and can be aborted.

 

What does visible fractal mean?

The fractal can be shadowed.

 
zfs >> :

What does visible fractal mean?

The fractal can be shadowed.

When you open your eyes and look at the monitor, it is visible. When you close it, it becomes invisible - be shadowed.