简单地说,海龟是一个突破策略,突破20天的最高价,做多,跌破10天的最低价,离场,价格跌破2个ATR,止损。
一、规则
N的计算方法:
展示:
二、ATR
(一)实测
1.定义
TR表示针对前一天close_price价格的波动幅度,相对于昨天的close price,今天的价格有三种情况:完全位于pre close之上,完全位于pre close之下,同时位于pre close的上下。
2.测试
import talib import numpy as np close = [3853.0, 3801.0, 3802.0, 3807.0, 3757.0, 3706.0, 3682.0, 3668.0, 3648.0, 3698.0, 3771.0, 3742.0, 3749.0, 3735.0, 3702.0, 3748.0, 3737.0, 3648.0, 3685.0, 3674.0, 3696.0, 3741.0, 3744.0, 3763.0, 3746.0, 3791.0, 3806.0, 3813.0, 3834.0, 3916.0] high = [4290.0, 4249.0, 4232.0, 4248.0, 4208.0, 4191.0, 4192.0, 4192.0, 4222.0, 4216.0, 4239.0, 4224.0, 4267.0, 4254.0, 4267.0, 4362.0, 4350.0, 4341.0, 4371.0, 4359.0, 4351.0, 4391.0, 4407.0, 4403.0, 4376.0, 4365.0, 4345.0, 4379.0, 4414.0, 4449.0] low = [3823.0, 3779.0, 3780.0, 3796.0, 3776.0, 3825.0, 3821.0, 3719.0, 3730.0, 3701.0, 3787.0, 3795.0, 3811.0, 3796.0, 3786.0, 3833.0, 3837.0, 3859.0, 3881.0, 4003.0, 4001.0, 4176.0, 4156.0, 4123.0, 4066.0, 3965.0, 3958.0, 3845.0, 3892.0, 3937.0] high = np.array(high) low = np.array(low) close = np.array(close) atr = talib.ATR(high, low, close, timeperiod=1) print(atr)
结果:
人工核对无误:
(二)其他
1.如查查看通达信的公式源码?
打开公式管理器,点击“查看”按钮。。
2.通达信关于ATR的定义:
输出MTR: (最高价-最低价)和、1日前的收盘价-最高价的绝对值、1日前的收盘价-最低价的绝对值 这三个值中的最大值。
输出真实波幅: MTR的N日简单移动平均值。
示例:
下图中MTR为0.38,等于5.77-5.39
ATR为前面14天MTR的平均。
三、仓位
四、关于加减仓
当价格跌破Entry-2N时,立即平掉全部多头仓位。
Unit = (总资金*1%)/(N*合约乘数)
因此,最新unit亏损的最大金额是总金额的2%。
五、为什么海龟不赚钱?
1.时间太久远了,海龟策略的思想在当时是非常先进的,但现在......
2.如果用在国内股票市场,A股是T+1,当天买入,或者当天加仓触发止损也平不了仓呀。