网格交易和鞅加仓策略
来自tradeStar帮助系统
(版本间的差异)
(以“金魔方智能交易攻略(7)-网格交易和鞅加仓策略 作者:仁心慧能 网格交易法在振荡行情中用得较多,设想一个最简单的...”为内容创建页面) |
|||
| (未显示1个用户的1个中间版本) | |||
| 第1行: | 第1行: | ||
| − | + | 智能交易攻略(7)-网格交易和鞅加仓策略 | |
作者:仁心慧能 | 作者:仁心慧能 | ||
| 第6行: | 第6行: | ||
网格交易法在振荡行情中用得较多,设想一个最简单的网格交易策略,公式如下: | 网格交易法在振荡行情中用得较多,设想一个最简单的网格交易策略,公式如下: | ||
| − | //------- | + | //-------智能交易公式-------------- |
//例7_1 简单网格交易策略 | //例7_1 简单网格交易策略 | ||
//用于分钟周期 | //用于分钟周期 | ||
| 第18行: | 第18行: | ||
起始价位(2250), 网格总数(10), 网格间距(3); | 起始价位(2250), 网格总数(10), 网格间距(3); | ||
variable: | variable: | ||
| − | BuyName(''), SellName(''); | + | BuyName(' '), SellName(' '); |
AllowSameEntries(网格总数); //允许连续买入次数 | AllowSameEntries(网格总数); //允许连续买入次数 | ||
if MarketPosition = 0 and Not(SessionLastBar) then begin | if MarketPosition = 0 and Not(SessionLastBar) then begin | ||
| − | Buy('', 1, 起始价位-网格间距,0,OT_LIMIT,OB_NEXTBAR, '买1'); | + | Buy(' ', 1, 起始价位-网格间距,0,OT_LIMIT,OB_NEXTBAR, '买1'); |
end | end | ||
else if MarketPosition = 1 then begin | else if MarketPosition = 1 then begin | ||
| 第32行: | 第32行: | ||
BuyName := '买'+NumToStr(n,0); | BuyName := '买'+NumToStr(n,0); | ||
SellName := '卖'+NumToStr(n,0); | SellName := '卖'+NumToStr(n,0); | ||
| − | Sell ('', 1, EntryPrice-(n-2)*网格间距,0,OT_LIMIT,OB_NEXTBAR, SellName) from BuyName; | + | Sell (' ', 1, EntryPrice-(n-2)*网格间距,0,OT_LIMIT,OB_NEXTBAR, SellName) from BuyName; |
end | end | ||
end | end | ||
| 第38行: | 第38行: | ||
{ | { | ||
注解: | 注解: | ||
| − | 1.variable: BuyName('')将BuyName声明为字符串变量 | + | 1.variable: BuyName(' ')将BuyName声明为字符串变量 |
2.若持仓中已有同名仓位,不会连续开仓 | 2.若持仓中已有同名仓位,不会连续开仓 | ||
3.CurrentEntries为当前持仓的开仓次数 | 3.CurrentEntries为当前持仓的开仓次数 | ||
| 第55行: | 第55行: | ||
当价格稍有反弹,整个仓位即可盈利出场。公式如下: | 当价格稍有反弹,整个仓位即可盈利出场。公式如下: | ||
| − | //------- | + | //-------智能交易公式-------------- |
//例7_2 网格交易鞅加仓策略 | //例7_2 网格交易鞅加仓策略 | ||
//用于分钟周期 | //用于分钟周期 | ||
| 第69行: | 第69行: | ||
盈利点数(6), 止损金额(20000); | 盈利点数(6), 止损金额(20000); | ||
variable: | variable: | ||
| − | BuyName(''); | + | BuyName(' '); |
AllowSameEntries(网格总数); //允许连续买入次数 | AllowSameEntries(网格总数); //允许连续买入次数 | ||
| 第83行: | 第83行: | ||
for n=2 to 网格总数 do begin | for n=2 to 网格总数 do begin | ||
BuyName := '买'+NumToStr(n,0); | BuyName := '买'+NumToStr(n,0); | ||
| − | Buy('', Round(初次单量*Pow(1.2,n-1)), LASTENTRYPRICE-网格间距*(n-1),0,OT_LIMIT,OB_NEXTBAR, BuyName); | + | Buy(' ', Round(初次单量*Pow(1.2,n-1)), LASTENTRYPRICE-网格间距*(n-1),0,OT_LIMIT,OB_NEXTBAR, BuyName); |
end | end | ||
end | end | ||
| 第105行: | 第105行: | ||
以上2个例子的网格交易是越跌越买的,也可反向操作,越涨越买,再配合仓位控制、多空双向交易,有很多玩法,请各位试试。 | 以上2个例子的网格交易是越跌越买的,也可反向操作,越涨越买,再配合仓位控制、多空双向交易,有很多玩法,请各位试试。 | ||
| − | + | 之前的交易策略都是基于K线的,能实现点数图(OX图)的交易策略吗? | |
且听下回分解! | 且听下回分解! | ||
2013年7月20日 (六) 15:30的最后版本
智能交易攻略(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.盈利目标位与网格间距相同
}
如图所示:
可见,在振荡行情下,这样的策略可以频繁地小赚。
网格交易还可配合鞅(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设定止盈止损金额以整个仓位计算,可以省略
}
如图所示:
右键【查看测评报告】,其盈亏曲线如下:
以上2个例子的网格交易是越跌越买的,也可反向操作,越涨越买,再配合仓位控制、多空双向交易,有很多玩法,请各位试试。
之前的交易策略都是基于K线的,能实现点数图(OX图)的交易策略吗?
且听下回分解!


