均线价格波动策略(TBQ版)_第1页
均线价格波动策略(TBQ版)_第2页
均线价格波动策略(TBQ版)_第3页
均线价格波动策略(TBQ版)_第4页
均线价格波动策略(TBQ版)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

均线价格波动策略(TBQ版)本策略是一个基于均线价格波动的交易策略,旨在通过计算价格的移动平均值来判断市场趋势,并据此进行买卖操作。策略的核心逻辑包括数据源设置、交易参数配置、指标计算和交易执行四个部分。数据源设置在`OnInit()`函数中,策略首先对数据源进行了一系列设置,以确保数据的准确性和一致性。这些设置包括:-设置后复权(`Enum_Data_RolloverBackWard()`)和映射真实价格(`Enum_Data_RolloverRealPrice()`),以便更真实地反映市场情况。-设置自动换仓(`Enum_Data_AutoSwapPosition()`)和忽略换仓信号计算(`Enum_Data_IgnoreSwapSignalCalc()`),以优化交易性能和统计结果。-设置换月时头寸为等持仓量(`SetSwapPosVolType(2)`)。交易参数配置策略在`OnInit()`函数中还配置了交易相关的参数,如初始资金(`SetInitCapital(Fund*10000)`)和其他一些未详细说明的参数(如`len68`,`var0`到`var8`等)。指标计算在`OnBar()`函数中,策略计算了一些未明确命名的指标(`var5`到`var8`),并将它们绘制成图表以供参考。交易执行`OnBar()`函数是策略的核心,它根据当前市场价格(`C[1]`)和预先计算的指标(`var5`到`var8`)来决定买入或卖出。具体的交易逻辑如下:-如果当前没有多头仓位且市场价格高于`var5`和`var7`的最大值,则买入。-如果当前有多头仓位且市场价格低于`var0`和`var7`的最小值,则卖出平仓。-如果当前没有空头仓位且市场价格低于`var6`和`var8`的最小值,则卖出开仓。-如果当前有空头仓位且市场价格高于`var0`和`var8`的最大值,则买入平仓。策略特点1.基于均线的趋势判断:策略主要依赖于均线(虽然具体计算方法未详细说明)来判断市场趋势。2.自动化交易:策略实现了自动化的买卖逻辑,减少了人为干预。3.优化交易性能:通过设置自动换仓和忽略换仓信号计算,策略旨在优化交易性能和统计结果。4.简单直观的交易逻辑:交易逻辑相对简单,基于价格和指标的比较来决定买卖操作。本策略是一个基于均线价格波动的自动化交易策略,通过设置数据源、交易参数、计算指标和执行交易来实现市场趋势的判断和交易操作。其特点是自动化程度高、交易逻辑简单直观,并通过一些优化措施来提升交易性能。函数代码:ParamsSeries<Numeric>Price(0);//数值型序列值NumericLength(20);//周期数VarsNumericSumValue(0);BeginSumValue=0;If(Price!=0){SumValue=AverageFC(Price,Length);}Else{SumValue=AverageFC(C,Length);}ReturnSumValue;End策略代码:ParamsIntegerlen68(68);Numericvar0;Numericvar1;Numericvar2;Numericvar3;Numericvar4;Numericvar5;Numericvar6;Numericvar7;Numericvar8;Numericfund(50);Defs//此处添加公式函数Events//此处实现事件函数//初始化事件函数,策略运行期间,首先运行且只有一次OnInit(){//与数据源有关Range[0:DataCount-1]{//=========数据源相关设置==============AddDataFlag(Enum_Data_RolloverBackWard());//设置后复权AddDataFlag(Enum_Data_RolloverRealPrice());//设置映射真实价格AddDataFlag(Enum_Data_AutoSwapPosition());//设置自动换仓AddDataFlag(Enum_Data_IgnoreSwapSignalCalc());//设置忽略换仓信号计算/*备注:Enum_Data_IgnoreSwapSignalCalc,对于一个策略来说,换仓的这笔交易并不是策略规则产生的,所以将换仓前后的这两笔交易合并为一笔能更好的统计策略性能。合并之后,交易盈亏依旧是真实的,只不过换仓前后的这两笔交易算一笔交易,但是手续费会从测试报告中扣除。忽略换仓时,换仓后的开仓市值为原始的开仓市值。开仓均价按照原始开仓市值计算得来。*///AddDataFlag(Enum_Data_NotGenReport());//设置数据源不参与生成报告标志SetSwapPosVolType(2);//换月时头寸:1=等市值,2=等持仓量//=========交易相关设置==============//SetOrderPriceOffset(2);//设置委托价为叫买/卖价偏移2跳//SetOrderMap2MainSymbol();//设置委托映射到主力}//与数据源无关//SetBeginBarMaxCount(10);//设置最大起始bar数为10//SetBackBarMaxCount(10);//设置最大回溯bar数为10//=========交易相关设置==============SetInitCapital(Fund*10000);//设置初始资金}//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组OnBar(ArrayRef<Integer>indexs){//指标计算var0=Average(close[1],len68);var1=highest(high[1],len68);var2=lowest(low[1],len68);var5=(var1+var2)/2+(var1-var2)*0.25;var6=(var1+var2)/2-(var1-var2)*0.25;var3=highest(high[1],len68*4);var4=lowest(low[1],len68*4);var7=(var3+var4)/2+(var3-var4)*0.25;var8=(var3+var4)/2-(var3-var4)*0.25;PlotNumeric("var5",var5);PlotNumeric("var6",var6);PlotNumeric("var7",var7);PlotNumeric("var8",var8);PlotAuto("var0",var0,0,White,Enum_Line,Enum_Dash,Enum_1Pix);//开平部分//开平条件Booll4e=C[1]>=Max(var5,var7);//多进Booll4x=C[1]<=Min(var0,var7);//卖平Bools4e=C[1]<=Min(var6,var8);//空进Bools4x=C[1]>=Max(var0,var8);//买平//进出场价格Numericl4e_price=Open;//开多价格Numericl4x_price=Open;//平多价格Numerics4e_price=Open;//开空价格Numerics4x_price=Open;//平空价格//头寸Numericlots=1;//开平处理If(MarketPosition!=1&&l4e){Buy(lots,l4e_price);}If(MarketPosition!=-1&&s4e){SellShort(lots,s4e_price);

温馨提示

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

评论

0/150

提交评论