Free trade now
Gday: a D1 Stochastic OB/OS trading robot
-
ROBST3R
- Trader
- Posts: 86
- Joined: Fri Dec 16, 2011 7:33 pm
Re: Gday: a D1 Stochastic OB/OS trading robot
Opened aud/usd manually and first trade was taken by the ea! 50 pips secured!
Free trade now
Free trade now
You do not have the required permissions to view the files attached to this post.
-
Aussie Phil
- Posts: 9
- Joined: Tue Dec 06, 2011 9:05 am
Re: Gday: a D1 Stochastic OB/OS trading robot
Hi Fxozgirl,
Good to see your system has evolved into a wonderful Ea and thanks to Steve and the gang. I have been trading this manually for quite some time with success and was surprised that your journal at FF went quiet.
Phil
Good to see your system has evolved into a wonderful Ea and thanks to Steve and the gang. I have been trading this manually for quite some time with success and was surprised that your journal at FF went quiet.
Phil
- fxozgirl
- Trader
- Posts: 1176
- Joined: Wed Nov 16, 2011 9:16 am
- Location: Melbourne, Australia
Re: Gday: a D1 Stochastic OB/OS trading robot
RockyJ wrote:
I am assuming the ea jumping stop works the same as described here except the final 3rd runs....... I also noted somewhere that the breakeven stop should be set to False to allow the 1st jump at 50 to do its thing...
Yes this is my understanding as well
- fxozgirl
- Trader
- Posts: 1176
- Joined: Wed Nov 16, 2011 9:16 am
- Location: Melbourne, Australia
Re: Gday: a D1 Stochastic OB/OS trading robot
What Spyder saidspyderman wrote:Empty4 doesn't multiply the pips profit by your lot size. If it's showing 70 pips profit it's that many whether you have .01 lots or 5 standard lots. Now if you're showing your profit in $ then that's another story.fx8000 wrote:
Profit = 70 pips, lot = 0.3.
Therefore, price has moved 70 pips divided by 3 = 23 pips.
Jump stop will be triggered when price has moved 50 pips.
Cheers.
- fxozgirl
- Trader
- Posts: 1176
- Joined: Wed Nov 16, 2011 9:16 am
- Location: Melbourne, Australia
Re: Gday: a D1 Stochastic OB/OS trading robot
garyfritz wrote:I threw together a Tradestation system to test Shelley's strategy, or something close to it.
I wanted to act on the close of the daily bar only, so it's easy to do visual backtesting. It even works almost as well if you only adjust stops (jumping, breakeven) at the end of the bar. Other than that I think I've implemented the same rules as Shelley's original strategy:
* Open 3 units, default to 200 pip SL
* Take off 1 unit at +50 pips and move stop to +2
* Take off 2nd unit at +100 pips
* Let 3rd unit ride with 50pip jumping stop: move stop to +50 when you hit +100, move stop to +100 when you hit +150, etc. (Right?)
* Exit if stochastic slowK crosses over/under slowD.
I've backtested it quite a bit. I'm finding it works great on some pairs and lousy on others. Different pairs do best with different SL sizes. I haven't played much with varying the TP size.
In general EUR and USD pairs do pretty well; AUD, CAD, and CHF pairs do so-so, GBP and NZD pairs do poorly. I would trade it with the "Good pairs" below, probably using 200 pip SL for all pairs. Trading those 9 pairs with SL=200 would have made 891+2322+2784+2680+857+1599+1631+880+2127 = 15771 pips in 2011. The equity curve is almost ruler-straight, but unfortunately that's cherry-picking the best pairs with hindsight. You'd almost certainly do worse than that trading forward.
BTW I'm not sure yet but I'm not certain the 3-lot model is necessary. It seems to work almost as well exiting the full position at a single TP -- at least almost as well as my simplified end-of-bar model. The 3-lot model might work better if you're doing realtime jumping stops &etc.
Gary
Good pairs:
AUDUSD: very good for SL = 300, OK for 250
CADCHF: very good for SL >= 150
EURAUD: good at any level, awsome at 150-200 or above
EURJPY: good at SL = 100, INCREDIBLE at >= 150
GBPUSD: Bad in 2010, good in 2011 for 200-250
NZDCHF: good in 2011 at 100-150, best at 200-250
NZDJPY: good in 2011 at SL > 100-150
USDCAD: good at any level, best 100-150
USDJPY: Great at SL 150-250
OK pairs:
AUDJPY: SL = 100 OK for last year
EURCAD: OK at SL = 150-200, great at >= 250
EURCHF: Good at 200 but several recent losses hurt it, great at 300
EURGBP: Great for last 6 months at SL >= 150, terrible before
EURNZD: Great until mid-2011 for SL 150-250, lots of losses since
GBPJPY: Great until early/mid 2011, then sideways
USDCHF: Great for SL 100-250 until mid-2011, then down
Not recommended:
AUDCAD: have to use 300 SL, then it's great for the last year
AUDCHF: SL = 50 is good for the past 6 months
AUDNZD: up & down, small SLs OK for the last few months
CHFJPY
EURUSD
GBPAUD: OK at SL=50, bad above
GBPCAD
GBPCHF
GBPNZD
NZDCAD
NZDUSD
Interesting results Gary...when I was trading manually, the stop loss would vary depending on the pair being traded to take into account the volatility of the pair and the daily range.
Stop losses ranged between 200 pips for less volatile pairs & 300 pips for the more volatile pairs.
I used the daily range information from Bob to decide the stop loss
- fxozgirl
- Trader
- Posts: 1176
- Joined: Wed Nov 16, 2011 9:16 am
- Location: Melbourne, Australia
Re: Gday: a D1 Stochastic OB/OS trading robot
Aussie Phil wrote:Hi Fxozgirl,
Good to see your system has evolved into a wonderful Ea and thanks to Steve and the gang. I have been trading this manually for quite some time with success and was surprised that your journal at FF went quiet.
Phil
Hi Phil, good to see you here in Steve's forum...
I had to stop trading as I just couldn't be at my pc when the new candle opened. I tried pre-empting the signal with poor results.
Once we know the ea is working as it should, I will ask Steve for permission to post it in my thread.
I am very hopeful this ea will resolve my screen time problems and allow me to get back to trading this system as before.
- gaheitman
- Trader
- Posts: 655
- Joined: Tue Nov 15, 2011 10:55 pm
- Location: Richmond, VA, US
Re: Gday: a D1 Stochastic OB/OS trading robot
Steve,
I think JumpingStopLoss() still relies on it being at breakeven. The code still expect "sl" to have a valid value and makes sure its above the OrderOpenPrice().
This
should be this
I commented out the "if (sl < OrderOpenPrice() ) return;" line and reset "sl" to be the value we want to use later, including a second test for sells to make sure it isn't zero.
George
I think JumpingStopLoss() still relies on it being at breakeven. The code still expect "sl" to have a valid value and makes sure its above the OrderOpenPrice().
This
Code: Select all
if (OrderType()==OP_BUY)
{
if (sl < OrderOpenPrice() ) return;//Not at breakeven yet
// Increment sl by sl + JumpingStopPips.
// This will happen when market price >= (sl + JumpingStopPips)
//if (Bid>= sl + ((JumpingStopPips*2)*Point) )
if (Bid >= MathMax(sl, OrderOpenPrice() ) + ((JumpingStopPips * 2) * Point) )//George{
{
NewStop = NormalizeDouble(sl + (JumpingStopPips * Point), Digits);
if (HiddenPips > 0) ObjectMove(LineName, 0, Time[0], NewStop);
if (NewStop - OrderStopLoss() >= Point) modify = true;//George again. What a guy
modify = true;
}// if (Bid>= sl + (JumpingStopPips*Point) && sl>= OrderOpenPrice())
}//if (OrderType()==OP_BUY)
if (OrderType()==OP_SELL)
{
if (sl > OrderOpenPrice() ) return;//Not at breakeven yet
// Decrement sl by sl - JumpingStopPips.
// This will happen when market price <= (sl - JumpingStopPips)
//if (Bid<= sl - ((JumpingStopPips*2)*Point)) Original code
if (Bid <= MathMin(sl, OrderOpenPrice() ) - ((JumpingStopPips * 2) * Point) )//George
{
NewStop = NormalizeDouble(sl - (JumpingStopPips * Point), Digits);
if (HiddenPips > 0) ObjectMove(LineName, 0, Time[0], NewStop);
if (OrderStopLoss() - NewStop >= Point || OrderStopLoss() == 0) modify = true;//George again. What a guy
modify = true;
}// close if (Bid>= sl + (JumpingStopPips*Point) && sl>= OrderOpenPrice())
}//if (OrderType()==OP_SELL)
Code: Select all
if (OrderType()==OP_BUY)
{
//if (sl < OrderOpenPrice() ) return;//Not at breakeven yet
// Increment sl by sl + JumpingStopPips.
// This will happen when market price >= (sl + JumpingStopPips)
//if (Bid>= sl + ((JumpingStopPips*2)*Point) )
sl = MathMax(sl, OrderOpenPrice());
if (Bid >= sl + ((JumpingStopPips * 2) * Point) )//George{
{
NewStop = NormalizeDouble(sl + (JumpingStopPips * Point), Digits);
if (HiddenPips > 0) ObjectMove(LineName, 0, Time[0], NewStop);
if (NewStop - OrderStopLoss() >= Point) modify = true;//George again. What a guy
modify = true;
}// if (Bid>= sl + (JumpingStopPips*Point) && sl>= OrderOpenPrice())
}//if (OrderType()==OP_BUY)
if (OrderType()==OP_SELL)
{
//if (sl > OrderOpenPrice() ) return;//Not at breakeven yet
// Decrement sl by sl - JumpingStopPips.
// This will happen when market price <= (sl - JumpingStopPips)
//if (Bid<= sl - ((JumpingStopPips*2)*Point)) Original code
sl = MathMin(sl, OrderOpenPrice());
if (sl == 0) sl = OrderOpenPrice();
if (Bid <= sl - ((JumpingStopPips * 2) * Point) )//George
{
NewStop = NormalizeDouble(sl - (JumpingStopPips * Point), Digits);
if (HiddenPips > 0) ObjectMove(LineName, 0, Time[0], NewStop);
if (OrderStopLoss() - NewStop >= Point || OrderStopLoss() == 0) modify = true;//George again. What a guy
modify = true;
}// close if (Bid>= sl + (JumpingStopPips*Point) && sl>= OrderOpenPrice())
}//if (OrderType()==OP_SELL)
George
-
Aussie Phil
- Posts: 9
- Joined: Tue Dec 06, 2011 9:05 am
Re: Gday: a D1 Stochastic OB/OS trading robot
fxozgirl wrote:Aussie Phil wrote:Hi Fxozgirl,
Good to see your system has evolved into a wonderful Ea and thanks to Steve and the gang. I have been trading this manually for quite some time with success and was surprised that your journal at FF went quiet.
Phil
Hi Phil, good to see you here in Steve's forum...
I had to stop trading as I just couldn't be at my pc when the new candle opened. I tried pre-empting the signal with poor results.
Once we know the ea is working as it should, I will ask Steve for permission to post it in my thread.
I am very hopeful this ea will resolve my screen time problems and allow me to get back to trading this system as before.
Yeah same for me but GMT+2 has its advantages. I read Steve's earlier post regarding the weather in the UK. I am working at a remote mine site in WA and as I type its 46 deg C. Bloody hell I must be mad!
- fxozgirl
- Trader
- Posts: 1176
- Joined: Wed Nov 16, 2011 9:16 am
- Location: Melbourne, Australia
Re: Gday: a D1 Stochastic OB/OS trading robot
Yep that's hotAussie Phil wrote:fxozgirl wrote:Aussie Phil wrote:Hi Fxozgirl,
Good to see your system has evolved into a wonderful Ea and thanks to Steve and the gang. I have been trading this manually for quite some time with success and was surprised that your journal at FF went quiet.
Phil
Hi Phil, good to see you here in Steve's forum...
I had to stop trading as I just couldn't be at my pc when the new candle opened. I tried pre-empting the signal with poor results.
Once we know the ea is working as it should, I will ask Steve for permission to post it in my thread.
I am very hopeful this ea will resolve my screen time problems and allow me to get back to trading this system as before.
Yeah same for me but GMT+2 has its advantages. I read Steve's earlier post regarding the weather in the UK. I am working at a remote mine site in WA and as I type its 46 deg C. Bloody hell I must be mad!
-
peterke
- Trader
- Posts: 56
- Joined: Wed Nov 16, 2011 9:17 am
Re: Gday: a D1 Stochastic OB/OS trading robot
Yeah same for me but GMT+2 has its advantages. I read Steve's earlier post regarding the weather in the UK. I am working at a remote mine site in WA and as I type its 46 deg C. Bloody hell I must be mad![/quote]
Balmy 22 degrees here in Melbourne , perfect one day, cold wet hot, windy crap the next
rgds
Peter
Balmy 22 degrees here in Melbourne , perfect one day, cold wet hot, windy crap the next
rgds
Peter