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

[amibroker] Question for Stephane



PureBytes Links

Trading Reference Links

Hello Stephane, 

thanks for your answer. The definition of "PREV" and "Ref" is:

PREV
The PREV constant allows you to create self-referencing formulas. 
A self referencing formula is one that is able to reference 
the "previous" period''s value of itself.

Ref
References a previous OR subsequent element in a DATA ARRAY.  
A positive PERIOD references "n" periods in the future; a negative 
PERIOD references "n" periods ago.

So how could we "translate" these formula from CMS´s 
language into AFL ?

The trading system should look like this - we still have 
to substitute "PREV" and "Ref" ...
_________________________________________________________________

nPips=Optimize("nPips",1,1,50,1);

TrStopLevel = if(C=PREV, PREV, if(((Ref(C,-1)<PREV)
AND (C<PREV)), Min(PREV,C*(1+nPips)), if((Ref(C,-1)>PREV) 
AND (C>PREV), Max(PREV,C*(1-nPips)), if(C>PREV,C*(1-nPips),
C*(1+nPips)))));

Buy = Cross(Close,TrStopLevel);
Sell = Cross(TrStopLevel,Close);
Short =  Cross(TrStopLevel,Close);
Cover =  Cross(Close,TrStopLevel);

PositionSize = 100000;

_________________________________________________________________

Thanks for your help again in advance
Regards
Robert






--- In amibroker@xxxxxxxxxxxxxxx, "Stephane Carrasset" 
<s.carrasset@xxxx> wrote:
> Hello,
> 
> I am not sure to have done a correct interpretation of Prev but it 
is a begin
> 
> Stephane
> 
> 
> 
> TrStop[0]=Null;
> 
> nP=0.1;
> 
> for(i=1;i<BarCount;i++)
> 
> {
> 
> if(C[i]==TrStop[i-1])
> 
> {
> 
> TrStop[i]=TrStop[i-1];
> 
> }
> 
> else
> 
> {
> 
> if(C[i-1]<TrStop[i-1] && C[i]<TrStop[i-1])
> 
> {
> 
> TrStop[i]=Min(TrStop[i-1],C[i]*(1+nP));
> 
> }
> 
> else
> 
> {
> 
> if(C[i-1]>TrStop[i-1] && C[i]>TrStop[i-1])
> 
> {
> 
> TrStop[i]=Max(TrStop[i-1],C[i]*(1-nP));
> 
> }
> 
> else
> 
> {
> 
> if(C[i]>TrStop[i-1])
> 
> {
> 
> TrStop[i]=C[i]*(1-nP);
> 
> }
> 
> else
> 
> {
> 
> TrStop[i]=C[i]*(1+nP);
> 
> }
> 
> }
> 
> }
> 
> }
> 
> }
> 
> 
> 
> 
> 
> Up= Cross(Close,TrStop);
> 
> Down= Cross(TrStop,C);
> 
> 
> 
> /*
> 
> if(C=PREV, PREV, if(((Ref(C,-1)<PREV)
> 
> AND (C<PREV)), Min(PREV,C*(1+nPips)), if((Ref(C,-1)>PREV) 
> 
> AND (C>PREV), Max(PREV,C*(1-nPips)), if(C>PREV,C*(1-nPips),C*
> 
> (1+nPips)))));
> 
> */
> 
> Plot(C,"",1,64);
> 
> Plot(TrStop,"TrStop",2,1);
> 
> PlotShapes(IIf(up,
> 
> shapeUpArrow,shapeNone),colorGreen,0,L,-10); 
> 
> PlotShapes(IIf(down,
> 
> shapeDownArrow,shapeNone),colorRed,0,H,-10); 
> 
>   ----- Original Message ----- 
>   From: rocou 
>   To: amibroker@xxxxxxxxxxxxxxx 
>   Sent: Friday, April 23, 2004 8:47 AM
>   Subject: [amibroker] CMS Trailing Stop System in AFL
> 
> 
>   Dear Traders, 
> 
>   may I please ask for your help - how do I have to program the 
>   following 
>   "trailing stop system" of my broker CMS in AFL, to 
backtest/optimize 
>   the "n pips" stop values ?
> 
>   Thank you for your help in advance.
>   Kind regards
>   Robert
> 
> 
>   {Trailing Stop Loss}
>   TrStopLevel:=If(C=PREV, PREV, If(((Ref(C,-1)<PREV)
>   AND (C<PREV)), Min(PREV,C*(1+nPips)), If((Ref(C,-1)>PREV) 
>   AND (C>PREV), Max(PREV,C*(1-nPips)), If(C>PREV,C*(1-nPips),C*
>   (1+nPips)))));
> 
>   {Signal Up and Down}
>   Up:= Cross(Close,TrStopLevel);
>   Down:= Cross(TrStopLevel,C);
> 
>   {OpenBuy, CloseBuy, OpenSell, CloseSell}
>   OpenBuy:= Up and (eventCount('OpenBuy')= eventCount('CloseBuy'));
>   CloseBuy:= Down and (eventCount('OpenBuy')>eventCount
('CloseBuy'));
>   OpenSell:=  Down and (eventCount('OpenSell')= eventCount
>   ('CloseSell'));
>   CloseSell:=  Up and (eventCount('OpenSell')>eventCount
('CloseSell'));
> 
> 
> 
> 
> 
> 
>   Send BUG REPORTS to bugs@xxxx
>   Send SUGGESTIONS to suggest@xxxx
>   -----------------------------------------
>   Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
>   (Web page: http://groups.yahoo.com/group/amiquote/messages/)
>   --------------------------------------------
>   Check group FAQ at: 
http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
> 
> 
>         Yahoo! Groups Sponsor 
>               ADVERTISEMENT
>              
>        
>        
> 
> 
> --------------------------------------------------------------------
----------
>   Yahoo! Groups Links
> 
>     a.. To visit your group on the web, go to:
>     http://groups.yahoo.com/group/amibroker/
>       
>     b.. To unsubscribe from this group, send an email to:
>     amibroker-unsubscribe@xxxxxxxxxxxxxxx
>       
>     c.. Your use of Yahoo! Groups is subject to the Yahoo! Terms of 
Service. 
> 
> 
> 
>   __________ NOD32 1.732 (20040422) Information __________
> 
>   This message was checked by NOD32 antivirus system.
>   http://www.nod32.com



Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
     http://groups.yahoo.com/group/amibroker/

<*> To unsubscribe from this group, send an email to:
     amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
     http://docs.yahoo.com/info/terms/