设为首页收藏本站

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

又一个失败的策略。望大神提谐。 [复制链接]

Rank: 3Rank: 3

精华
0
UID
126116
积分
180
帖子
133
主题
15
阅读权限
40
注册时间
2013-3-14
最后登录
2021-11-19
11#
发表于 2018-3-16 14:11:04 |只看该作者
完蛋快。。。。。。。。。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
213396
积分
187
帖子
140
主题
26
阅读权限
40
注册时间
2015-7-10
最后登录
2023-4-14
12#
发表于 2018-3-16 17:11:24 |只看该作者
自己改下吧!照搬可不成!

使用道具 举报

Rank: 1

精华
0
UID
263091
积分
19
帖子
2
主题
1
阅读权限
10
注册时间
2018-3-8
最后登录
2018-11-30
13#
发表于 2018-3-19 23:52:05 |只看该作者
完全看晕

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
213396
积分
187
帖子
140
主题
26
阅读权限
40
注册时间
2015-7-10
最后登录
2023-4-14
14#
发表于 2018-3-29 23:25:54 |只看该作者
都是些基础,学精就懂了

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
176391
积分
145
帖子
75
主题
17
阅读权限
40
注册时间
2013-11-26
最后登录
2023-8-20
15#
发表于 2018-4-2 14:47:54 |只看该作者
这也太复杂了,,建议你选把思路说下,不然这么多代码。。。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
213396
积分
187
帖子
140
主题
26
阅读权限
40
注册时间
2015-7-10
最后登录
2023-4-14
16#
发表于 2018-8-25 21:49:26 |只看该作者
本帖最后由 qsb588986 于 2018-8-26 00:12 编辑

又写了一个。


Params
Numeric offset(6)        ;

Vars

Numeric totalequity;
Numeric turtleunits;
NumericSeries hh;
NumericSeries ll;
Numeric hhh;
Numeric lll;
Numeric hhhh;
Numeric llll;
Numeric gg;
Numeric aa;
NumericSeries gd;
NumericSeries count;
Numeric hbar;
Numeric lbar;
Numeric hhbar;
Numeric llbar;
Numeric hhxbar;
Numeric llxbar;
Numeric hhx;
Numeric llx;

Begin
if(isCallAuctionTime())
Return;

TotalEquity = Portfolio_CurrentCapital() + Portfolio_UsedMargin();   //账户最新资产 = 按当前Bar开盘价计算的可用资金 + 持仓保证金
TurtleUnits=(TotalEquity/(MarginRatio*ContractUnit()*BigPointValue()*Close))*6/10;
TurtleUnits = IntPart(TurtleUnits); // 对小数取整
if(0.0800<currenttime && currenttime<0.0900 && high==low or 0.1530<currenttime && currenttime<0.2100 && high==low or GetGlobalVar(0)==InvalidNumeric)
SetGlobalVar(0,0);
if(0.0800<currenttime && currenttime<0.0900 && high==low or 0.1530<currenttime && currenttime<0.2100 && high==low or GetGlobalVar(1)==InvalidNumeric)
SetGlobalVar(1,0);
if(0.0800<currenttime && currenttime<0.0900 && high==low or 0.1530<currenttime && currenttime<0.2100 && high==low or GetGlobalVar(2)==InvalidNumeric)
SetGlobalVar(2,0);
if(0.0800<currenttime && currenttime<0.0900 && high==low or 0.1530<currenttime && currenttime<0.2100 && high==low or GetGlobalVar(4)==InvalidNumeric)
SetGlobalVar(4,0);

if(time!=time[1]+0.0005 && time==0.0900 or time!=time[1]+0.0005 && time==0.2100)
count=1;
Else
count=count+1;       \\初始化周期数。

hh=Highest(High,count);    \\求当天最高价。
ll=Lowest(low,count);          \\求当天最低价。
hbar=HighestBar(High,count);      \\求当天最高价之后的BAR数。
lbar=LowestBar(low,count);          \\求当天最低价之后的BAR数。
hhh=Highest(High,lbar);                \\求当天最低价之后的最高价(次高价)。
lll=Lowest(Low,hbar);                    \\求当天最高价之后的最低价(次低价)。
hhxbar=HighestBar(high,lbar);       \\求当天次高价之后的BAR数。
llxbar=LowestBar(low,hbar);           \\求当天次低价之后的BAR数。
hhx=Highest(High,llxbar);              \\求当天次低价之后的最高价(次次高价)。
llx=lowest(low,hhxbar);                  \\求当天次高价之后的最低价(次次低价)

gd=hh-ll;

if(lll==ll && hhh!=hh && llx!=ll && llx<hhh-gd/3)
gg=llx+gd/3;
Else if(lll!=ll && hhh==hh)
gg=lll+(gd/3);
else if(ll==lll)
gg=ll+(gd/3);

if(lll!=ll && hhx!=hh && hhh!=hh && hhx==hhh && hhxbar!=0)
aa=hhx-gd/3;
Else if(hhh!=hh && lll==ll)
aa=hhh-(gd/3);
else if(hh==hhh)
aa=hh-gd/3;


if(currenttime>0.0900 && currenttime<0.1457 or currenttime>0.2100 && currenttime<0.2257)
{

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

{
if(GetGlobalVar(0)==0 && close>gg && gd>6)
{
A_SendOrder(Enum_Buy,Enum_Entry,TurtleUnits,Q_AskPrice+offset*MinMove*PriceScale);
SetGlobalVar(0,1);
SetGlobalVar(4,1);
SetGlobalVar(2,0);

}
Else if(GetGlobalVar(4)==0 && close<aa && gd>6)
{

A_SendOrder(Enum_Sell,Enum_Entry,TurtleUnits,Q_BidPrice-offset*MinMove*PriceScale);
SetGlobalVar(0,1);
SetGlobalVar(4,1);
SetGlobalVar(1,0);

}
}

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

if(close>gg && GetGlobalVar(1)==0)
{
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,0);

}
if(close-A_SellAvgPrice>30)
{
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,1);
SetGlobalVar(2,1);
SetGlobalVar(4,1);
SetGlobalVar(0,1);
}
}
if(A_BuyPosition>0 && BarStatus==2 && vol>0)
{

if(close<aa && GetGlobalVar(2)==0)
{
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,0);
}

if(A_BuyAvgPrice-close>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,1);
SetGlobalVar(1,1);
SetGlobalVar(0,1);
SetGlobalVar(4,1);
}
}
}

if(currenttime>0.1457 && currenttime<0.1500 && A_BuyPosition>0 or currenttime>0.1457 && currenttime<0.1500 && A_SellPosition>0 or currenttime>0.2257 && currenttime<0.2300 && A_BuyPosition>0 or currenttime>0.2257 && time<0.2300 && A_SellPosition>0)
{
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);
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);
}
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("hh="+text(hh));
Commentary("ll="+text(ll));
Commentary("vol="+text(vol));
Commentary("count"+text(count));
Commentary("gd="+text(gd));
Commentary("gg="+text(gg));
Commentary("aa="+text(aa));
Commentary("hhh="+text(hhh));
Commentary("lll="+text(lll));
Commentary("hbar="+text(hbar));
Commentary("lbar="+text(lbar));
Commentary("llxbar="+text(llxbar));
Commentary("hhx="+text(hhx));
Commentary("llx="+text(llx));
Commentary("hhxbar="+text(hhxbar));
End



//------------------------------------------------------------------------
// 编译版本:        2018/06/28 001530
// 内核版本:        V2.6.2.13
// 版权所有        qsb588986
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
213396
积分
187
帖子
140
主题
26
阅读权限
40
注册时间
2015-7-10
最后登录
2023-4-14
17#
发表于 2018-8-26 00:18:07 |只看该作者
还有一个。最近遇到一段启发。


Params
Numeric offset(6)        ;

Vars

Numeric totalequity;
Numeric turtleunits;
NumericSeries hh;
NumericSeries ll;
NumericSeries count;
Numeric voll;


Begin
if(isCallAuctionTime())
Return;

TotalEquity = Portfolio_CurrentCapital() + Portfolio_UsedMargin();   //账户最新资产 = 按当前Bar开盘价计算的可用资金 + 持仓保证金
TurtleUnits=(TotalEquity/(MarginRatio*ContractUnit()*BigPointValue()*Close))*6/10;
TurtleUnits = IntPart(TurtleUnits); // 对小数取整
if(0.0800<currenttime && currenttime<0.0900 && high==low or 0.1530<currenttime && currenttime<0.2100 && high==low or GetGlobalVar(0)==InvalidNumeric)
SetGlobalVar(0,0);
if(0.0800<currenttime && currenttime<0.0900 && high==low or 0.1530<currenttime && currenttime<0.2100 && high==low or GetGlobalVar(1)==InvalidNumeric)
SetGlobalVar(1,0);
if(0.0800<currenttime && currenttime<0.0900 && high==low or 0.1530<currenttime && currenttime<0.2100 && high==low or GetGlobalVar(2)==InvalidNumeric)
SetGlobalVar(2,0);
if(0.0800<currenttime && currenttime<0.0900 && high==low or 0.1530<currenttime && currenttime<0.2100 && high==low or GetGlobalVar(4)==InvalidNumeric)
SetGlobalVar(4,0);
if(currenttime>0.0850 && currenttime<0.0901 or currenttime>0.2050 && currenttime<0.2101)
{
SetGlobalVar(10,high);
SetGlobalVar(11,low);

}
if(time!=time[1]+0.0003 && time==0.0900 or time!=time[1]+0.0003 && time==0.2100)
count=1;
Else
count=count+1;
if(currenttime>0.0901 && currenttime<0.1457 or currenttime>0.2101 && currenttime<0.2257)
{
if(close>GetGlobalVar(10) && A_BuyPosition>0)
SetGlobalVar(10,high);
if(close>hh[1] && A_BuyPosition>0 && high-low>8)
SetGlobalVar(11,low);


if(close<GetGlobalVar(11) && A_SellPosition>0)
SetGlobalVar(10,high);
if(close<ll[1] && A_SellPosition>0 && high-low>8)
SetGlobalVar(11,low);
}
hh=GetGlobalVar(10);
ll=GetGlobalVar(11);
voll=Average(vol,count);
if(currenttime>0.0909 && currenttime<0.1457 or currenttime>0.2109 && currenttime<0.2257)
{

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

{
if(GetGlobalVar(0)==0 && close>hh[1]+2)
{
A_SendOrder(Enum_Buy,Enum_Entry,TurtleUnits,Q_AskPrice+offset*MinMove*PriceScale);
SetGlobalVar(0,1);
SetGlobalVar(4,1);
SetGlobalVar(2,0);

}
Else if(GetGlobalVar(4)==0 && close<ll[1]-2)
{

A_SendOrder(Enum_Sell,Enum_Entry,TurtleUnits,Q_BidPrice-offset*MinMove*PriceScale);
SetGlobalVar(0,1);
SetGlobalVar(4,1);
SetGlobalVar(1,0);

}
}

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

if(GetGlobalVar(1)==0 && close>hh[1]+2)
{
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,0);

}
if(close-A_SellAvgPrice>30)
{
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,1);
SetGlobalVar(2,1);
SetGlobalVar(4,1);
SetGlobalVar(0,1);
}
}
if(A_BuyPosition>0 && BarStatus==2 && vol>0)
{

if(GetGlobalVar(2)==0 && close<ll[1]-2)
{
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,0);
}

if(A_BuyAvgPrice-close>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,1);
SetGlobalVar(1,1);
SetGlobalVar(0,1);
SetGlobalVar(4,1);
}
}
}

if(currenttime>0.1457 && currenttime<0.1500 && A_BuyPosition>0 or currenttime>0.1457 && currenttime<0.1500 && A_SellPosition>0 or currenttime>0.2257 && currenttime<0.2300 && A_BuyPosition>0 or currenttime>0.2257 && time<0.2300 && A_SellPosition>0)
{
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);
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);
}
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(10)"+text(GetGlobalVar(10)));
Commentary("GetGlobalVar(11)"+text(GetGlobalVar(11)));
Commentary("hh[1]="+text(hh[1]));
Commentary("ll[1]="+text(ll[1]));
Commentary("voll="+text(voll));
Commentary("count="+text(count));
Commentary("currentbar="+text(CurrentBar));
End


//------------------------------------------------------------------------
// 编译版本:        2018/07/20 192438
// 内核版本:        V2.6.2.13
// 版权所有        qsb588986
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

使用道具 举报

Rank: 1

精华
0
UID
269681
积分
15
帖子
7
主题
2
阅读权限
10
注册时间
2018-9-7
最后登录
2019-6-15
18#
发表于 2018-9-7 22:52:43 |只看该作者
新手看不懂

使用道具 举报

Rank: 2

精华
0
UID
267738
积分
94
帖子
68
主题
18
阅读权限
30
注册时间
2018-7-21
最后登录
2020-4-9
19#
发表于 2018-9-9 16:04:56 |只看该作者
神啊,太复杂了。交易真的没有那么复杂。

使用道具 举报

Rank: 1

精华
0
UID
269619
积分
24
帖子
23
主题
0
阅读权限
10
注册时间
2018-9-5
最后登录
2018-11-1
20#
发表于 2018-10-20 21:14:19 |只看该作者
mark

使用道具 举报

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

bottom

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

GMT+8, 2024-5-9 07:09

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部