股票学习网

股票入门基础知识和炒股入门知识 - - 股票学习网!

海龟法则精髓均线(海龟法则图解)

2023-07-17 04:56分类:牛市操作 阅读:

我们绝大多数外汇交易者都是小资金交易的,我们进入汇市就是希望能以我们少量的资金博取大收益的,但在外汇市场里小资金的命运却并不是很好。

修改海龟交易规则和结果

倒锤头线是一根带有长上影线,下影线不存在或很短的K线。其实体部分很小,可以为阴线也可以为阳线。

交易者们严格遵守短期移动均线所指示的方向:

下图是布林格突破系统的波幅通道:

理查德·丹尼斯与其他交易大师不一样的是,他不仅自己交易战绩斐然,他将他的交易系统传授给“海龟”,海龟们同样创造了不错的交易成绩。

每类交易策略都有一个适合发挥的特殊场地,比如,趋势跟踪适合趋势稳定的市场,逆势交易适合来回波动的市场。先要选对特殊场地。

注意事项:

比如10000美元的账户,按照以上资金管理的原则,一次交易最大可动用资金为10000*2%=200。这时如果市场波动较大,点差是20,你只能建1手仓;如果市场波动较小,点差是5,你最大可以建4手仓。

每个交易员都应该养成设置止损的习惯,这是每个在市场吃过亏的人给大家的第一个建议,下单前就要确认止损大小。

谨慎加仓,虽然每次可以交易的最大金额能占到2%的资金,但将一笔订单的资金分为多次,根据市场的变化加仓,会增大盈利。通常情况下,他们的第一个头寸将是0.5%,在交易获利后,他们将再增加0.5%,之后也将继续加仓,直到达到最高2%。

用武之地——选市场:海龟交易法则采用了一种市场过滤法,叫做趋势市场过滤器(trend portfolio filter),只有某个市场50天内的平均波幅超过了300天的平均值时,即波动出现趋势,才能考虑在这个市场做长期交易;而对于50天内的平均波幅低于300天均值的市场,只有小波动,就只能考虑短期交易。海龟采用的“趋势跟踪法”属于长期交易,所以我们只选前者——有波动趋势的市场。

峭壁:参数值的微小变化却引起了交易结果的剧烈改变。峭壁现象的出现是个好信号,证明你可能已经犯了过度拟合的错误,而且你的实际交易结果可能会与测试中的结果大相径庭。

海龟交易基本上是期货市场的趋势跟踪策略。

唐奇安通道法:在市场超越过去特定时期内的最高点时买入,如果25日均线在350日均线之上,只能做多;如果25日均线在350日均线之下,只能做空。

海龟策略是一个偏激进的短线打法,不适用于偏保守的投资者,每个人都可以轻易上手,文章最后会有步骤总结。

这意味着它们违背了最受尊崇的交易格言之一——永远要有止损点。但它们的风险调整回报率却可与其他系统比肩,甚至强于其他系统。

看涨信号验证:

股票价格的波动,往往酝酿着更大的机会,尤其是股市每一次大幅下跌,其都将成为一次最好的财富再分配运动。而这样的交易备受中长线投资者的青睐,毕竟其投资周期长,情绪也更平稳,这与短线投资者的操作习惯截然不同。

入市、退市:门当户对

当我们稍后比较各个系统的表现时,你会看到这个非常简单的退出策略比那些复杂的策略更胜一筹。

 

ATR通道突破系统:一个波幅通道系统,它把ATR用作波动性指标。

布林格突破系统(Bollinger breakout):一个波幅通道系统,它的波动性指标是标准差。

唐奇安趋势系统:一个带有趋势过滤器的突破系统。

定时退出唐奇安趋势系统(Donchian trend with time exit):一个带有趋势过滤器的突破系统,它使用定时退出策略。

双重移动均线系统(dual moving average):在短期移动均线穿越较长期移动均线时买入或卖出的系统。与其他系统不同的是,这个系统始终不离市场,无论是做多还是做空。

三重移动均线系统(triple movingaverage):这个系统也在短期移动均线穿越较长期移动均线时买入或卖出,但前提是穿越方向符合大趋势(根据一条最长期的移动均线来判断)。

 

定时退出唐奇安趋势系统是唐奇安趋势系统的一个变体,它采用的是定时退出策略,而不是突破法退出策略。它在80天之后退出,没有任何形式的止损点。

操作的标准

就在价格突破最近10日最高价时,把所有仓位卖出,设置止盈点。

(2)入市信号:决定什么时候开始一笔交易。

在做操作前,做好用excel把止损位止盈位建仓数量和价格都写出来,在软件上挂条件单,而不是用肉眼来观察。

倒锤头形态出现在顶部意味着攻击受阻,因此很容易成为头部;出现在底部这代表多方试探性的向上攻击,属于试盘行为,目的就是来测试筹码的锁定程度,一旦筹码锁定良好主力就有可能向上发动一轮行情,底部也就此确立。

海龟交易法中提到的是ATR止损和固定风险资金止损

术:

给大家分享一个抄底指标,这个是附图指标,建议主图里用均线系统,当附图出现“抄底”信号时,要通过主图里面的均线系统来加以筛选,比如说当出现“抄底”信号时不要急于买入,可以等10日均线向上时再考虑买入,还有可以通过看在出现信号之前,成交量有没有放大来加以筛选,总之不是每一个“抄底”信号都可以执行,要通过均线或者量能等其它指标辅助来加以甄别,具体情况可以自己把握。

(4)定时退出唐奇安趋势系统:定时退出,比如80天后退出。

作者写到,“价格的变动是取决于市场中所有买者和卖者的共同态度。这些买卖者就是我们所说的那些投机者和对冲者,想在一天内反复赚取微小买卖差价的人,想投机于一天内价格小幅变化的人,想投机于几个星期或几个月内价格的大幅变化的人,以及那些想规避经营风险的人。共同态度变了,价格就会变化。不管是什么原因,一旦卖者不再愿意以目前的价格卖出,而是想提高价格,买者又愿意接受这个更高的价格时,市场的价格就会上涨。同样,不管什么原因,一旦买者不再愿意接受目前的价格,而是想压低价格,卖者又愿意在这个更低的价格卖出时,市场价格就会下跌!”

唐奇安通道,作为一个通道必定有上线和下线,上线就是前N1日内的最高价,下线就是前N2日内的最低价,一般来说N1=20,N2=10;然后,价格上穿就买,下穿就卖,就是这么简单。

TR1=Max(H1−L1,H1−C0,C0−L1)TR1=Max(H1−L1,H1−C0,C0−L1)

ATR20=mean(TR1,TR2…TR19,TR20)ATR20=mean(TR1,TR2…TR19,TR20)

其中,公式 mean(X1,X2)mean(X1,X2) 代表求 X1X1 和 X2X2 的平均数。

1、如果标的价格跌破"持仓均价-0.5(1、1.5、2)倍的ATR",则平仓至原始仓位的75%(50%,25%,0%)。

2、如果标的价格跌破唐奇安通道下轨,则全平仓。

海龟交易法则策略实现(基于掘金量化平台)策略思想

当价格上穿唐奇安通道且短MA在长MA上方时开多仓;当价格下穿唐奇安通道且短MA在长MA下方时开空仓(8手)

若有多仓则在价格跌破唐奇安平仓通道下轨的时候全平仓位,否则根据跌破持仓均价 - x(x=0.5,1,1.5,2)倍ATR把仓位平至6/4/2/0手

若有空仓则在价格涨破唐奇安平仓通道上轨的时候全平仓位,否则根据涨破持仓均价 + x(x=0.5,1,1.5,2)倍ATR把仓位平至6/4/2/0手

策略主要步骤实现订阅数据

 

 

胜率(具有盈利的平仓次数与总平仓次数之比)达到了34.48%,因为海龟交易法则为趋势跟踪策略,所以胜率不会太高。

卡玛比率(年化收益率与历史最大回撤之比)是使用最大回撤率来衡量风险。**采用最大回撤率来衡量风险,关注的是最极端的情况。**卡玛比率越高表示策略承受每单位最大损失获得的报酬越高。在这里卡玛比率超过了9。

夏普比率(年化收益率减无风险收益率的差收益波动率之比)超过2.5,也即承受1单位的风险,会有超过2.5个单位的收益回报

策略收益曲线整体相对稳定,适合稳定型投资者,最大回撤极小,另外,策略在趋势行情行情中表现更加。

 

# coding=utf-8 from __future__ import print_function, absolute_import, unicode_literals import sys import numpy as np import pandas as pd try: import talib except: print('请安装TA-Lib库') sys.exit(-1) from gm.api import * ''' 本策略通过计算CZCE.FG801和SHFE.rb1801的ATR.唐奇安通道和MA线, 当价格上穿唐奇安通道且短MA在长MA上方时开多仓;当价格下穿唐奇安通道且短MA在长MA下方时开空仓(8手) 若有多仓则在价格跌破唐奇安平仓通道下轨的时候全平仓位,否则根据跌破 持仓均价 - x(x=0.5,1,1.5,2)倍ATR把仓位平至6/4/2/0手 若有空仓则在价格涨破唐奇安平仓通道上轨的时候全平仓位,否则根据涨破 持仓均价 + x(x=0.5,1,1.5,2)倍ATR把仓位平至6/4/2/0手 回测数据为:CZCE.FG801和SHFE.rb1801的1min数据 回测时间为:2017-09-15 09:15:00到2017-10-01 15:00:00 ''' def init(context): # context.parameter分别为唐奇安开仓通道.唐奇安平仓通道.短ma.长ma.ATR的参数 context.parameter = [20, 10, 5, 20, 20] context.tar = context.parameter[4] # context.goods交易的品种 context.goods = ['CZCE.FG801', 'SHFE.rb1801'] # 订阅context.goods里面的品种, bar频率为1min subscribe(symbols=context.goods, frequency='1d', count=51) # 止损的比例区间 def on_bar(context, bars): bar = bars[0] symbol = bar['symbol'] recent_data = context.data(symbol=symbol, frequency='1d', count=51, fields='close,high,low') close = recent_data['close'].values[-1] # 计算ATR atr = talib.ATR(recent_data['high'].values, recent_data['low'].values, recent_data['close'].values, timeperiod=context.tar)[-1] # 计算唐奇安开仓和平仓通道 context.don_open = context.parameter[0] + 1 upper_band = talib.MAX(recent_data['close'].values[:-1], timeperiod=context.don_open)[-1] context.don_close = context.parameter[1] + 1 lower_band = talib.MIN(recent_data['close'].values[:-1], timeperiod=context.don_close)[-1] # 若没有仓位则开仓 position_long = context.account().position(symbol=symbol, side=PositionSide_Long) position_short = context.account().position(symbol=symbol, side=PositionSide_Short) if not position_long and not position_short: # 计算长短ma线.DIF ma_short = talib.MA(recent_data['close'].values, timeperiod=(context.parameter[2] + 1))[-1] ma_long = talib.MA(recent_data['close'].values, timeperiod=(context.parameter[3] + 1))[-1] dif = ma_short - ma_long # 获取当前价格 # 上穿唐奇安通道且短ma在长ma上方则开多仓 if close > upper_band and (dif > 0): order_target_volume(symbol=symbol, volume=80, position_side=PositionSide_Long, order_type=OrderType_Market) print(symbol, '市价单开多仓8手') # 下穿唐奇安通道且短ma在长ma下方则开空仓 if close < lower_band and (dif < 0): order_target_volume(symbol=symbol, volume=80, position_side=PositionSide_Short, order_type=OrderType_Market) print(symbol, '市价单开空仓8手') elif position_long: # 价格跌破唐奇安平仓通道全平仓位止损 if close < lower_band: order_close_all() print(symbol, '市价单全平仓位') else: # 获取持仓均价 vwap = position_long['vwap'] # 获取持仓的资金 band = vwap - np.array([200, 2, 1.5, 1, 0.5, -100]) * atr # 计算最新应持仓位 grid_volume = int(pd.cut([close], band, labels=[0, 10, 20, 30, 40])[0]) * 2 order_target_volume(symbol=symbol, volume=grid_volume, position_side=PositionSide_Long, order_type=OrderType_Market) print(symbol, '市价单平多仓到', grid_volume, '手') elif position_short: # 价格涨破唐奇安平仓通道或价格涨破持仓均价加两倍ATR平空仓 if close > upper_band: order_close_all() print(symbol, '市价单全平仓位') else: # 获取持仓均价 vwap = position_short['vwap'] # 获取平仓的区间 band = vwap + np.array([-100, 0.5, 1, 1.5, 2, 200]) * atr # 计算最新应持仓位 grid_volume = int(pd.cut([close], band, labels=[0, 10, 20, 30, 40])[0]) * 2 order_target_volume(symbol=symbol, volume=grid_volume, position_side=PositionSide_Short, order_type=OrderType_Market) print(symbol, '市价单平空仓到', grid_volume, '手') if __name__ == '__main__': ''' strategy_id策略ID,由系统生成 filename文件名,请与本文件名保持一致 mode实时模式:MODE_LIVE回测模式:MODE_BACKTEST token绑定计算机的ID,可在系统设置-密钥管理中生成 backtest_start_time回测开始时间 backtest_end_time回测结束时间 backtest_adjust股票复权方式不复权:ADJUST_NONE前复权:ADJUST_PREV后复权:ADJUST_POST backtest_initial_cash回测初始资金 backtest_commission_ratio回测佣金比例 backtest_slippage_ratio回测滑点比例 ''' run(strategy_id='dcda6cd6-e139-11e7-9f7c-9cd21ef04ea9', filename='turtal.py', mode=MODE_BACKTEST, token='token', backtest_start_time='2017-06-01 09:15:00', backtest_end_time='2017-12-11 15:00:00', backtest_adjust=ADJUST_PREV, backtest_initial_cash=10000000, backtest_commission_ratio=0.0001, backtest_slippage_ratio=0.0001)

https://www.haobaihe.com

上一篇:海西概念(海西概念股操作步骤)

下一篇:风险警示板股票(风险警示板权限开通)

相关推荐

返回顶部