- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Dual-thrust日内交易策略(TB版)
策略概述
Dual-thrust日内交易策略是一种基于开盘价和价差计算的交易系统,旨在通过设定上下界的移动平均线来捕捉日内价格波动。
该策略适用于金融市场中的日内交易,特别是在股市、期货等市场中。
参数设置M:数值参数,用于计算偏移量和移动平均线,默认为50。
LOTS:交易手数,默认为1,表示每次交易的数量。变量定义offset:初始偏移量,基于最小变动价位和价格比例计算。
offset1:第二个偏移量,用于收盘后的平仓操作,值大于初始偏移量。
MA1,MA2,MA11,MA22:一系列移动平均线,分别基于开盘价和价差计算,用于判断交易信号。spread:价差,前一交易日最高价与收盘价之差和收盘价与最低价之差的较大值。
交易逻辑时间判断09:05之前:
将全局变量重置为0。09:05至14:55:
做空卖出:如果前一周期收盘价小于等于1,做空卖出。
做多买入:如果前一周期收盘价大于MA1且当前无持仓且全局变量小于等于1,做多买入。
做空卖出:如果前一周期收盘价小于MA11且当前持仓为1,做空卖出。
做多买入平仓:如果前一周期收盘价大于MA22且当前持仓为-1,做多买入平仓。
14:55之后:如果有持仓,进行平仓操作。交易信号
做空卖出:当条件满足时,以当前价格减去偏移量(offset)的价格做空卖出。
做多买入:当条件满足时,以当前价格加上偏移量(offset)的价格做多买入。
平仓操作:在收盘后(14:55之后),无论持仓方向,都进行平仓操作,卖出价格为当前价格减去偏移量(offset),买入平仓价格为当前价格加上更大的偏移量(offset1)。
注意事项
策略中的时间判断基于交易日内的具体时间(例如,09:05和14:55),需要根据实际交易时间进行调整。全局变量用于记录交易次数或特定状态,以便于策略的逻辑控制。
策略中的MinMove()和PriceScale()函数分别用于获取最小变动价位和价格比例,这些值通常由交易平台提供。
交易信号的计算依赖于开盘价和前一交易日的最高价、最低价、收盘价,这些数据需要在交易开始前获取。
通过上述整理,可以更好地理解Dual-thrust日内交易策略的核心内容和交易逻辑。
策略信号代码:
Params
NumericM(50);
NumericLOTS(1);
Vars
Numericoffset;
Numericoffset1;
NumericSeriesMA1;
NumericSeriesMA2;
NumericSeriesMA11;
NumericSeriesMA22;
Numericspread;
NumericOPENP;
Begin
offset=5*MinMove()*PriceScale();
spread=Max(HighD(1)-CloseD(1),CloseD(1)-LowD(1));
OPENP=OpenD(0);
MA1=OPENP+0.01*M*spread;
MA2=OPENP-0.01*M*spread;
MA11=OPENP+0.01*0.5*M*spread;
MA22=OPENP-0.01*0.5*M*spread;
if(Time=0.0905){SetGlobalVar(0,0);}
if(Time0.0905Time=0.1455)
{
If(C[1]=1)
{
SellShort(LOTS,C-offset);SetGlobalVar(0,GetGlobalVar(0)+1);
}
If(C[1]ma1MarketPosition()==0GetGlobalVar(0)=1)
{
Buy(LOTS,C+offset);SetGlobalVar(0,GetGlobalVar(0)+1);
}
If(C[1]
{
Se
文档评论(0)