海龟交易法则是经典的趋势跟踪策略,由理查德・丹尼斯和威廉・埃克哈特在上世纪 80 年代提出,核心逻辑是 “跟随趋势、截断亏损、让利润奔跑”,至今仍是期货量化入门的必学策略。对于想要落地该策略的投资者来说,获取可实操的源码并理解其底层逻辑,远比单纯复制代码更重要。
一、海龟策略的核心逻辑(先懂原理,再看源码)
海龟策略的核心围绕 “波动率(N 值)、入场规则、止损规则、仓位管理、退出规则” 五大要素展开:
1. 波动率计算(N 值):用 20 日真实波幅(ATR)衡量品种波动,N = 20 日 ATR 的平均值,决定入场、止损的价格区间;
2. 入场规则:突破 20 日最高价开多,突破 20 日最低价开空;
3. 止损规则:开仓后价格反向波动 2N 则止损,控制单笔亏损;
4. 仓位管理:根据品种波动率和账户资金计算持仓手数,避免过度交易;
5. 退出规则:多单跌破 10 日最低价平仓,空单突破 10 日最高价平仓。
二、通用版海龟策略源码(金字塔 / 通达信适配)
以下是适配期货量化软件(如金字塔)的海龟策略核心源码,注释清晰,新手可直接修改参数后回测:
// 期货海龟量化策略源码(金字塔PEL语言)
// 核心参数定义
N_PERIOD := 20; // 计算N值的周期(20日ATR)
ENTRY_PERIOD := 20; // 入场突破周期(20日高低点)
EXIT_PERIOD := 10; // 退出周期(10日高低点)
RISK_RATIO := 2; // 风险系数(2N止损)
CAPITAL := 100000; // 账户初始资金(元)
// 1. 计算真实波幅ATR(波动率N值)
TR := MAX(MAX(H-L,ABS(H-REF(C,1))),ABS(L-REF(C,1)));
ATR_VAL := MA(TR, N_PERIOD);
N_VAL := ATR_VAL; // 海龟策略的N值
// 2. 计算入场/退出价格
ENTRY_LONG := REF(HHV(H, ENTRY_PERIOD), 1); // 20日最高价(前一根K线)
ENTRY_SHORT := REF(LLV(L, ENTRY_PERIOD), 1); // 20日最低价(前一根K线)
EXIT_LONG := REF(LLV(L, EXIT_PERIOD), 1); // 多单退出价(10日最低价)
EXIT_SHORT := REF(HHV(H, EXIT_PERIOD), 1); // 空单退出价(10日最高价)
// 3. 止损价格计算
STOP_LONG := C - RISK_RATIO * N_VAL; // 多单止损(开仓价-2N)
STOP_SHORT := C + RISK_RATIO * N_VAL; // 空单止损(开仓价+2N)
// 4. 仓位计算(按账户资金和波动率)
LOTS := FLOOR((CAPITAL * 1%) / (N_VAL * CONTRACT_UNIT)); // 1%资金风险/波动单位
LOTS := IIF(LOTS ENTRY_LONG; // 突破20日最高价,开多信号
SHORT_SIG := C < ENTRY_SHORT; // 跌破20日最低价,开空信号
// 6. 退出/止损信号
EXIT_LONG_SIG := C < EXIT_LONG OR C EXIT_SHORT OR C > STOP_SHORT; // 空单退出/止损
// 7. 交易执行
IF LONG_SIG AND NOT HOLDING THEN BEGIN
BUY(LOTS, MARKET); // 市价开多
END
IF EXIT_LONG_SIG AND HOLDING = 1 THEN BEGIN
SELL(LOTS, MARKET); // 市价平多
END
IF SHORT_SIG AND NOT HOLDING THEN BEGIN
SELLSHORT(LOTS, MARKET); // 市价开空
END
IF EXIT_SHORT_SIG AND HOLDING = -1 THEN BEGIN
BUYTOCOVER(LOTS, MARKET); // 市价平空
END
// 绘图辅助(可视化信号)
DRAWLINE(ENTRY_LONG, RGB(255,0,0)); // 20日高点(红色)
DRAWLINE(ENTRY_SHORT, RGB(0,255,0)); // 20日低点(绿色)
DRAWTEXT(LONG_SIG, L, '开多', RGB(255,0,0));
DRAWTEXT(SHORT_SIG, H, '开空', RGB(0,255,0));
三、源码实操注意事项(新手必看)
1.参数适配:不同品种波动率不同(如螺纹钢、原油),需调整 N 值周期或风险系数,建议先回测 5 年以上历史数据;
2.软件适配:金字塔、文华财经等软件语法略有差异,可对照 F1 帮助修改函数(如 ATR 计算);
3.实操简化:新手无需从零编写源码,像 “广发期货量化宝” 公众号里就有适配国内期货品种的海龟策略指标,直接根据信号操作即可,省去代码调试的麻烦;
4.风险控制:实盘前务必用模拟盘测试,海龟策略在震荡行情中易反复止损,可结合均线、成交量等指标过滤信号。
四、海龟策略优化方向
经典海龟策略并非 “万能公式”,实操中可从以下维度优化:
1. 周期适配:短线交易者可将 20 日突破改为 10 日,长线保留 20 日周期;
2. 品种筛选:选择波动率适中的品种(如螺纹钢、豆粕),避开过度波动的品种;
3. 多周期共振:结合 60 分钟、日线周期的海龟信号,减少假突破,这也是 “广发期货量化宝” 里进阶版海龟策略的核心优化点,兼顾新手易用性和老玩家的精细化需求;
4. 止损优化:将固定 2N 止损改为动态止损(如移动止盈),锁住已有利润。
总结:
这里我想和你分享一个更深层的观察: 对于大多数没有全职编程精力的交易者而言,“拿到源码”其实只完成了10%的工作量。剩下的90%——包括回测环境的搭建、不同周期参数的适配、未来函数的排查、以及最难的部分“如何忍受策略长达数月的回撤期”——才是决定策略能否实盘的关键。
这也是为什么越来越多成熟的量化交易者开始关注已经封装好的、信号清晰的专业量化工具。他们不再需要从零调试几千行代码,而是直接借助经过实盘验证的策略信号,将精力聚焦在资金管理和交易纪律上。
例如,广发期货官方微信公众号“广发期货量化宝”中提供的系列量化指标,正是由专业量化团队将海龟这类经典策略的逻辑精髓(趋势识别、波动率过滤、动态仓位)沉淀为直观、易用的信号工具。无论是新手还是有经验的投资者,都可以根据这些指标信号辅助决策,省去从零搭建策略框架和反复调试代码的繁琐过程,更高效地验证和完善自己的交易体系。
想了解更多期货知识、品种分析、量化指标和策略、费率协商技巧、开户资料准备等不明白的,可以点击头像加微信或者打电话咨询。
发布于2026-2-12 11:52 北京


分享
注册
1分钟入驻>
+微信
秒答
电话咨询
18270025212 

