PureBytes Links
Trading Reference Links
|
Formulas are here:
http://trader.online.pl/MSZ/!-MSZ-index.html
--- In equismetastock@xxxxxxxxxxxxxxx, bharat_parth2005
<no_reply@xxx> wrote:
>
> I found following code for QQE on net for vttrader.I need MS code
>
> Barnum:= BarCount();
> Err:= (tp1=0) or (tp2=0) or (rsitpr=0) or (Sh=0) or (Lg=0) or (K=0)
> or (D=0) or (stochsl=0);
>
> {Moving Averages}
>
> ShortMA:= mov(pr1,tp1,mTp1);
> LongMA:= mov(pr2,tp2,mTp2);
>
> {Relative Strength Index}
>
> rsi_r:= (rsipr - ref(rsipr,-1));
> rsi_rs:= Wilders(if(rsi_r>0,rsi_r,0),rsitpr) / Wilders(if
(rsi_r<0,Abs
> (rsi_r),0),rsitpr);
> RSIndex:= 100-(100/(1+rsi_rs));
> RSIML:= 50;
>
> {MACD}
>
> FL:= Mov(spr,Sh,smat) - Mov(lpr,Lg,lmat);
> SL:= Mov(FL,sig,sigmat);
> OsMA:= FL-SL;
>
> {Slow Stochastic Oscillator}
>
> StK:= ((C-LLV(L,K))/(HHV(H,K)-LLV(L,K)))*100;
> StDK:= Mov(StK,stochSl,MtK);
> StDD:= Mov(StDK,D,DMt);
> StochUp:= 80;
> StochDown:= 20;
>
> {Do NOT change the NAMES of the Variables below.
> If you Changed The NAMES of Indicator1 or Indicator2,
> you will have to change them below.}
>
> {Define Final Trade Entry/Exit Criteria}
>
> LongEntryCond1:= ShortMA>LongMA;
> LongEntryCond2:= FL>SL;
> LongEntryCond3:= RSIndex>RSIML;
> LongEntryCond4:= StDK>StDD;
>
> ShortEntryCond1:= ShortMA<LongMA;
> ShortEntryCond2:= FL<SL;
> ShortEntryCond3:= RSIndex<RSIML;
> ShortEntryCond4:= StDK<StDD;
>
> LongEntrySetup:= Cross
> ((LongEntryCond1+LongEntryCond2+LongEntryCond3+LongEntryCond4),3.5);
> LongExitSetup:= Cross
>
((ShortEntryCond1+ShortEntryCond2+ShortEntryCond3+ShortEntryCond4),3.
> 5);
>
> ShortEntrySetup:= Cross
>
((ShortEntryCond1+ShortEntryCond2+ShortEntryCond3+ShortEntryCond4),3.
> 5);
> ShortExitSetup:= Cross
> ((LongEntryCond1+LongEntryCond2+LongEntryCond3+LongEntryCond4),3.5);
>
> {***********************************************}
>
> {That's it! You're done! There is no need to
> edit below this point.}
>
> {***********************************************}
>
> {Determine the Pip Value for the currency chart being used}
>
> _SymbolPoint:= SymbolPoint();
>
> _InitialStoploss:= InitialStoploss * _SymbolPoint;
> _BEP:= BEP * _SymbolPoint;
> _TrailingStoploss:= TrailingStoploss * _SymbolPoint;
> _ProfitTarget:= ProfitTarget * _SymbolPoint;
> _Spread:= Spread * _SymbolPoint;
>
> {Define Active Market Hours for Taking Trade Entries}
> {For Example: StartHour=2 and StartMinute=0 will allow trade
entries
> beginning at 2:00 AM EST}
> {For Example: EndHour=14 and EndMinute=30 will allow trade entries
> until 2:30 PM EST}
>
> _hour:= hour();
> _minute:= minute();
>
> TradingSessionOnStart:= _hour=StartHour and _minute>=StartMinute;
> TradingSessionOnEnd:= _hour=EndHour and _minute>=EndMinute;
> TradingSessionOn:= SignalFlag
> (TradingSessionOnStart,TradingSessionOnEnd);
> TradingSessionOff:= 1;
> TradeEntryTimeFilter:= if(TradeEntryTimeFilterMode=0,
> TradingSessionOn, TradingSessionOff);
>
> TradeEntryTimeFilterNotEnabled:= TradeEntryTimeFilter=0;
> TradeEntryTimeFilterEnabled:= TradeEntryTimeFilter=1;
>
> {***********************************************}
>
> LongEntrySignal:= (NOT Err AND LongTradeAlert=0 AND
> ShortTradeAlert=0 AND TradeEntryTimeFilter=1 AND LongEntrySetup) OR
> (NOT Err AND LongTradeAlert=0 AND Cross
> (0.5,ShortTradeAlert) AND TradeEntryTimeFilter=1 AND
LongEntrySetup)
> OR
> (NOT Err AND LongTradeAlert=0 AND
> TradeEntryTimeFilter=1 AND ShortExitSetup);
>
> LongEntryPrice:= valuewhen(1,LongEntrySignal,C) + _Spread;
> BarsSinceLongEntry:= BarsSince(LongEntrySignal);
>
> LongEntryInitialStop:= if(LongTradeAlert=1 OR LongEntrySignal OR
> LongExitSignal, LongEntryPrice - _InitialStoploss, null);
> DisplayLongEntryInitialStop:= if(InitialStoplossMode=0,
> LongEntryInitialStop, null);
>
> LongEntryBEStoplossFlag:= SignalFlag(LongTradeAlert=1 AND C >=
> (LongEntryPrice + _BEP), LongExitSignal);
> LongEntryBEStoploss:= if(LongEntryBEStoplossFlag=1 OR
> LongEntrySignal OR LongExitSignal, LongEntryPrice, null);
> DisplayLongEntryBEStoploss:= if(BEStoplossMode=0,
> LongEntryBEStoploss, null);
>
> LongEntryPipTrailingStop:= if(LongTradeAlert=1 OR LongEntrySignal
OR
> LongExitSignal, max((C - _TrailingStoploss), PREV(LongEntryPrice -
> _TrailingStoploss)), null);
> LongEntryATRTrailingStop:= if(LongTradeAlert=1 OR LongEntrySignal
OR
> LongExitSignal, max(HHV(H,BarsSinceLongEntry) - (ATR(ATRper) *
> atrmultiplier), PREV(valuewhen(1,LongEntrySignal,H) - (ATR(ATRper)
*
> atrmultiplier))), null);
> DisplayLongEntryTrailingStop:= if(TrailingStoplossMode=0 AND
> TrailingStoplossType=1, LongEntryPipTrailingStop,
> if(TrailingStoplossMode=0 AND
> TrailingStoplossType=0, LongEntryATRTrailingStop,
> null));
>
> LongEntryProfitTarget:= if(LongTradeAlert=1 OR LongEntrySignal OR
> LongExitSignal, LongEntryPrice + _ProfitTarget, null);
> DisplayLongEntryProfitTarget:= if(ProfitTargetMode=0,
> LongEntryProfitTarget, null);
>
> LongExitSignal:= (LongTradeAlert=1 AND InitialStoplossMode=0 AND
> Cross(LongEntryInitialStop,C))
> OR (LongTradeAlert=1 AND BEStoplossMode=0 AND Cross
> (LongEntryBEStoploss,C))
> OR (LongTradeAlert=1 AND TrailingStoplossMode=0 AND
> TrailingStoplossType=1 AND Cross(LongEntryPipTrailingStop,C))
> OR (LongTradeAlert=1 AND TrailingStoplossMode=0 AND
> TrailingStoplossType=0 AND Cross(LongEntryATRTrailingStop,C))
> OR (LongTradeAlert=1 AND ProfitTargetMode=0 AND Cross
> (C,LongEntryProfitTarget))
> OR (LongTradeAlert=1 AND LongExitSetup);
>
> LongExitPrice:= valuewhen(1,LongExitSignal,C);
>
> ShortEntrySignal:= (NOT Err AND ShortTradeAlert=0 AND
> LongTradeAlert=0 AND TradeEntryTimeFilter=1 AND ShortEntrySetup) OR
> (NOT Err AND ShortTradeAlert=0 AND Cross
> (0.5,LongTradeAlert) AND TradeEntryTimeFilter=1 AND
ShortEntrySetup)
> OR
> (NOT Err AND ShortTradeAlert=0 AND
> TradeEntryTimeFilter=1 AND LongExitSetup);
>
> ShortEntryPrice:= valuewhen(1,ShortEntrySignal,C);
> BarsSinceShortEntry:= BarsSince(ShortEntrySignal);
>
> ShortEntryInitialStop:= if(ShortTradeAlert=1 OR ShortEntrySignal OR
> ShortExitSignal, ShortEntryPrice + _InitialStoploss - _Spread,
null);
> DisplayShortEntryInitialStop:= if(InitialStoplossMode=0,
> ShortEntryInitialStop, null);
>
> ShortEntryBEStoplossFlag:= SignalFlag(ShortTradeAlert=1 AND C <=
> (ShortEntryPrice - _BEP), ShortExitSignal);
> ShortEntryBEStoploss:= if(ShortEntryBEStoplossFlag=1 OR
> ShortEntrySignal OR ShortExitSignal, ShortEntryPrice - _Spread,
> null);
> DisplayShortEntryBEStoploss:= if(BEStoplossMode=0,
> ShortEntryBEStoploss, null);
>
> ShortEntryPipTrailingStop:= if(ShortTradeAlert=1 OR
ShortEntrySignal
> OR ShortExitSignal, min((C + _TrailingStoploss - _Spread), PREV
> (ShortEntryPrice + _TrailingStoploss - _Spread)), null);
> ShortEntryATRTrailingStop:= if(ShortTradeAlert=1 OR
ShortEntrySignal
> OR ShortExitSignal, min(LLV(L,BarsSinceShortEntry) + (ATR(ATRper) *
> atrmultiplier), PREV(valuewhen(1,ShortEntrySignal,L) + (ATR(ATRper)
> * atrmultiplier))), null);
> DisplayShortEntryTrailingStop:= if(TrailingStoplossMode=0 AND
> TrailingStoplossType=1, ShortEntryPipTrailingStop,
> if(TrailingStoplossMode=0 AND
> TrailingStoplossType=0, ShortEntryATRTrailingStop,
> null));
>
> ShortEntryProfitTarget:= if(ShortTradeAlert=1 OR ShortEntrySignal
OR
> ShortExitSignal, ShortEntryPrice - _ProfitTarget - _Spread, null);
> DisplayShortEntryProfitTarget:= if(ProfitTargetMode=0,
> ShortEntryProfitTarget, null);
>
> ShortExitSignal:= (ShortTradeAlert=1 AND InitialStoplossMode=0 AND
> Cross(C,ShortEntryInitialStop))
> OR (ShortTradeAlert=1 AND BEStoplossMode=0 AND Cross
> (C,ShortEntryBEStoploss))
> OR (ShortTradeAlert=1 AND TrailingStoplossMode=0 AND
> TrailingStoplossType=1 AND Cross(C,ShortEntryPipTrailingStop))
> OR (ShortTradeAlert=1 AND TrailingStoplossMode=0 AND
> TrailingStoplossType=0 AND Cross(C,ShortEntryATRTrailingStop))
> OR (ShortTradeAlert=1 AND ProfitTargetMode=0 AND
Cross
> (ShortEntryProfitTarget,C))
> OR (ShortTradeAlert=1 AND ShortExitSetup);
>
> ShortExitPrice:= valuewhen(1,ShortExitSignal,C) + _Spread;
>
> {Simulated Open Trade Determination and Trade Direction}
>
> LongTradeAlert:= SignalFlag(LongEntrySignal,LongExitSignal);
> ShortTradeAlert:= SignalFlag(ShortEntrySignal,ShortExitSignal);
>
> {Create Auto-Trading Functionality}
>
> OpenBuy:= LongEntrySignal and (eventCount('OpenBuy')=eventCount
> ('CloseBuy'));
> CloseBuy:= LongExitSignal and (eventCount('OpenBuy')>eventCount
> ('CloseBuy'));
>
> OpenSell:= ShortEntrySignal and (eventCount('OpenSell')=eventCount
> ('CloseSell'));
> CloseSell:= ShortExitSignal and (eventCount('OpenSell')>eventCount
> ('CloseSell'));
>
> {***********************************************}
>
> {Calculate Simulated Individual Trade Profit In Pips}
>
> _TradeProfitInPips:= If(LongExitSignal=1,LongExitPrice -
> LongEntryPrice,
> If(ShortExitSignal=1,ShortEntryPrice -
> ShortExitPrice,
> 0));
>
> TradeProfitInPips:= if(SymbolDigits()=4, _TradeProfitInPips *
10000,
> _TradeProfitInPips * 100);
>
> {Calculate Simulated Total Profit In Pips}
>
> TotalProfitInPips:= cum(TradeProfitInPips);
>
> {Calculate Number of Trades}
>
> LongTrades:= cum(LongExitSignal);
> ShortTrades:= cum(ShortExitSignal);
>
> LosingTrades:= cum(If(TradeProfitInPips < 0,1,0));
> WinningTrades:= cum(If(TradeProfitInPips > 0,1,0));
> BreakEvenTrades:= if((LongExitSignal=1 or ShortExitSignal=1) and
> TradeProfitInPips=0, PREV+1, PREV);
> TotalTrades:= cum(LongExitSignal) + cum(ShortExitSignal);
>
> {Calculate Additional Stats}
>
> WinningTradesPips:= if(TradeProfitInPips > 0,TradeProfitInPips +
> PREV, PREV);
> LosingTradesPips:= if(TradeProfitInPips < 0,TradeProfitInPips +
> PREV, PREV);
>
> LargestWinningTradeInPips:= max(TradeProfitInPips,PREV);
> LargestLosingTradeInPips:= min(TradeProfitInPips,PREV);
>
> AverageWinningTradeInPips:= WinningTradesPips / WinningTrades;
> AverageLosingTradeInPips:= LosingTradesPips / LosingTrades;
>
> PercentProfitable:= (WinningTrades/TotalTrades) * 100;
> AverageWinLossRatio:= AverageWinningTradeInPips /
> AverageLosingTradeInPips;
>
> {***********************************************}
>
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/equismetastock/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/equismetastock/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:equismetastock-digest@xxxxxxxxxxxxxxx
mailto:equismetastock-fullfeatured@xxxxxxxxxxxxxxx
<*> To unsubscribe from this group, send an email to:
equismetastock-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|