2 and 10 moving average cross system - page 3

 

Just for kicks, here is the same MM params but taking PSAR reverses as the signals. Where do I get this BBHist from and what is the rule?

Files:
test_1.gif  6 kb
test_1.htm  576 kb
 

Here is the code for the open

/////////////////////////////////////////////////////////////////////////////////////////////

void CheckForOpen()

{

if (Volume[0] > 1)

{

return;

}

double ma1_1 = iMA(NULL, 0, Ma1, 0, MODE_SMA, PRICE_CLOSE, 1);

double ma1_2 = iMA(NULL, 0, Ma1, 0, MODE_SMA, PRICE_CLOSE, 2);

double ma2_1 = iMA(NULL, 0, Ma2, 0, MODE_SMA, PRICE_CLOSE, 1);

double ma2_2 = iMA(NULL, 0, Ma2, 0, MODE_SMA, PRICE_CLOSE, 2);

if ((ma1_1 ma2_2)

{

OpenSellWrapper();

return;

}

if ((ma1_1 > ma2_1 || ma1_1 == ma2_1) && ma1_2 < ma2_2)

{

OpenBuyWrapper();

}

}

It waits for the cross, not the touch.

 

BBHisto is the histogram of the price cutting below or above the middle MA in the Bollienger Band.

I just finished writing Trend Pulse, will you load it and see if it works on your charts? I think there may still be some bugs.

 
Craig:
Here is the code for the open

/////////////////////////////////////////////////////////////////////////////////////////////

void CheckForOpen()

{

if (Volume[0] > 1)

{

return;

}

double ma1_1 = iMA(NULL, 0, Ma1, 0, MODE_SMA, PRICE_CLOSE, 1);

double ma1_2 = iMA(NULL, 0, Ma1, 0, MODE_SMA, PRICE_CLOSE, 2);

double ma2_1 = iMA(NULL, 0, Ma2, 0, MODE_SMA, PRICE_CLOSE, 1);

double ma2_2 = iMA(NULL, 0, Ma2, 0, MODE_SMA, PRICE_CLOSE, 2);

if ((ma1_1 ma2_2)

{

OpenSellWrapper();

return;

}

if ((ma1_1 > ma2_1 || ma1_1 == ma2_1) && ma1_2 < ma2_2)

{

OpenBuyWrapper();

}

}

It waits for the cross, not the touch.

I was suprised by the results of the 2 10, I expected pretty bad without any filters, but not that bad. That was a steady decline, do not pass go, do not collect 2 gees

 
Craig:
Just for kicks, here is the same MM params but taking PSAR reverses as the signals. Where do I get this BBHist from and what is the rule?

SEE! Thats not what the charts say, and it cant just be a case of me not seeing all the bad trades. I can literally go from left to right and see good trade after good trade.

OH.....there is one more filter that I use. It involves a repainting indicator though, but it works pretty well. You take the DTzigzag indicator and ONLY take sell signals if the zigzag places a star above the price atleats an hour before. Reverse for buy. I dont know how I forgot this, since its a primary filter for me, but it gets rid of alot of the noise.

The volatmeter is another good noise to signla ratio filter but it keeps you out of ALOT of trades.

 

OK, now with BBHisto

/////////////////////////////////////////////////////////////////////////////////////////////

void CheckForOpen()

{

if (Volume[0] > 1)

{

return;

}

double ma1_1 = iMA(NULL, 0, Ma1, 0, MODE_SMA, PRICE_CLOSE, 1);

double ma1_2 = iMA(NULL, 0, Ma1, 0, MODE_SMA, PRICE_CLOSE, 2);

double ma2_1 = iMA(NULL, 0, Ma2, 0, MODE_SMA, PRICE_CLOSE, 1);

double ma2_2 = iMA(NULL, 0, Ma2, 0, MODE_SMA, PRICE_CLOSE, 2);

double bb_hist = iCustom(NULL, 0, "bbhisto", 13, 0, 1);

if ((ma1_1 ma2_2 && bb_hist < 0)

{

OpenSellWrapper();

return;

}

if ((ma1_1 > ma2_1 || ma1_1 == ma2_1) && ma1_2 0)

{

OpenBuyWrapper();

}

}

What shall we add next!

Files:
test_2.htm  982 kb
test_2.gif  6 kb
 

you've got to use filters my man. But I have to admit even without filteres in place I cant account for the steady decline. A decline for sure, but there should be more lucky trades. I think your backtester is just evil

 

Is there any way to add some filters to the trading rules? Say.....only take trades that have a star from the DTzigzag in their direction for starters. Second........Heat must be positive. Take a looksy at the picture I attatched. It shows a signal that was filtered out because DTzigzag had a prediction that the price would RISE and not fall, and i've found that this indicator is very accurate on lower time frames. Heat is indicating that the signal is just noise and has no real push behind it.

Files:
 

No with DT

/////////////////////////////////////////////////////////////////////////////////////////////

void CheckForOpen()

{

if (Volume[0] > 1)

{

return;

}

double ma1_1 = iMA(NULL, 0, Ma1, 0, MODE_SMA, PRICE_CLOSE, 1);

double ma1_2 = iMA(NULL, 0, Ma1, 0, MODE_SMA, PRICE_CLOSE, 2);

double ma2_1 = iMA(NULL, 0, Ma2, 0, MODE_SMA, PRICE_CLOSE, 1);

double ma2_2 = iMA(NULL, 0, Ma2, 0, MODE_SMA, PRICE_CLOSE, 2);

double bb_hist = iCustom(NULL, 0, "bbhisto", 13, 0, 1);

double dt = iCustom(NULL, 0, "dtzigzag", 60, 12, 5, 3, 0, 1);

if ((ma1_1 ma2_2 && bb_hist < 0 && dt != 0)

{

OpenSellWrapper();

return;

}

if ((ma1_1 > ma2_1 || ma1_1 == ma2_1) && ma1_2 0 && dt != 0)

{

OpenBuyWrapper();

}

}

Not sure that I'm using the DT correctly, it does cut the number of trades, but the remaining ones are no better...

Files:
test_3.gif  7 kb
test_3.htm  289 kb
 

DTzigzag is the gold star that appears either above or below the price.

Reason: