网格交易和鞅加仓策略

来自tradeStar帮助系统
跳转到: 导航, 搜索

智能交易攻略(7)-网格交易和鞅加仓策略

作者:仁心慧能


网格交易法在振荡行情中用得较多,设想一个最简单的网格交易策略,公式如下:

   //-------智能交易公式--------------
   //例7_1 简单网格交易策略
   //用于分钟周期
   {策略:
   1.日内交易,预计行情震荡偏多
   2.起始价位下从第1笔开仓起每隔若干价差(网格间距)分批布多单
   3.每笔买入以网格间距止盈
   4.日内交易,收市前清仓
   }
   input:
     起始价位(2250), 网格总数(10), 网格间距(3);
   variable:
     BuyName(' '), SellName(' ');
   AllowSameEntries(网格总数); //允许连续买入次数
   if MarketPosition = 0 and Not(SessionLastBar) then begin
       Buy(' ', 1, 起始价位-网格间距,0,OT_LIMIT,OB_NEXTBAR, '买1');
   end
   else if MarketPosition = 1 then begin
     if Not(SessionLastBar) then begin
       for n=CurrentEntries to 网格总数-1 do begin
         BuyName := '买'+NumToStr(n+1,0);
         Buy(, 1, EntryPrice-n*网格间距,0,OT_LIMIT,OB_NEXTBAR, BuyName);
       end
     end  for n=CurrentEntries downto 1 do begin
       BuyName := '买'+NumToStr(n,0);
       SellName := '卖'+NumToStr(n,0);
       Sell (' ', 1, EntryPrice-(n-2)*网格间距,0,OT_LIMIT,OB_NEXTBAR, SellName) from BuyName;
     end
   end
   SetExitOnClose;
   {
   注解:
   1.variable: BuyName(' ')将BuyName声明为字符串变量
   2.若持仓中已有同名仓位,不会连续开仓
   3.CurrentEntries为当前持仓的开仓次数
   4.盈利目标位与网格间距相同
   }

如图所示:

Wgjy1.gif

可见,在振荡行情下,这样的策略可以频繁地小赚。


网格交易还可配合鞅(Martingale)加仓策略,初次买入后,若价格下跌,则分批加仓买入,

当价格稍有反弹,整个仓位即可盈利出场。公式如下:

   //-------智能交易公式--------------
   //例7_2 网格交易鞅加仓策略
   //用于分钟周期
   {策略:
   1.找个有利位置买入开仓,例如CCI指标小于-200;
   2.若价格相对上次开仓价格下跌了某个价差,根据加仓系数进行马丁格尔加仓;
   3.整个仓位按指定金额止盈;
   4.对整个仓位按指定金额止损,控制风险。
   }
   input:
     网格总数(10), 网格间距(6),
     初次单量(10), 加仓系数(1.2),
     盈利点数(6), 止损金额(20000);
   variable:
     BuyName(' ');
   AllowSameEntries(网格总数); //允许连续买入次数
   
   //计算CCI指标
   TYP := (H + L + C)/3;
   CCI1:= (TYP-MA(TYP,14))/(0.015*AveDev(TYP,14));
   
   BuyName := '买1';
   if CCI1 < -200 and MarketPosition = 0 then
     Buy(, 初次单量,0,0,OT_Market,OB_NEXTBAR, BuyName);
     
   if MarketPosition = 1 then begin
     for n=2 to 网格总数 do begin
       BuyName := '买'+NumToStr(n,0);
       Buy(' ', Round(初次单量*Pow(1.2,n-1)), LASTENTRYPRICE-网格间距*(n-1),0,OT_LIMIT,OB_NEXTBAR, BuyName);
     end
   end
   SetStopPosition;
   SetProfitTarget(盈利点数*BigPointValue*初次单量);
   SetStopLoss (止损金额);
   {
   注解:
   1.SetStopPosition设定止盈止损金额以整个仓位计算,可以省略
   }

如图所示:

Wgjy2.gif

右键【查看测评报告】,其盈亏曲线如下:

Wgjj3.jpg


以上2个例子的网格交易是越跌越买的,也可反向操作,越涨越买,再配合仓位控制、多空双向交易,有很多玩法,请各位试试。

之前的交易策略都是基于K线的,能实现点数图(OX图)的交易策略吗?


且听下回分解!

个人工具
名字空间

变换
操作
导航
工具箱