PureBytes Links
Trading Reference Links
|
thanks,
I will try this new code tomorrow.
On 7/19/06, Terry <MagicTH@xxxxxxxxxxx> wrote:
>
> You are comparing the Boolean logic values and getting True (which ==
> 1) if ANY of them are true.
>
> Instead, just SUM the values to get the total *value* of signals
> generated:
>
> entrybtotal = entry1b + entry2b + entry3b ;
>
>
>
> The above will return values for 1, 2 or 3 ASSUMING you don't get multiple
> entries on the same day. If you do (get more than 1 signal on the same bar),
> you have no choice except to make separate AddColumns for each signal.
>
> --
>
> Terry
>
> -----Original Message-----
> *From:* amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] *On
> Behalf Of *Tony Lei
> *Sent:* Wednesday, July 19, 2006 07:07
> *To:* amibroker@xxxxxxxxxxxxxxx
> *Subject:* Re: [amibroker] Re: Need some assistance with this system
>
>
>
> thanks Terry
>
>
> I was able to make it work but there is something wrong in the exploration
> and addcolumn. Here is the code and the problem is highlighted in RED
> below:
>
> Many thanks in advance,
>
> Tony
>
>
> ////////////////////////////////////////////////////////////////////////////////////////////////
>
> ////////////////////////////////////////////////////////////////////////////////////////////////
>
> TradeOpenNumber_1 = Param("1st Trade Open Number",0.41,0,1,.01);
> ProfitTargetNumber_1 = Param("1st Profit Target Number",.68,0,2,.01);
> RiskNumber_1 = Param("1st Risk Number",.81,0,2,.01);
>
> TradeOpenNumber_2 = Param("2nd Trade Open Number",0.5,0,1,.01);
> ProfitTargetNumber_2 = Param("2nd Profit Target Number",.83,0,2,.01);
> RiskNumber_2 = Param("2nd Risk Number",.99,0,2,.01);
>
> TradeOpenNumber_3 = Param("3rd Trade Open Number",0.85,0,1,.01);
> ProfitTargetNumber_3 = Param("3rd Profit Target Number",1.41,0,2,.01);
> RiskNumber_3 = Param("3rd Risk Number",1.7,0,2,.01);
>
> MarketHours = TimeNum()>=92900 AND TimeNum()<=160000;
>
> TodayOpen = TimeFrameGetPrice( "O", inDaily, 0 );
>
> TodayHigh = TimeFrameGetPrice( "H", inDaily, 0 );
>
> TodayLow = TimeFrameGetPrice( "L", inDaily, 0 );
>
> entry1 = todayOpen + TradeOpenNumber_1 ;
> entry2 = todayOpen + TradeOpenNumber_2 ;
> entry3 = todayOpen + TradeOpenNumber_3 ;
> entrytotal = entry1 OR entry2 OR entry3 ;
>
> Long1 = Cross ( C, entry1) AND Name() == "YHOO" ;
> Long2 = Cross ( C, entry2) AND Name() == "MTG" ;
> Long3 = Cross ( C, entry3) AND Name() == "SLB" ;
> Longtotal = Long1 OR Long2 OR Long3 ;
>
> entry1b = todayOpen - TradeOpenNumber_1 ;
> entry2b = todayOpen - TradeOpenNumber_2 ;
> entry3b = todayOpen - TradeOpenNumber_3 ;
> entrybtotal = entry1b OR entry2b OR entry3b ;
>
> Short1 = Cross ( entry1b, C ) AND Name () == "YHOO" ;
> Short2 = Cross ( entry2b, C ) AND Name () == "MTG" ;
> Short3 = Cross ( entry3b, C ) AND Name () == "SLB" ;
> Shorttotal = Short1 OR Short2 OR Short3 ;
>
> Sell1 = entry1 + ProfitTargetNumber_1;
> Sell2 = entry2 + ProfitTargetNumber_2;
> Sell3 = entry3 + ProfitTargetNumber_3;
> Selltotal = Sell1 OR Sell2 OR Sell3 ;
>
> Cover1 = entry1b - ProfitTargetNumber_1;
> Cover2 = entry2b - ProfitTargetNumber_2;
> Cover3 = entry3b - ProfitTargetNumber_3;
> Covertotal = Cover1 OR Cover2 OR Cover3;
>
> reverse_short1 = TodayHigh - RiskNumber_1 ; //round to lower 1/8
> reverse_short2 = TodayHigh - RiskNumber_2 ;
> reverse_short3 = TodayHigh - RiskNumber_3 ;
> reverse_short_total = reverse_short1 OR reverse_short2 OR reverse_short3 ;
>
> reverse_long1 = TodayLow + RiskNumber_1 ; //round to higher 1/8
> reverse_long2 = TodayLow + RiskNumber_2 ;
> reverse_long3 = TodayLow + RiskNumber_3 ;
> reverse_long_total = reverse_long1 OR reverse_long2 OR reverse_long3 ;
>
> entries = Long1 OR Long2 OR Long3 OR Short1 OR Short2 OR Short3 ;
>
> exit1 = IIf( Long1 , Sell1, IIf( Short1, Cover1, 0 ));
> exit2 = IIf( Long2 , Sell2, IIf( Short2, Cover2, 0 ));
> exit3 = IIf( Long3 , Sell3, IIf( Short3, Cover3, 0 ));
>
> Filter = entries ;
>
> AddColumn (TodayOpen, "Open", 1.2) ;
> AddColumn (TodayLow, "Low", 1.2) ;
> AddColumn (entrytotal, "Long", 1.2, IIf ( longtotal, colorBlue, 0) ) ;//Whenever I use "entrytotal", it returns "1" instead of a numerical value.
> AddColumn (entry3b, "Short", 1.2, IIf ( Short3, colorRed, 0 ) ) ;//This
> returns the correct numerical value for stock3 but I would like the column
> to return values for Stock1 or Stock2 or Stock3.
> AddColumn (IIf (Long3, Sell3, IIf (Short3, Cover3, 0)), "Profit Target" ,
> 1.2) ;
> AddColumn (IIf (C>entry3, reverse_short3, IIf (Short3, reverse_long3, 0)),
> "Reversal", 1.2 ) ;
>
>
>
|