Dca策略 类马丁
1.策略原理
Dca:Dollar cost averaging 美元平均成本
使用均线确定趋势
均线金叉后 买入初始 N% 量
然后确定十条网格线 (网格之间间距越来越大)
每个网格线买入点的量倍投
止盈:持仓成本固定 1.5%
止损:第十条网格价格线的 N%
于普通马丁和网格不同,带有止损不会被套和爆仓

网格线和加仓量计算代码:
seting = {'base_size': 5, #初始下单量 %'safety_size': 2, #马丁初始下单 %'max_trades': 9, #最大交易数'wangge_price': 0.4 * 0.01, #网格间距'wangge_price_scale': 1.19, #网格乘数'wangge_volume_scale': 1.8, #马丁乘数
}class DcaClass():def __init__(self, seting):self.close = 0 #初始开仓价格self.seting = setingself.i = 1#参数i为第几条网格线def step(self, i):pd = self.seting['wangge_price']ss = self.seting['wangge_price_scale']if i == 1:return pdif i == 2:return pd + pd * ssif i == 3:return pd + (pd + pd * ss) * ssif i == 4:return pd + (pd + (pd + pd * ss) * ss) * ssif i == 5:return pd + (pd + (pd + (pd + pd * ss) * ss) * ss) * ssif i == 6:return pd + (pd + (pd + (pd + (pd + pd * ss) * ss) * ss) * ss) * ssif i == 7:return pd + (pd + (pd + (pd + (pd + (pd + pd * ss) * ss) * ss) * ss) * ss) * ssif i == 8:return pd + (pd + (pd + (pd + (pd + (pd + (pd + pd * ss) * ss) * ss) * ss) * ss) * ss) * ssif i == 9:return pd + (pd + (pd + (pd + (pd + (pd + (pd + (pd + pd * ss) * ss) * ss) * ss) * ss) * ss) * ss) * ssif i == 10:return pd + (pd + (pd + (pd + (pd + (pd + (pd + (pd + (pd + pd * ss) * ss) * ss) * ss) * ss) * ss) * ss) * ss) * ssreturn pd"""网格价格计算"""def long_line(self, i, side):return self.close - self.close * self.step(i) if side == 'BUY' else self.close + self.close * self.step(i)"""倍投数量计算"""def safety_order_size(self, yuer, i, side):ok = yuer * self.seting['safety_size'] / 100 * math.pow(self.seting['wangge_volume_scale'], i-1) #次方根return ok if side == 'BUY' else -ok
总结:Ma交叉后使用类似马丁的方法加仓,提高胜率
2.回测结果

原文地址: Dca策略 类马丁 - 苏慕白的博客
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
