/*[[
Name := Vegas Tunnel
Author := tageiger c/o Vegas Tunnel Concept
Link := http://www.freewebs.com/mswilson/
Lots := 1.00
Stop Loss := 0
Take Profit := 0
Trailing Stop := 55
]]*/
Define: Slip(0),
Envelope_period(144),
Deviation(0.05),
Open_time(6),
Close_time(23),
First_tp(233),
Second_tp(377),
Third_tp(610);
Vars: lt(1),
b(0),
bsl(0),
btp(0),
s(0),
ssl(0),
stp(0),
f1(0),
f2(0),
f3(0),
bline(0),
sline(0),
cnt(0),
d(0),
ot(0),
ct(0),
p(0);
If FreeMargin<500 then exit;
ot=Open_time;
ct=Close_time;
f1=First_tp;
f2=Second_tp;
f3=Third_tp;
d=Deviation;
p=Envelope_period;
If bars
ot then
{
If (bline>Close[0] & Close[0]>sline) then
{
If TotalTrades<1 then
{
b=bline;
bsl=sline;
btp=b+(f3*Point);
SetOrder(OP_BUYSTOP,lt,b,slip,bsl,btp,Green);
exit;
}
If TotalTrades<2 then
{
s=sline;
ssl=bline;
stp=s-(f3*Point);
SetOrder(OP_SELLSTOP,lt,s,slip,ssl,stp,RED);
exit;
}
If TotalTrades<3 then
{
b=bline;
bsl=sline;
btp=b+(f2*Point);
SetOrder(OP_BUYSTOP,lt,b,slip,bsl,btp,Green);
exit;
}
If TotalTrades<4 then
{
s=sline;
ssl=bline;
stp=s-(f2*Point);
SetOrder(OP_SELLSTOP,lt,s,slip,ssl,stp,RED);
exit;
}
If TotalTrades<5 then
{
b=bline;
bsl=sline;
btp=b+(f1*Point);
SetOrder(OP_BUYSTOP,lt,b,slip,bsl,btp,Green);
exit;
}
If TotalTrades<6 then
{
s=sline;
ssl=bline;
stp=s-(f1*Point);
SetOrder(OP_SELLSTOP,lt,s,slip,ssl,stp,RED);
exit;
}
}
}
For cnt=1 to TotalTrades Begin
If Hour>ct or Hourbline & Ord(cnt,VAL_OPENPRICE)sline then
{
If Ord(cnt,VAL_STOPLOSS)>sline then
{
ssl=sline;
ModifyOrder(Ord(cnt,VAL_TICKET),
Ord(cnt,VAL_OPENPRICE),
ssl,
Ord(cnt,VAL_TAKEPROFIT),
OrangeRed);
exit;
}
}
}
}
If TotalTrades<=3 then
{
If Hourot then
{
If (bline>Close[0] & Close[0]>sline) then
{
If Ord(cnt,VAL_TYPE)=OP_SELL or
Ord(cnt,VAL_TYPE)=OP_SELLSTOP then
{
If TotalTrades<4 then
{
b=bline;
bsl=sline;
btp=b+(f3*Point);
SetOrder(OP_BUYSTOP,lt,b,slip,bsl,btp,Green);
exit;
}
If TotalTrades<5 then
{
b=bline;
bsl=sline;
btp=b+(f2*Point);
SetOrder(OP_BUYSTOP,lt,b,slip,bsl,btp,Green);
exit;
}
If TotalTrades<6 then
{
b=bline;
bsl=sline;
btp=b+(f1*Point);
SetOrder(OP_BUYSTOP,lt,b,slip,bsl,btp,Green);
exit;
}
}
If Ord(cnt,VAL_TYPE)=OP_BUY or
Ord(cnt,VAL_TYPE)=OP_BUYSTOP then
{
If TotalTrades<4 then
{
s=sline;
ssl=bline;
stp=s-(f3*Point);
SetOrder(OP_SELLSTOP,lt,s,slip,ssl,stp,RED);
exit;
}
If TotalTrades<5 then
{
s=sline;
ssl=bline;
stp=s-(f2*Point);
SetOrder(OP_SELLSTOP,lt,s,slip,ssl,stp,RED);
exit;
}
If TotalTrades<6 then
{
s=sline;
ssl=bline;
stp=s-(f1*Point);
SetOrder(OP_SELLSTOP,lt,s,slip,ssl,stp,RED);
exit;
}
}
}
}
}
If Minute=0 then
{
If Ord(cnt,val_type)=OP_BUYSTOP then
{
If bline<>Ord(cnt,VAL_OPENPRICE) then
{
If Ord(cnt,VAL_TAKEPROFIT)-Ord(cnt,VAL_OPENPRICE)=(f3*Point) then
{
b=bline;
bsl=sline;
btp=b+(f3*Point);
ModifyOrder(Ord(cnt,val_ticket),b,bsl,btp,CornflowerBlue);
exit;
}
If Ord(cnt,VAL_TAKEPROFIT)-Ord(cnt,VAL_OPENPRICE)=(f2*Point) then
{
b=bline;
bsl=sline;
btp=b+(f2*Point);
ModifyOrder(Ord(cnt,val_ticket),b,bsl,btp,CornflowerBlue);
exit;
}
If Ord(cnt,VAL_TAKEPROFIT)-Ord(cnt,VAL_OPENPRICE)=(f1*Point) then
{
b=bline;
bsl=sline;
btp=b+(f1*Point);
ModifyOrder(Ord(cnt,val_ticket),b,bsl,btp,CornflowerBlue);
exit;
}
}
}
If Ord(cnt,VAL_TYPE)=OP_SELLSTOP then
{
If sline<>Ord(cnt,VAL_OPENPRICE) then
{
If Ord(cnt,VAL_OPENPRICE)-Ord(cnt,VAL_TAKEPROFIT)=(f3*Point) then
{
s=sline;
ssl=bline;
stp=s-(f3*Point);
ModifyOrder(Ord(cnt,val_ticket),s,ssl,stp,Beige);
exit;
}
If Ord(cnt,VAL_OPENPRICE)-Ord(cnt,VAL_TAKEPROFIT)=(f2*Point) then
{
s=sline;
ssl=bline;
stp=s-(f2*Point);
ModifyOrder(Ord(cnt,val_ticket),s,ssl,stp,Beige);
exit;
}
If Ord(cnt,VAL_OPENPRICE)-Ord(cnt,VAL_TAKEPROFIT)=(f1*Point) then
{
s=sline;
ssl=bline;
stp=s-(f1*Point);
ModifyOrder(Ord(cnt,val_ticket),s,ssl,stp,Beige);
exit;
}
}
}
}
end;