It certainly IS better, though, to have more blind noobs roaming the mkts than less. So regardless if their money goes directly to me or not, it's still better for ALL pros trading. AND, the kicker is, guys who scam or lead noobs by the nose for years help ensure those idiot noobs remain clueless longer. There will always be a demand of noobs looking for the holy grail or guru, I just want their to be a nice supply of snakeoil out there to satisfy them. Like I said earlier, I know the smart ones will make it through regardless and I am happy for them for that was once me too. But the less who make it through the better!
WTF is your problem with the code anyway? It's exactly Scottd's from easylanguage, but with one big caveat, it uses whatever Hershey's Stoch K and Stoch D indicators are. Furthermore, it also appears that it's more than a regular MACD or Stoch.
We'll just have to come back in a few months then, and see what the backtest does. I am watching it in real time, now, though, but I don't think I'll be trading it anytime soon. Just to see what it does.
I know how, don't want to go the automated trading route. There's a world of difference between coding a system, executing a backtest on a system, and actually being able to generate real-time profits with the system. P.S. Without observing the system in real-time and knowing in-depth how it works, any trader will tell you that your backtest means bupkis ... especially when you've flipped-the-script so readily.
I don't have a problem with the code ... I don't think you know what you're doing. But if you do, like I said, you know what time it is.
Which version of code from ScottD did you convert? The latest one i see is: CashCow automated trading system Architect: Jack Hershey Version 0.3 12 Dec 2008 From dec 12. Are you using a newer one? If not I see a difference in your conversion, granted I do not know WL specifically, but I think there is an error there... The difference comes in the managing of the position once you already have an open position. Looking at ScottD's implementation I see: "if absvalue( MACDVal ) < 1.4 then } if {(Stoch14SlowK < Stoch14SlowD) and} (Stoch14SlowK crosses below 80) and marketposition > 0" where if the current macdval < 1.4 however for yours I see: "if (positionlong(lastposition)) and (abs(@HersheyStochD[bar]-SMA(Bar,HersheyStochD,6))<1.4) then begin sellatmarket(Bar+1,LastPosition,''); end;" It appears in yours, if your long and stochd-6 period SMA of stochd <1.4 So your code is different.
I decided to convert this over to NinjaTrader. And I tested on 5 min ES data from 7/2003 to 10/21/2008. Here is the code I used. I tried to stick as closely as possible to ScottD's implementation CashCow automated trading system Architect: Jack Hershey Version 0.3 12 Dec 2008 The only thing In my implementation I am unsure of is the stochastics. I may have used wrong parameters there.. Can someone verify this for me and I can rerun the tests. Let me know what is wrong in the conversions and I can make changes. Here is the code: bool timeOK=false; bool volumeOK=false; bool currentbarOK=false; bool LongOK=false; bool ShortOK=false; //I am on Central time hence the time difference... if(this.Time[0].Hour>=8&&Time[0].Minute>=45&&Time[0].Hour<15) timeOK=true; if(Volume[1]>20000) volumeOK=true; if(this.CurrentBar>2) currentbarOK=true; if(MACD(5,13,6).Diff[0]>0) LongOK=true; if(MACD(5,13,6).Diff[0]<0) ShortOK=true; //I may be using the wrong Stochastic parameters... //Stochastics(D,K,Smooth) double Stoch5FastK=Stochastics(2,5,3).K[0]; double Stoch5FastKLast=Stochastics(2,5,3).K[1]; double Stoch5FastD=Stochastics(2,5,3).D[0]; double Stoch5FastDLast=Stochastics(2,5,3).D[1]; double Stoch14SlowK=Stochastics(1,14,3).K[0]; double Stoch14SlowKLast=Stochastics(1,14,3).K[1]; double Stoch14SlowD=Stochastics(1,14,3).D[0]; double Stoch14SlowDLast=Stochastics(1,14,3).D[1]; if(currentbarOK==true&&timeOK==true) { if(volumeOK==true&&this.Position.MarketPosition==MarketPosition.Flat) { if(LongOK==true && Stoch5FastK>50&&Stoch5FastKLast<50&&Stoch5FastK>Stoch5FastD) { EnterLong(1,""); } if(ShortOK==true && Stoch5FastK<50&&Stoch5FastKLast>50&&Stoch5FastK<Stoch5FastD) { EnterShort(1,""); } } if(volumeOK==true) { if(ShortOK==true && Stoch5FastK<50&&Stoch5FastKLast>50&&this.Position.MarketPosition==MarketPosition.Long) { EnterShort(1,""); } if(LongOK==true && Stoch5FastK>50&&Stoch5FastKLast<50&&this.Position.MarketPosition==MarketPosition.Short) { EnterLong(1,""); } } if(Position.MarketPosition==MarketPosition.Long&&Math.Abs(MACD(5,13,6)[0])<1.4) { if(Stoch14SlowK<Stoch14SlowD&&Stoch14SlowK<80&&Stoch14SlowKLast>80) { ExitLong(); } if(Stoch14SlowK<Stoch14SlowD&&Stoch14SlowKLast>Stoch14SlowDLast) { ExitLong(); } if(Stoch5FastK<50&&Stoch5FastKLast>50) { ExitLong(); } } if(Position.MarketPosition==MarketPosition.Short&&Math.Abs(MACD(5,13,6)[0])<1.4) { if(Stoch14SlowK>Stoch14SlowD&&Stoch14SlowK>20&&Stoch14SlowKLast<20) { ExitShort(); } if(Stoch14SlowK>Stoch14SlowD&&Stoch14SlowKLast<Stoch14SlowDLast) { ExitShort(); } if(Stoch5FastK>50&&Stoch5FastKLast<50) { ExitShort(); } } } if(this.Time[0].Hour>=15) { ExitLong(); ExitShort(); }
The results include commission as well as 1 tick slippage: Profit: -$1,482 Trades: 289 Win%: 44.29 PF: .97 Granted, my conversion may be off, but just let me know where the conversion falls short and I can rerun. EDIT: The backtest stoped at 10/21/2008, but in aug and sept of this month the profit shot way up. Which might explain why your recent backtest showed it being very profitable