325人加入学习
(3人评价)
小波段策略交易系统五天训练营(赠送源码)

赠送交易策略源码

价格 ¥ 98.00
会员免费学 购买课程

//------------------------------------------------------------------------ // 简称:AloneMA_v1 // 名称:AloneMA_v1 // 类别: 交易指令 // 类型: 用户应用 //------------------------------------------------------------------------ Params //参数定义 Integer N(69); //设置均线周期 Integer TradeLock(1); //是否加载交易,1-是,0-否; Integer OpenVol(1); //开仓手数; Integer ISound(1); //语音提醒开关,1-开启,0为关闭; GlobalVars //全局变量定义 NumericSeries MA1; NumericSeries MAH; NumericSeries MAL; NumericSeries KType; NumericArray DMADATEC; NumericArray DMADATEH; NumericArray DMADATEL; Numeric RangRisk; Numeric CoverPrice; numeric StartVOL; Vars //局部变量定义 BoolSeries Buylock(False); BoolSeries Selllock(False); NumericSeries ProfitPer; Numeric MoveCoverPrice; Numeric HHV; Numeric LLV; Begin //策略执行区 //定义前期的高低点,做移动止损; HHV = HighestFC(High[1],30); LLV = LowestFC(Low[1],30); //定义,绘制管道线 MA1 = AverageFC(C,N); MAH = AverageFC(H,N); MAL = AverageFC(L,N); PlotNumeric("MA",MA1); PlotNumeric("UP",MAH); PlotNumeric("DN",MAL); //定义K线颜色和类型,管道线以上为红色,以下为绿色,穿插为黄色。 If(l>MAH) { ColorBar(Red); KType=1; } else If(h1 && c[1]>=L[2] ); //开多单条件;开多单条件; 当前K线前两根都为红色,第三根不是红色而且前一根的收盘价大于前前一根的最低价 Selllock = (KType[1]==2 && KType[2]==2 && KType[3]<>2 && c[1]<=h[2]); //开空单条件;当前K线前两根都为绿色,第三根不是红色而且前一根的收盘价大于前前一根的最低价 //若加载交易,目前空仓,符合开多条件则开多单,符合开空条件则开空单;开仓时前三个K线高低点设置为一号止损位。 If(TradeLock ==1) { If(MarketPosition == 0) { If(Buylock) { Buy(OpenVol,Open); //按照开盘价进行开仓操作 RangRisk=Abs(Open-Low[3]); CoverPrice = Open - RangRisk; if(ISound == 1) { Alert(SymbolName+"多单开仓"); } } If(Selllock) { SellShort(OpenVol,Open); RangRisk=Abs(Open-High[3]); CoverPrice = Open + RangRisk; if(ISound == 1) { Alert(SymbolName+"空单开仓"); } } } // 开仓前三根K线高低点为一号止损位;移动均线为二号止损位;前N根K线高低点为三号止损位。 If(MarketPosition ==1 ) { MoveCoverPrice = Max(Max(MA1,LLV),CoverPrice); //收盘价移动均线,前30根K线最低点,前3根K线的低点 If(L=1) { Sell(0,Max(MoveCoverPrice,Low)); if(ISound == 1) { Alert(SymbolName+"多单平仓"); } } } If(MarketPosition ==-1 ) { MoveCoverPrice = Min(Min(MA1,HHV),CoverPrice); //收盘价移动均线,前30根K线最高点,前3根K线的低点 If(H>MoveCoverPrice && BarsSinceLastEntry>=1) { BuyToCover(0,Min(MoveCoverPrice,High)); if(ISound == 1) { Alert(SymbolName+"空单平仓"); } } } } End )>

[展开全文]