[IntrabarOrderGeneration = false]
Inputs:
Sample_StartTime( 1230) ,
Sample_EndTime (1231),
Initial_Numshares(1),
NumShares_Step (1),
Max_Shares (5),
Day_Profit_Target( 550 ),
ExitIntraTrade(true),
Price(close);
Input:
____Show______ ("Show Items"),
Show_HH_LL_of_SamplingTime (True),
Show_EntryHigh_Entry_Low (True);
vars:
NP( 0 ),
OPP( 0 ),
PLB4Today( 0 ),
ProfToday( 0 ),
MP(0),
tradeON(false),
myTradePTgtPts(0),
myDayPTarget(0),
PriceLStick (0),
NumShares(Initial_Numshares),
LastProfitLoss(0),
TT(0);
TT = TotalTrades;
LastProfitLoss = PositionProfit(1);
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;
end;
{************************************************* *****
Initialize at beginning of day (for day chart)
NOTE: for 24 hour charts use "if date = Sample_StartTime ..."
************************************************** *****}
{********************************************
At end of every bar calculate today's profit
*********************************************}
ProfToday = OPP ; // 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;
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;
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,d,t,HighVal);
TL_Setstyle(value3,5);
TL_Setcolor(value3, cyan);
TL_Setsize(value3,1);
//LL
Value4 = TL_new(d[1],t[1],LowVal,d,t,LowVal);
TL_Setstyle(value4,5);
TL_Setcolor(value4, magenta);
TL_Setsize(value4,1);
end;
end ;
If Time > Sample_StartTime then begin
PriceLStick = ((HighVal + LowVal)/2);
If TT <>TT[1] then begin
If LastProfitLoss >= 0 then NumShares = Initial_Numshares;
If LastProfitLoss <0 then NumShares = NumShares * NumShares_Step;
If NumShares >= Max_Shares then NumShares = Max_Shares;
end;
If NumShares > Initial_Numshares and LastProfitLoss > 0 then NumShares = Initial_Numshares;
If Currentbar > 2 and Price crosses over PriceLStick then
Buy ("PriceLSLong") NumShares shares next bar at market;
If Currentbar > 2 and Price crosses under PriceLStick then
Sell short ("PriceLSShort") NumShares shares next bar at market;
end;

Comment