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

[amibroker] Getting AB to keep TABS of yre TRADE once active



PureBytes Links

Trading Reference Links


OK,
Here is the CODE solution for the below problem to solve e) be it
possibly a non elegant way it  works well ...

|||||||||||||||||||__bacround to problem__|||||||||||||||||||||||

Initially a MS user I now have
a) converted all my MS formulas to AB -------------------->DONE

b) learned how to pull metastock data into AB - easy
bit-------------------------------------------------------->DONE

c) created PLOTS for tools-------------------------------->DONE

d) created Scans for BUYS -------------------------------->DONE

now I'm up to 
e) created SCANS to monitor for SELLS of ACTUAL TRADES still live 

|||||||||||___The PROBLEM ____||||||||||||||||||||||
As I my TRADE SYSTEM have continual entries the problem is telling AB
which trade entry to base the EXIT on so I can scan every day for EXIT
rather than look at every EQUITY position im in . AS an example 
initial stop is totally based on ENTRY day and LEVEL . If you read the
below end a post i sent earlier tells how trying to Identify the ENTRY
based on PARAM (say uset a date and purchase level ) seems useless as
every equity has that param level. I needed to find an individualway
of labelling the ENTRY day and time. I have not had any response from
AB so I figured I would continue trying to fix it. I found it using "
line STUDY "  If I drew a line with right extension , lock, STUDY ID
"SU" I could tell AB exactly the day from which to PLOT EXITS ( 
mainly the highest of 
a) Init STOP
b) Prof Trailing STOp
c) Normal trade STOP ( similar to inverse chandaleir type ) 

Below is the code for this solution and the method I use to keep track
of ACTIVE trades- 

Trading Procedure - 

When I perform a trade I :

T1) get code below and create a worksheet (this is done only once !) 
T2) place that equity in a TRADE BIN WATCHLIST
T3) draw a line on sheet with 
          T3.1 RIGHT extension checked
          T3.2 Study ID = SU
          T4.3 Trade date entered as first date and level bought
T4) U shuld see an exit plot now
T5) U can scan this watchlist for SELLS which = when Low breaks the
EXIT plot .

:-) Hope this helps someone as it did me 

--------------------8<------8<---------------------------


Title = " zMF_HLV_AP_exitSTOP \n RED=INITstop,yellow =trailSTOP,gren=
LLV" ;

//Instructions ----
// drawline starting from trade date and 
// level entered onto workspace , tick right extension AND label it "SU" 
// if inserting onto a blank workspace add chart ID you want the
Function to look at by looking up param function.


//||||||||||||||||||||||||||||||||||||||||||____Draw
OHCL___|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetChartOptions(0,chartShowArrows);
mm = IIf(C > Ref(C,-1) , colorGreen,colorRed) ;
Plot( C, "Close", mm, styleNoTitle | ParamStyle("Style", styleBar,
maskPrice ) );


// CALC STOP PARAMS

INSTOP= Param( "Initi STOP %", 20, 0, 100, 1 ) ; //SET INIT STOP as 20%
TRSTOP= Param( "TRAIL STOP %", 33, 0, 100, 1 ) ; //SET TRAIL STOP as 20%
CHID = Param( "CHART ID obtain from param menu", 0, 0, 2000, 1 ) ;
//get ID do not need to use unless u reference a different LINE page
LLVperd = Param( "LLVperd", 57, 0, 200, 1 ) ; //get LLV PERD

///calc when to print LINE starting from date of trade

ID = IIf( CHID > 0 , CHID , GetChartID() )  ; //finds CHART ID
Line = Study( "su" ,id ) ; // locates line
Lineval = IsEmpty( Line ) ; // when line is valid

//|||||||||||||||||||||____calc LINES
____|||||||||||||||||||||||||||||||||||||||||||||||||||||

Hipoint = IIf( lineval == 0 ,  HighestSince( Lineval, H , 1) ,Null ) ;
   // calc highest point since trade date
TRAILSTOP = Hipoint * ( 100 - TRstop )/100 ; // calc 33% TRAILING
Profit STOP
INITSTOP = Line * ( 100 - instop )/100 ; // calc 20% INTI_STOP
LLVline = IIf( lineval ==0 ,  LLV( L,LLVperd) ,Null)  ;

//|||||||||||||||||||||____determine highest EXIT line or level and
COLOR  ____|||||||||||||||||||||||||||

Hiline  =  IIf( initstop > LLVline , initstop , LLVline )  ;
Hiline1 = IIf( TRAILstop > HiLINE , TrailSTOP , Hiline ) ;

Hilinecol  =  IIf( initstop > LLVline , colorRed , colorGreen )  ;
Hiline1col = IIf( TRAILstop > HiLINE , colorYellow , Hilinecol ) ;

//|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// SCAN to track EXITs

Buy =0 ;
Sell = L < Ref( HiLine1 , -1 )  ;

//|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

"ID = " + WriteVal(ID,1.2) ;
AddColumn(Sell, "sell",1.2) ;

//|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// PLOT

Plot( Hiline1,"HILINE1",HiLINE1col,styleDashed ) ;

--------------------8<------8<---------------------------


--- In amibroker@xxxxxxxxxxxxxxx, "moztrader" <das300@xxxx> wrote:
> 
> Please drag the below formula onto a share .
> Set the date of yre trade and adjust the price to the bought price.
> Set the STOP LOSS % and TRAIL PROFIT STOP.
> I developed it to keep a tab of 
> 
> a) Highest (since trade date) - 33% level: a running 33% PROFIT STOP 
> 
> b) TRADE entry level - dashed line
> 
> This tool helps input INITSTOP loss and Profit TRAILING STOP data into
> my trade platform but I am having difficulty getting it to work as I
> want .
> 
> The problem is when I adjust the date and trade amount parameter on
> say msft changing to the next traded equity has the changed paramter
> data as well. So all trades adjust to the same date . I have 10xtrades
> i want to continously monitor STOP and PROFIT EXITS. I  cannot think
> of how scan, explore or Functions can store individual entry dates and
>  buy prices .
> 
> I want this function to have its parameters set according to the
> EQUITY not the worksheet . What I need is to overlay this Function
> into a OHCL window and have it customizable like say a drawn line . A
> drawn line is  individual to the stock your drawing on. When you
> change the equity the drawline does not follow onto the next worksheet
> display. If you have drawn 2 lines ,one on each equity they appear
> seperate and do not affect each other. The param function doesnt seem
> to have a global or individual setting for equities. 
> Maybe I have missed some way to do this but what comes to mind is a
> variable like Local_param that adjusts to the equity only.
> 
> Is there anyway I can do this without asking for a software upgrade  ?
> 
> Thanks
> 
> Maurice
> 
> 
> //--------------------------------8<-------------------------------
> 
> Title = " zMF_HLV_AP_exitSTOP" ;
> 
> //calc DATE PARAMS
> 
> ppDd = Param( "PPday", 5, 1, 31,1 ) ;
> 
> ppMm = Param( "PP Month", 01, 1, 12,1 ) ;
> 
> ppyy = Param( "PP Year", 2005, 1900, 2050,1 ) ;
> 
> ///calc when to print LINE starting from date of trade
> 
> rightday = IIf( Year() == ppyy AND Month() == ppmm AND Day() == ppdd
> ,1 , 0 ) ; 
> 
> rightdaylatch = Cum( IIf( Year() == ppyy AND Month() == ppmm AND Day()
> == ppdd ,1 , 0 ) ) ; 
> 
> Hipoint = HighestSince( rightday == 1, H , 1) ;// calc highest point
> since trade date
> 
> vw = ValueWhen( rightday == 1 , C , 1 ) ;// value of close since TRADE
> date
> 
> 
> 
> PrPaid = Param( "PricePAID adjust +/- from the close ", 0, -100, 100,
> 0.01 ) ;// allows adjustmet of price paid from close
> 
> prpaid = prpaid + VW ; 
> 
> INSTOP= Param( "Initi STOP %", 20, 0, 100, 1 ) ; //SET INIT STOP as 20%
> TRSTOP= Param( "TRAIL STOP %", 33, 0, 100, 1 ) ; //SET TRAIL STOP as 20%
> 
> Pricepaid = IIf( rightdaylatch == 1 ,prpaid , Null ) ;// make valid if
> the date > TRADE date
> 
> TRAILSTOP = Hipoint * ( 100 - TRstop )/100 ; // calc 33% TRAILING
> Profit STOP
> INITSTOP = Pricepaid * ( 100 - instop )/100 ; // calc 20% INTI_STOP
> 
>
//|||||||||||||||||||||____PLOT____|||||||||||||||||||||||||||||||||||||||||||||||||||||
> 
> piccolor = ParamColor("pricepaid", colorLightGrey ) ; 
> 
> piccolor1 = ParamColor("INITSTOP", colorRed ) ; 
> piccolor2 = ParamColor("TRAIL STOP", colorGreen) ; 
> 
> Plot( pricepaid,"Price Paid",piccolor,styleDashed ) ;
> 
> Plot( initstop,"INIT STOP",piccolor1,styleLine ) ;
> 
> Plot( trailSTOP,"TRAIL STOP",piccolor2,styleLine ) ;
> //--------------------------------8<-------------------------------
> 
> 
> > 
> > thanks for reading
> > 
> > Regards,
> > Maurice
> > australia
> > 
> >





------------------------ Yahoo! Groups Sponsor --------------------~--> 
In low income neighborhoods, 84% do not own computers.
At Network for Good, help bridge the Digital Divide!
http://us.click.yahoo.com/EpW3eD/3MnJAA/cosFAA/GHeqlB/TM
--------------------------------------------------------------------~-> 

Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

For other support material please check also:
http://www.amibroker.com/support.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/