[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[EquisMetaStock Group] Re: Coding for QQE expert



PureBytes Links

Trading Reference Links

Bharat,

The QQE can be found on the Amibroker site. Little detail is given 
there about it other than the code.

Take a look at this and tell me if it is what you have in mind.
http://tinyurl.com/3fznuw


Preston



--- In equismetastock@xxxxxxxxxxxxxxx, bharat_parth2005 
<no_reply@xxx> wrote:
>
> Hi Preston
> 
> 
> Thanx for prompt response.
> 
> I prefer 56 minutes and 5 minutes chart and I use RSI(9).
> 
> Pl. do coding ,if necessary,I will do minor tweaking myself.
> 
> regards
> 
> bharat 
> 
> --- In equismetastock@xxxxxxxxxxxxxxx, pumrysh <no_reply@> wrote:
> >
> > bharat,
> > 
> > I'd like to help but the information you have provided doesn't 
> give 
> > any idea about the lookback periods to set for the indicators.
> > 
> > The indicators themself aren't a problem. They are standard 
> > indicators and already programmed into metastock. If you can find 
> > out any more information or offer a website where we can find out 
> > more information maybe we can be of more help.
> > 
> > Preston
> > 
> > 
> > 
> > --- In equismetastock@xxxxxxxxxxxxxxx, bharat_parth2005 
> > <no_reply@> wrote:
> > >
> > > Hi PUMRYSH,
> > > 
> > > I SOUGHT  HELP FROM FRIENDS IN MY GROUP ,WHO ARE CONVERSANT 
WITH 
> > > CODING BUT COULD NOT GET CODE FOR QQE.
> > > 
> > > Pl. HELP.
> > > 
> > > Bharat--- In equismetastock@xxxxxxxxxxxxxxx, pumrysh 
<no_reply@> 
> > > wrote:
> > > >
> > > > That's odd, when I check the site I can find the Stoch, MACD, 
> > and 
> > > > RSI. 
> > > > 
> > > > You're right though, there is no QQE. Seems you will have to 
> > write 
> > > > that one yourself.
> > > > 
> > > > Preston
> > > > 
> > > > 
> > > > 
> > > > --- In equismetastock@xxxxxxxxxxxxxxx, bharat_parth2005 
> > > > <no_reply@> wrote:
> > > > >
> > > > > Dear Pumrysh
> > > > > 
> > > > > QQE not found on link provided by you.
> > > > > 
> > > > > bharat--- In equismetastock@xxxxxxxxxxxxxxx, pumrysh 
> > <no_reply@> 
> > > > > wrote:
> > > > > >
> > > > > > Formulas are here:
> > > > > > 
> > > > > > http://trader.online.pl/MSZ/!-MSZ-index.html
> > > > > > 
> > > > > > 
> > > > > > --- In equismetastock@xxxxxxxxxxxxxxx, bharat_parth2005 
> > > > > > <no_reply@> 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/