多周期交易策略(TS版)_第1页
多周期交易策略(TS版)_第2页
多周期交易策略(TS版)_第3页
多周期交易策略(TS版)_第4页
多周期交易策略(TS版)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多周期交易策略(TS版)一个基于日期和时间的多周期交易策略。该策略通过动态调整参数和条件判断,在特定时间段内执行买卖操作,并设置了止损和止盈机制。策略概述该策略的核心在于根据不同的日期区间动态调整交易参数,并在特定时间段内执行买卖操作。策略的主要组成部分包括参数初始化、日期区间条件判断、交易时段检测、入场规则和出场规则。参数初始化策略开始时,定义了多个变量并赋予初始值:-`xb`:用于计算最高价和最低价的周期。-`xb2`:用于比较当前收盘价与历史收盘价的周期。-`pipadd`:用于计算限价订单的价格偏移量。-`Stopl`:止损金额。-`proft`:止盈金额。日期区间条件判断策略根据当前日期的不同,调整上述参数的值。每个日期区间都有特定的参数设置,以适应不同时间段的市场环境。例如:-日期在`1091118`到`1101025`之间时,`xb`设为4,`xb2`设为70,`pipadd`设为2,`Stopl`设为275。-日期在`1101025`到`1110929`之间时,`xb`设为4,`xb2`设为72,`pipadd`设为5,`Stopl`设为225。交易时段检测策略通过`currentsession`函数获取当前交易时段,并与上一时段进行比较。如果当前时段发生变化,则重置交易相关的统计变量:-`tradestoday`:今日交易次数,重置为0。-`startprof`:初始利润,设置为当前净利润与持仓利润之和。-`starttrades`:初始交易次数,设置为总交易次数。-`Stoplo`:初始止损金额,设置为`Stopl`的值。入场规则在每个交易日中,策略在特定时间段(小于15:00)内检查是否满足入场条件:-如果当前最高价大于等于过去`xb`周期内的最高价,并且收盘价小于`xb2`周期前的收盘价,则执行卖空操作。-如果当前最低价小于等于过去`xb`周期内的最低价,并且收盘价大于`xb2`周期前的收盘价,则执行买入操作。出场规则策略设置了止损和止盈机制:-`setstoploss(stoplo)`:根据`Stoplo`变量的值设置止损金额,控制亏损范围。-`setprofittarget(proft)`:根据`proft`变量的值设置止盈金额,达到目标则平仓获利。-`setexitonclose`:设置在收盘时退出交易,即如果未达到止损止盈条件,收盘时也平仓。策略特点1.动态参数调整:策略根据日期区间动态调整参数,适应不同时间段的市场环境,增加了策略的灵活性和适应性。2.多周期分析:通过`xb`和`xb2`周期的分析,结合最高价、最低价和收盘价,进行多周期的市场判断,提高了交易的准确性。3.风险管理:设置了明确的止损和止盈机制,控制了交易的风险,确保在市场波动中能够及时退出。4.交易时段限制:仅在特定时间段内执行交易,避免了非交易时段的市场噪音对策略的影响。该策略通过动态调整参数和多周期分析,结合明确的入场和出场规则,实现了一种灵活且风险可控的交易策略。策略的设计考虑了不同时间段的市场特性,通过止损和止盈机制有效管理了交易风险,适用于多种市场环境。代码的逐行注解:var:xb(2),xb2(50),pipadd(1),Stopl(400),proft(5000);//定义多个变量,分别是xb初始值设为2,xb2初始值设为50,pipadd初始值设为1,Stopl初始值设为400,proft初始值设为5000,这些变量后续用于不同的交易策略相关设置及条件判断ifdate>=1091118anddate<1101025thenbegin//如果日期大于等于1091118且小于1101025,进入以下代码块,用于在特定日期区间设置相关变量的值xb=4;//将xb变量赋值为4,改变其初始设定值,用于该日期区间内的策略参数调整xb2=70;//将xb2变量赋值为70pipadd=2;//将pipadd变量赋值为2Stopl=275;//将Stopl变量赋值为275end;ifdate>=1101025anddate<1110929thenbegin//如果日期大于等于1101025且小于1110929,进入以下代码块,同样是在这个日期区间内调整相关变量值xb=4;xb2=72;pipadd=5;Stopl=225;end;ifdate>=1110929anddate<1120904thenbegin//对应另一个日期区间(大于等于1110929且小于1120904)内的变量值调整xb=3;xb2=74;pipadd=8;Stopl=425;end;ifdate>=1120904anddate<1130812thenbegin//此日期区间(大于等于1120904且小于1130812)内的变量赋值操作xb=3;xb2=74;pipadd=11;Stopl=425;end;ifdate>=1130812anddate<11400101thenbegin//该日期区间(大于等于1130812且小于11400101)下的变量赋值xb=5;xb2=80;pipadd=8;Stopl=425;end;var:cs(0),tradestoday(0),startprof(0),starttrades(0),stoplo(0);//再定义多个变量,初始值都设为0,用于后续判断交易相关状态等情况cs=currentsession(0);//将cs变量赋值为当前交易时段(通过currentsession函数获取),用于区分不同交易时段情况Ifcs<>cs[1]thenbegin//如果当前交易时段与上一交易时段不同,进入以下代码块,进行一些交易相关统计变量的初始化或更新tradestoday=0;//将今日交易次数变量tradestoday重置为0startprof=NetProfit+OpenPositionProfit;//将开始利润startprof设置为当前净利润(NetProfit)与持仓利润(OpenPositionProfit)之和,用于记录初始利润情况starttrades=TotalTrades;//将开始交易次数starttrades设置为总交易次数(TotalTrades),记录初始交易次数情况Stoplo=stopl;//将Stoplo变量赋值为之前定义的Stopl变量的值,用于后续止损相关设置end;Iftotaltrades<>starttradesormarketposition<>0orstartprof<>NetProfit+OpenPositionProfitthentradestoday=1;//如果总交易次数与初始交易次数不同,或者当前市场持仓状态不为空仓(marketposition<>0),或者初始利润与当前净利润和持仓利润之和不同,就将今日交易次数变量tradestoday设为1,表示有交易发生Iftradestoday=0andtime<1500anddate>=1091118thenbegin//如果今日还未交易(tradestoday为0),并且时间小于15:00,且日期在指定范围(大于等于1091118)内,进入以下代码块,这里是交易的入场规则部分//entryrulesIf(high>=highest(high,xb)andclose<close[xb2])thenbegin//如果当前最高价大于等于过去xb周期内的最高价,并且收盘价小于xb2周期前的收盘价,满足此条件进入以下代码块执行卖空操作sellshortnextbarathigh+pipadd/10000limit;//在下一根K线,以当前最高价加上pipadd除以10000的值作为限价,进行卖空操作end;Iflow<=lowest(low,xb)andclose>close[xb2]thenbegin//如果当前最低价小于等于过去xb周期内的最低价,并且收盘价大于xb2周期前的收盘价,满足条件则执行买入操作buynextbaratlow-pipadd/10000limit;//在下一根K线,以当前最低价减去pipadd除以10000的值作为限价,进行买入操作end;end;//exitrules//以下是交易的出场规则部分Setstopposition;//设置止损止盈相关的一些基础设置(可能涉及多空方向等通用设置,具体要看对应函数实现)setstoploss(stoplo);//根据之前设置的Stoplo变量值来设置止损,控制亏损范围setprofittarget(proft);//根据proft变量值来设置盈利目标,达到目标则平仓获利setexitonclose;//设置在收盘时退出交易(平仓),即如果未达到止损止盈条件,收盘时也平仓

策略代码var:xb(2),xb2(50),pipadd(1),Stopl(400),proft(5000);ifdate>=1091118anddate<1101025thenbeginxb=4;xb2=70;pipadd=2;Stopl=275;end;ifdate>=1101025anddate<1110929thenbeginxb=4;xb2=72;pipadd=5;Stopl=225;end;ifdate>=1110929anddate<1120904thenbeginxb=3;xb2=74;pipadd=8;Stopl=425;end;ifdate>=1120904anddate<1130812thenbeginxb=3;xb2=74;pipadd=11;Stopl=425;end;ifdate>=1130812anddate<11400101thenbeginxb=5;xb2=80;pipadd=8;Stopl=425;end;var:cs(0),tradestoday(0),startprof(0),starttrades(0),stoplo(0);cs=currentsession(0);Ifcs<>cs[1]thenbegintradestoday=0;startprof=NetProfit+OpenPositionProfit;starttrades=TotalTrades;Stoplo=stopl;end;Iftotaltrades<>starttradesormarketposition<>0orstartprof<>NetProfit+OpenPositionProfitthentradestoday=1;Iftradestoday=0andtime<1500anddate>=1091118thenbeginIf(high>=highest(high,x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论