Spectre2007
Registered: Dec 2006
Posts: 6296 |
10-12-12 12:24 AM
Inputs:
____MM_________ ("Money Management"),
NumShares(1),
Day_Profit_Target( 550 ), // day profit target per contract in dollars
Day_StopLoss_Target( -50 ),
ExitIntraTrade(true),
___ST___________ ("HH-LL Sample Time"),
Sample_StartTime( 1000) ,
Sample_EndTime( 1001) ,
EOD_Exit_Time (1600),
___BSR____________ ("Buy-Sell Region"),
MyPercentHi(.0001),
MyPercentLow(.0001);
Input:
____Show______ ("Show Items"),
Show_HH_LL_of_SamplingTime (True),
Show_EntryHigh_Entry_Low (True);
variables:
NP( 0 ),
OPP( 0 ),
PLB4Today( 0 ),
ProfToday( 0 ),
MP(0),
tradeON(false),
myTradePTgtPts(0),
myTradeSTgtPts(0),
myDayPTarget(0),
myDaySTarget(0);
MP = MarketPosition;
NP = NetProfit ;
OPP = OpenPositionProfit ;
{**************************************
Initialize at beginning of strategy
**************************************}
once begin
{****************************************
Multiply day profit target per contract
by the number of contracts
*****************************************}
myDayPTarget = {NumShares *} Day_Profit_Target;
myDaySTarget = {NumShares *} Day_StopLoss_Target;
end;
{******************************************************
Initialize at beginning of day (for day chart)
NOTE: for 24 hour charts use "if date = Sample_StartTime ..."
*******************************************************}
if date <> date[1] then begin
PLB4Today = NP[1] + OPP[1] ; // Profit before today
tradeON = true;
end;
{********************************************
At end of every bar calculate today's profit
*********************************************}
ProfToday = NP + OPP - PLB4Today ; // Profit today
{********************************************************
Turn off entries when a day profit or loss target it hit
*********************************************************}
if ExitIntraTrade then begin
{******************************************************
Check profit and loss on every bar and exit intraTrade
*******************************************************}
if ProfToday >= myDayPTarget then begin
tradeON = false;
if MP = 1 then begin
sell ("ProfitHit_LX") next bar at market;
end
else if MP = -1 then begin
buyToCover ("ProfitHit_SX") next bar at market;
end;
end;
if ProfToday <= myDaySTarget then begin
tradeON = false;
if MP = 1 then begin
sell ("Los****_LX") next bar at market;
end
else if MP = -1 then begin
buyToCover ("Los****_SX") next bar at market;
end;
end;
end
else begin
{****************************************
Check profit and loss only when flat
*****************************************}
If MP = 0 then begin
if ProfToday >= myDayPTarget then begin
tradeON = false;
end ;
end;
end;
// stop trading when day profit or loss hit======================================================================= end;
Variables:
HighVal( 999999 ) ,
LowVal( 0 ) ;
if Date <> Date[1] then
begin
HighVal = 0 ;
LowVal = 999999 ;
end ;
if Time > Sample_StartTime and Time <= Sample_EndTime then
begin
// collect HH & LL during Smapling Time
HighVal = MaxList( High , HighVal ) ;
LowVal = MinList( Low, LowVal ) ;
// plots
If Show_HH_LL_of_SamplingTime then begin
//HH
Value1 = TL_new(d[1],t[1],HighVal,d,t,HighVal);
TL_Setstyle(value1,5);
TL_Setcolor(value1, darkcyan);
TL_Setsize(value1,1);
//LL
Value2 = TL_new(d[1],t[1],LowVal,d,t,LowVal);
TL_Setstyle(value2,5);
TL_Setcolor(value2, darkmagenta);
TL_Setsize(value2,1);
end;
If Show_EntryHigh_Entry_Low then begin
//EH
Value3 = TL_new(d[1],t[1],HighVal*(1+MyPercentHi*.01),d,t,HighVal*(1+MyPercentHi*.01));
TL_Setstyle(value3,5);
TL_Setcolor(value3, cyan);
TL_Setsize(value3,1);
//LL
Value4 = TL_new(d[1],t[1],LowVal*(1-MyPercentLow*.01),d,t,LowVal*(1-MyPercentLow*.01));
TL_Setstyle(value4,5);
TL_Setcolor(value4, magenta);
TL_Setsize(value4,1);
end;
end ;
if Time >= Sample_EndTime and Time <> SessionEndTime( 0, 1 )and tradeON = true then
begin
if Close < HighVal*(1+MyPercentHi*.01) and close >= HighVal then
buy("BO-LE")NumShares shares next bar at HighVal*(1+MyPercentHi*.01) stop ;
if Close > LowVal*(1-MyPercentLow*.01) and close <= LowVal then
sellShort("BO-SE")NumShares shares next bar at LowVal*(1-MyPercentLow*.01) stop ;
end ;
// Plot BO Regin and time >
If Show_HH_LL_of_SamplingTime and time >= Sample_EndTime then begin
//HH
Value1 = TL_new(d[1],t[1],HighVal,d,t,HighVal);
TL_Setstyle(value1,5);
TL_Setcolor(value1, darkcyan);
TL_Setsize(value1,1);
//LL
Value2 = TL_new(d[1],t[1],LowVal,d,t,LowVal);
TL_Setstyle(value2,5);
TL_Setcolor(value2, darkmagenta);
TL_Setsize(value2,1);
end;
If Show_EntryHigh_Entry_Low and time >= Sample_EndTime then begin
//EH
Value3 = TL_new(d[1],t[1],HighVal*(1+MyPercentHi*.01),d,t,HighVal*(1+MyPercentHi*.01));
TL_Setstyle(value3,5);
TL_Setcolor(value3, cyan);
TL_Setsize(value3,1);
//LL
Value4 = TL_new(d[1],t[1],LowVal*(1-MyPercentLow*.01),d,t,LowVal*(1-MyPercentLow*.01));
TL_Setstyle(value4,5);
TL_Setcolor(value4, magenta);
TL_Setsize(value4,1);
end;
|