How to Describe LAST TRADE

Questions about MultiCharts and user contributed studies.
khalaad
Posts: 310
Joined: 07 Jan 2007
Location: Lahore, Pakistan
Has thanked: 62 times
Been thanked: 57 times

How to Describe LAST TRADE

Postby khalaad » 01 Feb 2008

Dear Support Team,

The code at the end of this message (with "if LastTrade = -1 then begin" and "if LastTrade = -1 and marketposition = 1 then begin") I obtained from www.tradingblox.com compiles successfully.

However, if use "LastTrade" OR terms with similar meaning like "prevMarketPosition" OR "MarketPosition [1]" in another code I get errors.
All I want to describe is:
• SellShort ONLY if last trade was a Buy;
• Buy ONLY if last trade was a SellShort.

Thank you

Regards,
Khalid

/// Turtle 20-Day Breakout Replica //////////////////////////////////////

vars: N(0),StopLoss(1),DV(0),BB(0),AccountBalance(0),DollarRisk(0),LTT(0),
Tracker(0),LastTrade(0),HBP(0),LBP(0); input: InitialBalance(100000),Length(20);

if marketposition = 0 then begin
BB = 0;
N = xAverage( TrueRange, Length );
DV = N * BigPointValue;

AccountBalance = InitialBalance;
DollarRisk = AccountBalance * .01;
LTT = IntPortion(DollarRisk/DV);
StopLoss = 2 * DV * LTT;

if LastTrade = -1 then begin
buy LTT shares next bar highest(h,20) or higher;
buy LTT shares next bar highest(h,20) + (0.5*N) or higher;
buy LTT shares next bar highest(h,20) + (1.0*N) or higher;
buy LTT shares next bar highest(h,20) + (1.5*N) or higher;
sellshort LTT shares next bar lowest(l,20) or lower;
sellshort LTT shares next bar lowest(l,20) - (0.5*N) or lower;
sellshort LTT shares next bar lowest(l,20) - (1.0*N) or lower;
sellshort LTT shares next bar lowest(l,20) - (1.5*N) or lower;
end;

if LastTrade = 1 then begin
buy LTT shares next bar highest(h,55) or higher;
buy LTT shares next bar highest(h,55) + (0.5*N) or higher;
buy LTT shares next bar highest(h,55) + (1.0*N) or higher;
buy LTT shares next bar highest(h,55) + (1.5*N) or higher;
sellshort LTT shares next bar lowest(l,55) or lower;
sellshort LTT shares next bar lowest(l,55) - (0.5*N) or lower;
sellshort LTT shares next bar lowest(l,55) - (1.0*N) or lower;
sellshort LTT shares next bar lowest(l,55) - (1.5*N) or lower;
end;

end;

// PREVIOUS TRADE TRACKER
if HBP = 0 and h > highest(h,19)[1] then begin
Tracker = 1; HBP = h; LBP = 0;
end;

if LBP = 0 and l < lowest(l,19)[1] then begin
Tracker = -1; LBP = l; HBP = 0;
end;

if Tracker = 1 then begin
if l < HBP - (2*N) then LastTrade = -1;
if h > HBP + (4*N) then LastTrade = 1;
end;

if Tracker = -1 then begin
if h > LBP + (2*N) then LastTrade = -1;
if l < LBP - (4*N) then LastTrade = 1;
end;

// LONG 20
if LastTrade = -1 and marketposition = 1 then begin
BB = BB + 1;
if currentshares = LTT then begin
buy LTT shares next bar highest(h,20)[BB] + (0.5*N) or higher;
buy LTT shares next bar highest(h,20)[BB] + (1.0*N) or higher;
buy LTT shares next bar highest(h,20)[BB]+ (1.5*N) or higher;
end;

if currentshares = LTT * 2 then begin
buy LTT shares next bar highest(h,20)[BB] + (1.0*N) or higher;
buy LTT shares next bar highest(h,20)[BB] + (1.5*N) or higher;
end;

if currentshares = LTT * 3 then
buy LTT shares next bar highest(h,20)[BB] + (1.5*N) or higher;
end;

// LONG 55
if LastTrade = 1 and marketposition = 1 then begin
BB = BB + 1;
if currentshares = LTT then begin
buy LTT shares next bar highest(h,55)[BB] + (0.5*N) or higher;
buy LTT shares next bar highest(h,55)[BB] + (1.0*N) or higher;
buy LTT shares next bar highest(h,55)[BB]+ (1.5*N) or higher;
end;
if currentshares = LTT * 2 then begin
buy LTT shares next bar highest(h,55)[BB] + (1.0*N) or higher;
buy LTT shares next bar highest(h,55)[BB] + (1.5*N) or higher;
end;
if currentshares = LTT * 3 then
buy LTT shares next bar highest(h,55)[BB] + (1.5*N) or higher;
end;
sell ("out-S") next bar lowest(l,10) or lower;

// SHORT 20
if LastTrade = -1 and marketposition = -1 then begin
BB = BB + 1;
if currentshares = LTT then begin
sellshort LTT shares next bar lowest(l,20)[BB] - (0.5*N) or lower;
sellshort LTT shares next bar lowest(l,20)[BB] - (1.0*N) or lower;
sellshort LTT shares next bar lowest(l,20)[BB] - (1.5*N) or lower;
end;
if currentshares = LTT * 2 then begin
sellshort LTT shares next bar lowest(l,20)[BB] - (1.0*N) or lower;
sellshort LTT shares next bar lowest(l,20)[BB] - (1.5*N) or lower;
end;
if currentshares = LTT * 3 then
sellshort LTT shares next bar lowest(l,20)[BB] - (1.5*N) or lower;
end;

// SHORT 55
if LastTrade = 1 and marketposition = -1 then begin
BB = BB + 1;
if currentshares = LTT then begin
sellshort LTT shares next bar lowest(l,55)[BB] - (0.5*N) or lower;
sellshort LTT shares next bar lowest(l,55)[BB] - (1.0*N) or lower;
sellshort LTT shares next bar lowest(l,55)[BB] - (1.5*N) or lower;
end;
if currentshares = LTT * 2 then begin
sellshort LTT shares next bar lowest(l,55)[BB] - (1.0*N) or lower;
sellshort LTT shares next bar lowest(l,55)[BB] - (1.5*N) or lower;
end;
if currentshares = LTT * 3 then
sellshort LTT shares next bar lowest(l,55)[BB] - (1.5*N) or lower;
end;
buytocover ("out-B") next bar highest(h,10) or higher;

// STOPS
if currentshares = (2 * LTT) then StopLoss = DV * 3.5 * LTT;
if currentshares = (3 * LTT) then StopLoss = DV * 4.5 * LTT;
if currentshares = (4 * LTT) then StopLoss = DV * 5.0 * LTT;
setstoploss (StopLoss);

// COMMENTARY
commentary ("LTT: ",LTT,Newline);
commentary ("CurrentShares: ",CurrentShares,Newline);
commentary ("StopLoss: ",StopLoss,Newline);
commentary ("AccountBalance:",AccountBalance,NewLine);
commentary ("LastTrade: ",LastTrade,NewLine);

khalaad
Posts: 310
Joined: 07 Jan 2007
Location: Lahore, Pakistan
Has thanked: 62 times
Been thanked: 57 times

Postby khalaad » 03 Feb 2008

Problem resolved with a simple

Vars: prevMarketPosition(0);

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

tradewiz
Posts: 3
Joined: 26 Nov 2013
Been thanked: 2 times

Re: How to Describe LAST TRADE

Postby tradewiz » 26 Nov 2013

hi, i am having the same problem and just wondering if you can give a bit more details as how did you change the code to implemented this? thanks a lot.


Return to “MultiCharts”