设为首页收藏本站

 找回密码
 注册
楼主: qsb588986
打印 上一主题 下一主题

这个策略每天赚一点。 [复制链接]

Rank: 3Rank: 3

精华
0
UID
213396
积分
187
帖子
140
主题
26
阅读权限
40
注册时间
2015-7-10
最后登录
2023-4-14
11#
发表于 2019-9-20 23:44:44 |只看该作者
又一个强势策略

Params
Numeric offset(6);

Vars

Numeric totalequity;
Numeric turtleunits;
NumericSeries dd;
NumericSeries count;
NumericSeries hh;
NumericSeries ll;
NumericSeries hhh;
NumericSeries lll;
Numeric ii;
Numeric jj;
Numeric qq;
Numeric n;
Numeric m;
Numeric k;
Numeric kk;
Numeric i;
Numeric j;
Numeric s;
Numeric f;
Numeric tin;
Numeric tinn;
Numeric tinnn;
Numeric ff;
Numeric at;
Numeric tt;
Numeric zz;
Numeric yj;
Numeric yjj;
Numeric yjjj;
Numeric yjjjj;
NumericSeries junjia;
NumericSeries aa;
Numeric bu;
NumericSeries buu;
NumericSeries buuu;
NumericSeries buuuu;
Numeric pu;
NumericSeries puu;
NumericSeries puuu;
NumericSeries puuuu;

Begin


TotalEquity = A_FreeMargin + A_TotalMargin;   //账户最新资产 = 按当前Bar开盘价计算的可用资金 + 持仓保证金
TurtleUnits=(TotalEquity/(MarginRatio*ContractUnit()*BigPointValue()*Close))*1/5;
TurtleUnits = IntPart(TurtleUnits); // 对小数取整
if(GetGlobalVar(13)!=8 && BarStatus==2 && time==0.0900 || GetGlobalVar(13)!=8 && BarStatus==2 && time==0.2100)
{
SetGlobalVar(13,8);
SetGlobalVar(1,1);
SetGlobalVar(2,1);
SetGlobalVar(0,1);
SetGlobalVar(4,1);
SetGlobalVar(20,0);
SetGlobalVar(21,0);
SetGlobalVar(22,1);
SetGlobalVar(23,1);
SetGlobalVar(30,0);
SetGlobalVar(31,0);
SetGlobalVar(32,0);
SetGlobalVar(40,0);
SetGlobalVar(41,0);
SetGlobalVar(60,1);
SetGlobalVar(61,1);
SetGlobalVar(62,1);
SetGlobalVar(63,1);
SetGlobalVar(70,0);
SetGlobalVar(71,0);
SetGlobalVar(72,0);
SetGlobalVar(73,0);
SetGlobalVar(74,0);
SetGlobalVar(75,0);
SetGlobalVar(76,0);
SetGlobalVar(77,0);
SetGlobalVar(80,0);
SetGlobalVar(81,0);
SetGlobalVar(82,0);
SetGlobalVar(83,0);
SetGlobalVar(84,0);
SetGlobalVar(85,0);
SetGlobalVar(92,999999);
SetGlobalVar(93,0);
SetGlobalVar(100,0);
}
Else If(Time!=0.0900 && Time!=0.2100)
SetGlobalVar(13,1);



if(GetGlobalVar(14)!=8 && BarStatus==2 )
{
SetGlobalVar(1,1);
SetGlobalVar(2,1);
SetGlobalVar(0,1);
SetGlobalVar(4,1);
SetGlobalVar(20,0);
SetGlobalVar(21,0);
SetGlobalVar(22,1);
SetGlobalVar(23,1);
SetGlobalVar(30,0);
SetGlobalVar(31,0);
SetGlobalVar(32,0);
SetGlobalVar(40,0);
SetGlobalVar(41,0);
SetGlobalVar(60,1);
SetGlobalVar(61,1);
SetGlobalVar(62,1);
SetGlobalVar(63,1);
SetGlobalVar(70,0);
SetGlobalVar(71,0);
SetGlobalVar(72,0);
SetGlobalVar(73,0);
SetGlobalVar(74,0);
SetGlobalVar(75,0);
SetGlobalVar(76,0);
SetGlobalVar(77,0);
SetGlobalVar(80,0);
SetGlobalVar(81,0);
SetGlobalVar(82,0);
SetGlobalVar(83,0);
SetGlobalVar(84,0);
SetGlobalVar(85,0);
SetGlobalVar(92,999999);
SetGlobalVar(93,0);
SetGlobalVar(100,0);
SetGlobalVar(14,8);
}
if(time!=time[1]+0.0001 && time==0.0900 or time!=time[1]+0.0001 && time==0.2100)
count=1;
Else
count=count+1;

if(GetGlobalVar(22)==1 && Close!=Open && BarStatus==2 && Vol>0 or GetGlobalVar(22)==1 && Close==Open && BarStatus==2 && Vol>0)
{
SetGlobalVar(30,Close);
SetGlobalVar(22,2);
}
if(GetGlobalVar(23)==1 && BarStatus==2)
{
SetGlobalVar(31,Close);
SetGlobalVar(32,Close);
SetGlobalVar(23,2);
}
if(Close>GetGlobalVar(31))
SetGlobalVar(60,1);
if(Close<GetGlobalVar(31))
SetGlobalVar(61,1);
if(Close<GetGlobalVar(32))
SetGlobalVar(62,1);
if(Close>GetGlobalVar(32))
SetGlobalVar(63,1);

if(Close>GetGlobalVar(31) && BarStatus==2 && GetGlobalVar(60)==1)
{
SetGlobalVar(76,GetGlobalVar(40));
SetGlobalVar(40,GetGlobalVar(40)+1);
SetGlobalVar(31,Close);
SetGlobalVar(60,2);
}
if(Close<GetGlobalVar(31) && BarStatus==2 && GetGlobalVar(61)==1)
{
SetGlobalVar(76,GetGlobalVar(40));
SetGlobalVar(40,GetGlobalVar(40)-1);
SetGlobalVar(31,Close);
SetGlobalVar(61,2);
}


if(BarStatus==2 && GetGlobalVar(80)!=CurrentBar && GetGlobalVar(70)==0)
SetGlobalVar(80,CurrentBar);
if(BarStatus==2 && GetGlobalVar(81)!=CurrentBar && GetGlobalVar(71)==0)
SetGlobalVar(81,CurrentBar);


if(GetGlobalVar(80)!=CurrentBar)
SetGlobalVar(70,0);
Else if(GetGlobalVar(76)<GetGlobalVar(40))
SetGlobalVar(70,GetGlobalVar(70)+Q_LastVol);
if(GetGlobalVar(81)!=CurrentBar)
SetGlobalVar(71,0);
Else if(GetGlobalVar(76)>GetGlobalVar(40))
SetGlobalVar(71,GetGlobalVar(71)-Q_LastVol);

if(BarStatus==2 && CurrentBar>=GetGlobalVar(84)+2 && GetGlobalVar(74)==0)
SetGlobalVar(84,CurrentBar);
if(CurrentBar>=GetGlobalVar(84)+2)
SetGlobalVar(74,0);

Else if(GetGlobalVar(76)<GetGlobalVar(40) && Close==High)
SetGlobalVar(74,GetGlobalVar(74)+Q_LastVol);


if(Close<GetGlobalVar(32) && BarStatus==2 && GetGlobalVar(62)==1)
{
SetGlobalVar(77,GetGlobalVar(41));
SetGlobalVar(41,GetGlobalVar(41)+1);
SetGlobalVar(32,Close);
SetGlobalVar(62,2);
}
if(Close>GetGlobalVar(32) && BarStatus==2 && GetGlobalVar(63)==1)
{
SetGlobalVar(77,GetGlobalVar(41));
SetGlobalVar(41,GetGlobalVar(41)-1);
SetGlobalVar(32,Close);
SetGlobalVar(63,2);
}
if(BarStatus==2 && GetGlobalVar(82)!=CurrentBar && GetGlobalVar(72)==0)
SetGlobalVar(82,CurrentBar);
if(BarStatus==2 && GetGlobalVar(83)!=CurrentBar && GetGlobalVar(73)==0)
SetGlobalVar(83,CurrentBar);


if(GetGlobalVar(82)!=CurrentBar)
SetGlobalVar(72,0);
Else if(GetGlobalVar(77)<GetGlobalVar(41))
SetGlobalVar(72,GetGlobalVar(72)+Q_LastVol);
if(GetGlobalVar(83)!=CurrentBar)
SetGlobalVar(73,0);
Else if(GetGlobalVar(77)>GetGlobalVar(41))
SetGlobalVar(73,GetGlobalVar(73)-Q_LastVol);

if(BarStatus==2 && CurrentBar>=GetGlobalVar(85)+2 && GetGlobalVar(75)==0)
SetGlobalVar(85,CurrentBar);
if(CurrentBar>=GetGlobalVar(85)+2)
SetGlobalVar(75,0);
Else if(GetGlobalVar(77)<GetGlobalVar(41) && Close==Low)
SetGlobalVar(75,GetGlobalVar(75)+Q_LastVol);

hhh=GetGlobalVar(74);
lll=GetGlobalVar(75);
if(GetGlobalVar(74)>10000 && GetGlobalVar(74)>GetGlobalVar(75))
SetGlobalVar(201,CurrentBar);
if(CurrentBar>GetGlobalVar(201) && hhh[1]>10000 && hhh[1]>lll[1])
{
if(High-Low<=5)
{
SetGlobalVar(92,High[1]);
SetGlobalVar(93,Low[1]);
}
Else
{
SetGlobalVar(92,High[1]);
SetGlobalVar(93,High[1]-5);
}
}
if(GetGlobalVar(75)>10000 && GetGlobalVar(75)>GetGlobalVar(74))
SetGlobalVar(200,CurrentBar);
if(CurrentBar>GetGlobalVar(200) && lll[1]>10000 && lll[1]>hhh[1])
{
if(High-Low<=5)
{
SetGlobalVar(92,High[1]);
SetGlobalVar(93,Low[1]);
}
Else
{
SetGlobalVar(92,Low[1]+5);
SetGlobalVar(93,Low[1]);
}
}
Junjia=(High+Low)/2;
ii=count;
jj=count;
qq=count;

For j=0 to jj
{

For i=0 to ii
{
If(abs(junjia[i]-junjia[j])<=1)
{
n=n+1;
yj=yj+junjia[i];
tin=i;
bu=High[i];
if(bu>buu)
buu=bu;
pu=Low[i];
puu=99999;
if(pu<puu)
puu=pu;
}
if(i==qq)
{
k=n;
n=0;
yjj=yj;
yj=0;
yjjj=yjj/k;
buuu=buu;
buu=0;
puuu=puu;
puu=0;
}

}
if(k>kk)
{
kk=k;
yjjjj=yjjj;
tinn=tin;
zz=j;
buuuu=buuu;
puuuu=puuu;
}



}

for s=0 to tinn
{
if(junjia[s]>yjjjj)
f=f+hhh[s];
if(junjia[s]<yjjjj)
at=at+lll[s];
}
if(f>ff)
ff=f;
if(at>tt)
tt=at;
if(kk>=8)
SetGlobalVar(100,100);
Else
SetGlobalVar(100,1000);
hh=Highest(high,tinn);
ll=Lowest(low,tinn);
if(currenttime>0.0900 && currenttime<0.1458)
{

if(A_BuyPosition==0 && A_SellPosition==0 && BarStatus==2 && vol>0)

{
if(GetGlobalVar(0)==1 && ff>tt && ff>10000)
{
A_SendOrder(Enum_Buy,Enum_Entry,TurtleUnits,Q_AskPrice+offset*MinMove*PriceScale);
SetGlobalVar(0,2);
SetGlobalVar(4,2);
SetGlobalVar(2,1);
SetGlobalVar(101,ff);
SetGlobalVar(102,tt);
}
Else if(GetGlobalVar(4)==1 && ff<tt && tt>10000)
{

A_SendOrder(Enum_Sell,Enum_Entry,TurtleUnits,Q_BidPrice-offset*MinMove*PriceScale);
SetGlobalVar(4,2);
SetGlobalVar(0,2);
SetGlobalVar(1,1);
SetGlobalVar(101,ff);
SetGlobalVar(102,tt);
}
}
if(A_SellPosition>0 && BarStatus==2 && vol>0)
{
if(GetGlobalVar(1)==1 && ff>tt && ff>10000 && Close>yjjjj && Close>buuuu)
{
if(a_todaysellposition>0)
A_SendOrder(Enum_Buy,Enum_ExitToday,A_TodaySellPosition,Q_AskPrice+offset*MinMove*PriceScale);
Else
A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition,Q_AskPrice+offset*MinMove*PriceScale);
A_SendOrder(Enum_Buy,Enum_Entry,TurtleUnits,Q_AskPrice+offset*MinMove*PriceScale);
SetGlobalVar(1,2);
SetGlobalVar(2,1);
SetGlobalVar(101,ff);
SetGlobalVar(102,tt);
SetGlobalVar(103,hh[1]);
SetGlobalVar(104,tinn);

}
else if(GetGlobalVar(1)==1 && A_TotalAvgPrice-Close>=30 && A_TotalAvgPrice!=InvalidNumeric)
{
if(a_todaysellposition>0)
A_SendOrder(Enum_Buy,Enum_ExitToday,A_TodaySellPosition,Q_AskPrice+offset*MinMove*PriceScale);
Else
A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition,Q_AskPrice+offset*MinMove*PriceScale);
SetGlobalVar(1,3);
SetGlobalVar(2,3);
SetGlobalVar(4,3);
SetGlobalVar(0,3);

}

}

if(A_BuyPosition>0 && BarStatus==2 && vol>0)
{
if(GetGlobalVar(2)==1 && ff<tt && tt>10000 && Close<yjjjj && Close<puuuu)
{
if(A_TodayBuyPosition>0)
A_SendOrder(Enum_Sell,Enum_ExitToday,A_TodayBuyPosition,Q_BidPrice-offset*MinMove*PriceScale);
Else
A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition,Q_BidPrice-offset*MinMove*PriceScale);
A_SendOrder(Enum_Sell,Enum_Entry,TurtleUnits,Q_BidPrice-offset*MinMove*PriceScale);
SetGlobalVar(2,2);
SetGlobalVar(1,1);
SetGlobalVar(101,ff);
SetGlobalVar(102,tt);
SetGlobalVar(103,ll[1]);
SetGlobalVar(104,tinn);
}
else if(GetGlobalVar(2)==1 && Close-A_TotalAvgPrice>=30)
{
if(A_TodayBuyPosition>0)
A_SendOrder(Enum_Sell,Enum_ExitToday,A_TodayBuyPosition,Q_BidPrice-offset*MinMove*PriceScale);
Else
A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition,Q_BidPrice-offset*MinMove*PriceScale);
SetGlobalVar(2,3);
SetGlobalVar(1,3);
SetGlobalVar(4,3);
SetGlobalVar(0,3);
}

}
}

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
213396
积分
187
帖子
140
主题
26
阅读权限
40
注册时间
2015-7-10
最后登录
2023-4-14
12#
发表于 2019-9-20 23:47:40 |只看该作者
if(currenttime>0.2100 && currenttime<0.2258)
{

if(A_BuyPosition==0 && A_SellPosition==0 && BarStatus==2 && vol>0)

{
if(GetGlobalVar(0)==1 && ff>tt && ff>10000)
{
A_SendOrder(Enum_Buy,Enum_Entry,TurtleUnits,Q_AskPrice+offset*MinMove*PriceScale);
SetGlobalVar(0,2);
SetGlobalVar(4,2);
SetGlobalVar(2,1);
SetGlobalVar(101,ff);
SetGlobalVar(102,tt);
}
Else if(GetGlobalVar(4)==1 && ff<tt && tt>10000)
{

A_SendOrder(Enum_Sell,Enum_Entry,TurtleUnits,Q_BidPrice-offset*MinMove*PriceScale);
SetGlobalVar(4,2);
SetGlobalVar(0,2);
SetGlobalVar(1,1);
SetGlobalVar(101,ff);
SetGlobalVar(102,tt);
}
}

if(A_SellPosition>0 && BarStatus==2  && vol>0)
{
if(GetGlobalVar(1)==1 && ff>tt && ff>10000 && Close>yjjjj && Close>buuuu)
{
if(a_todaysellposition>0)
A_SendOrder(Enum_Buy,Enum_ExitToday,A_TodaySellPosition,Q_AskPrice+offset*MinMove*PriceScale);
Else
A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition,Q_AskPrice+offset*MinMove*PriceScale);
A_SendOrder(Enum_Buy,Enum_Entry,TurtleUnits,Q_AskPrice+offset*MinMove*PriceScale);
SetGlobalVar(1,2);
SetGlobalVar(2,1);
SetGlobalVar(101,ff);
SetGlobalVar(102,tt);
SetGlobalVar(103,hh[1]);
SetGlobalVar(104,tinn);
}
else if(GetGlobalVar(1)==1 && A_TotalAvgPrice-Close>=30 && A_TotalAvgPrice!=InvalidNumeric)
{
if(a_todaysellposition>0)
A_SendOrder(Enum_Buy,Enum_ExitToday,A_TodaySellPosition,Q_AskPrice+offset*MinMove*PriceScale);
Else
A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition,Q_AskPrice+offset*MinMove*PriceScale);
SetGlobalVar(2,7);
SetGlobalVar(1,7);
SetGlobalVar(4,7);
SetGlobalVar(0,7);
}

}

if(A_BuyPosition>0 && BarStatus==2 && vol>0)
{
if(GetGlobalVar(2)==1 && ff<tt && tt>10000 && Close<yjjjj && Close<puuuu)
{
if(A_TodayBuyPosition>0)
A_SendOrder(Enum_Sell,Enum_ExitToday,A_TodayBuyPosition,Q_BidPrice-offset*MinMove*PriceScale);
Else
A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition,Q_BidPrice-offset*MinMove*PriceScale);
A_SendOrder(Enum_Sell,Enum_Entry,TurtleUnits,Q_BidPrice-offset*MinMove*PriceScale);
SetGlobalVar(2,2);
SetGlobalVar(1,1);
SetGlobalVar(101,ff);
SetGlobalVar(102,tt);
SetGlobalVar(103,ll[1]);
SetGlobalVar(104,tinn);
}

else if(GetGlobalVar(2)==1 && Close-A_TotalAvgPrice>=30)
{
if(A_TodayBuyPosition>0)
A_SendOrder(Enum_Sell,Enum_ExitToday,A_TodayBuyPosition,Q_BidPrice-offset*MinMove*PriceScale);
Else
A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition,Q_BidPrice-offset*MinMove*PriceScale);
SetGlobalVar(2,4);
SetGlobalVar(1,4);
SetGlobalVar(4,4);
SetGlobalVar(0,4);
}

}
}

if(A_GetOpenOrderCount==0)
SetGlobalVar(20,0);
Else
SetGlobalVar(20,1);
if(currenttime>0.1458 && currenttime<0.1500 && (A_BuyPosition>0 or  A_SellPosition>0) && GetGlobalVar(20)==0 or currenttime>0.2258 && currenttime<0.2300 && (A_BuyPosition>0 or A_SellPosition>0) && GetGlobalVar(20)==0)
{
if(A_TodayBuyPosition>0)
{
A_SendOrder(Enum_Sell,Enum_ExitToday,A_TodayBuyPosition,Q_BidPrice-offset*MinMove*PriceScale);
SetGlobalVar(20,1);
}
Else
{
A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition,Q_BidPrice-offset*MinMove*PriceScale);
SetGlobalVar(20,1);
}
if(a_todaysellposition>0)
{
A_SendOrder(Enum_Buy,Enum_ExitToday,A_TodaySellPosition,Q_AskPrice+offset*MinMove*PriceScale);
SetGlobalVar(20,1);
}
Else
{
A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition,Q_AskPrice+offset*MinMove*PriceScale);
SetGlobalVar(20,1);
}
}

Commentary("GetGlobalVar(0)"+text(GetGlobalVar(0)));
Commentary("GetGlobalVar(4)"+text(GetGlobalVar(4)));
Commentary("GetGlobalVar(1)"+text(GetGlobalVar(1)));
Commentary("GetGlobalVar(2)"+text(GetGlobalVar(2)));
Commentary("GetGlobalVar(6)"+text(GetGlobalVar(6)));
Commentary("GetGlobalVar(13)"+text(GetGlobalVar(13)));
Commentary("GetGlobalVar(14)"+text(GetGlobalVar(14)));
Commentary("GetGlobalVar(20)"+text(GetGlobalVar(20)));
Commentary("GetGlobalVar(21)"+text(GetGlobalVar(21)));
Commentary("GetGlobalVar(22)"+text(GetGlobalVar(22)));
Commentary("GetGlobalVar(74)"+text(GetGlobalVar(74)));
Commentary("GetGlobalVar(75)"+text(GetGlobalVar(75)));
Commentary("GetGlobalVar(92)"+text(GetGlobalVar(92)));
Commentary("GetGlobalVar(93)"+text(GetGlobalVar(93)));
Commentary("GetGlobalVar(100)"+text(GetGlobalVar(100)));
Commentary("GetGlobalVar(101)"+text(GetGlobalVar(101)));
Commentary("GetGlobalVar(102)"+text(GetGlobalVar(102)));
Commentary("GetGlobalVar(103)"+text(GetGlobalVar(103)));
Commentary("GetGlobalVar(104)"+text(GetGlobalVar(104)));
Commentary("A_BuyPosition"+text(A_BuyPosition));
Commentary("A_SellPosition"+text(A_SellPosition));
Commentary("count"+text(count));
Commentary("A_TotalAvgPrice"+text(A_TotalAvgPrice));
Commentary("hh="+text(hh));
Commentary("ll="+text(ll));
Commentary("i="+text(i));
Commentary("j="+text(j));
Commentary("n="+text(n));
Commentary("k="+text(k));
Commentary("kk="+text(kk));
Commentary("ff="+text(ff));
Commentary("tt="+text(tt));
Commentary("yjjjj="+text(yjjjj));
Commentary("tinn="+text(tinn));
Commentary("zz="+text(zz));
Commentary("buuuu="+text(buuuu));
Commentary("puuuu="+text(puuuu));
Commentary("qq="+text(qq));
End

使用道具 举报

Rank: 1

精华
0
UID
151564
积分
4
帖子
3
主题
1
阅读权限
10
注册时间
2013-4-3
最后登录
2022-10-29
13#
发表于 2019-10-8 16:51:34 |只看该作者
一天只做一次的吧?

使用道具 举报

Rank: 1

精华
0
UID
151564
积分
4
帖子
3
主题
1
阅读权限
10
注册时间
2013-4-3
最后登录
2022-10-29
14#
发表于 2019-10-9 12:22:52 |只看该作者
一天不是一次.今天不一样.

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
113966
积分
1033
帖子
642
主题
207
阅读权限
60
注册时间
2012-12-9
最后登录
2021-2-18
15#
发表于 2019-10-9 17:15:03 |只看该作者
所有策略都是对过往的以偏概全,不能死忠!

使用道具 举报

Rank: 1

精华
0
UID
216747
积分
16
帖子
10
主题
1
阅读权限
10
注册时间
2015-8-12
最后登录
2022-3-29
16#
发表于 2019-12-9 21:11:00 |只看该作者
你写了那么多无用的全局变量,,,,

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-4-20 12:53

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部