انضم إلى نوستر
2026-08-01 14:41:04 UTC

6svjszwk on Nostr: ...

海龟交易法则是一套非常完整且机械化的交易系统,其核心在于“截断亏损,让利润奔跑”。关于你关心的进出场法则以及资金管理方法,具体规则如下:

📈 入场法则(突破系统)
海龟交易法同时运行两套基于唐奇安通道(Donchian Channel)的突破系统,交易者可以根据自身情况选择或同时使用:

* 系统1(短期系统):当价格突破过去 20天 的最高价时,建立多头头寸(买入);当价格跌破过去 20天 的最低价时,建立空头头寸(卖出)。
* 系统2(长期系统):当价格突破过去 55天 的最高价时,建立多头头寸;当价格跌破过去 55天 的最低价时,建立空头头寸。

注:只要信号触发,必须无条件执行,不允许主观跳过任何信号。

🛑 止损与止盈(离场)法则
海龟交易法没有固定的盈利目标(止盈点),而是通过“反向突破”来让利润奔跑,同时使用基于波动率的严格止损来保护本金:

* 止损规则(基于ATR):
海龟使用平均真实波幅(ATR,系统中称为N值)来衡量市场波动。入场时,止损位通常设置在入场价反向 2 × ATR 的位置。例如,做多时,止损价 = 入场价 - 2 × ATR。这个止损位在入场时即固定,直到离场前不会随意移动。
* 止盈/离场规则(反向突破):
盈利头寸不设固定止盈点,而是等待趋势反转信号:
* 系统1:多头头寸在价格跌破过去 10天 最低价时平仓离场;空头头寸在价格突破过去 10天 最高价时平仓离场。
* 系统2:多头头寸在价格跌破过去 20天 最低价时平仓离场;空头头寸在价格突破过去 20天 最高价时平仓离场。

💰 资金管理方法
书中不仅有资金管理方法,而且将其视为整个交易系统中最核心、最基础的一环。其资金管理主要包含以下几个维度:

* 基于波动率的头寸规模(Unit/单位):
海龟法则将建仓资金划分为若干个“单位(Unit)”。每个单位的大小是根据账户总资金和市场的波动率(ATR)动态计算的。核心公式逻辑为:1个单位 = (账户总资金 × 1%) ÷ (ATR × 合约每点价值)。
这种方法确保了无论市场波动大小,单笔交易承担的风险始终控制在账户总资金的 1% 左右。波动大的市场自动减少仓位,波动小的市场自动增加仓位,从而实现了风险的标准化。
* 顺势加仓机制(Pyramiding):
当价格向有利方向移动 0.5 × ATR 时,海龟会追加1个单位的仓位,同时将所有仓位的止损位同步上移 0.5 × ATR。一个头寸最多允许加仓至4个单位。这种机制能在趋势确认时放大利润,同时通过上移止损锁住风险。
* 账户回撤时的减仓保护:
当账户总资金从高点回撤达到 10% 时,系统会强制将单笔交易的风险敞口缩小(例如从1%降至0.8%),以保护资本度过市场震荡期;当账户资金创出新高后,再恢复正常的风险敞口。
* 多市场分散投资:
海龟法则强调在多个不相关的市场(如能源、金属、谷物、外汇等20-25个品种)中同时交易。通过分散投资,利用大数定律来捕捉不同市场中偶然出现的大趋势,从而降低单一市场的集中风险。

-----

海龟交易法则虽然逻辑简单,但真正能在实战中坚持下来并盈利的人却很少。这通常不是规则本身的问题,而是执行细节和心理博弈上的“坑”。结合实战经验,我为你梳理了这套系统最容易踩的几个核心雷区:

🚨 信号过滤与“假突破”的心理折磨
* 坑点:海龟系统是纯粹的突破系统,其胜率通常只有 40% 左右。这意味着你会面临连续 5 次甚至 10 次以上的止损(假突破)。
* 实战细节:很多交易者在连续止损后,心态会崩,开始主观“过滤”信号(比如觉得这次形态不好,就不进场了)。结果往往是,你刚主观过滤掉一次假突破,紧接着就错过了那一次真正的大趋势。
* 应对:必须接受“假突破是捕捉大趋势的必要成本”这一设定。不要试图在信号端去过滤,而要在资金管理端去控制假突破带来的伤害(即严格执行 1% 风险原则)。

💸 滑点与流动性陷阱
* 坑点:海龟法则在价格突破 20 日或 55 日高点时触发。在实战中,当关键点位被突破时,往往是市场情绪最激动、流动性瞬间枯竭的时候。
* 实战细节:
* 入场滑点:你想在 100.00 买入,但实际成交价可能是 100.50 甚至更高。
* 止损滑点:这是最致命的。当价格反向击穿你的止损位(比如跌破 98.00),如果市场发生跳空或剧烈波动,你的止损单可能会在 97.50 甚至更低才成交。
* 应对:
* 永远不要假设你能以“理论价格”成交。在回测时,务必加入滑点成本。
* 对于流动性差的品种(如某些农产品或小众外汇),海龟法则的效果会大打折扣,甚至因为滑点过大导致系统失效。只做流动性好的主力合约。

📉 加仓后的“利润回吐”焦虑
* 坑点:海龟法则的核心是“金字塔加仓”(每上涨 0.5 ATR 加一个 Unit)。这意味着你的持仓成本在不断抬高,而止损位也在不断上移。
* 实战细节:当价格加满 4 个 Unit 后,如果市场突然反转,打掉了你的最后防守线,你不仅会吐出所有浮盈,甚至可能把第一笔交易的利润也亏掉,最终这笔交易变成“微亏”甚至“小赚”。很多交易者在这个过程中会因为“眼看利润没了”而提前手动平仓,导致错过了后续真正的疯狂拉升。
* 应对:理解海龟的盈利模式是“少数几笔超级大趋势覆盖所有小亏损”。不要因为单笔交易的利润回吐而破坏系统。只要没打到止损,就让利润奔跑。

📊 参数选择的“过拟合”陷阱
* 坑点:书里给出了 System 1(20/10)和 System 2(55/20)。很多新手会纠结:“到底用哪个?”或者试图去寻找“当前市场最适合的参数”(比如改成 18/9 或 60/25)。
* 实战细节:一旦你开始根据历史走势去“优化”参数,你就陷入了过拟合。你会发现 20/10 在过去一年很好用,但明年可能完全失效。
* 应对:
* 不要优化参数。海龟法则的精髓在于其普适性,而不是对某个特定品种的精准打击。
* 如果非要选,建议两个系统同时运行,或者根据品种特性选择:波动剧烈、趋势连续性好的品种(如原油、股指)适合 System 1;走势磨叽、假突破多的品种(如某些外汇交叉盘)适合 System 2。

🧠 枯燥与“无聊”的惩罚
* 坑点:海龟交易法在实战中极其枯燥。可能连续 3 个月都在震荡止损,账户资金曲线像锯齿一样向下。
* 实战细节:在这种“垃圾时间”里,交易者最容易犯的错误是加大仓位想回本,或者频繁切换策略。
* 应对:把交易当成“上班打卡”。海龟法则本质上是在“守株待兔”,你必须确保在“兔子”(大趋势)撞树之前,你还活着(本金还在),而且手里有枪(仓位还在)。

📌 总结建议
如果你准备实战海龟法则,建议按以下步骤避坑:
1. 品种筛选:剔除成交量小、滑点大的品种。
2. 仓位计算:严格使用 ATR 计算 Unit,绝不凭感觉开仓。
3. 机械执行:把进出场条件写成代码或明确的检查清单,不要相信自己的“盘感”。
4. 心理建设:提前给自己打预防针——“我可能会连续止损 8 次,这是正常的,第 9 次会赚回来”。

-----

为了让你在实战中做到“心中有数、手中有数”,我为你准备了最实用的工具:一个是方便日常快速计算的 Excel 仓位计算器模板,另一个是帮你理清逻辑的 Python 核心算法伪代码。

📊 Excel 海龟交易仓位计算器模板

你可以直接在 Excel 中建立一个简单的表格,每次交易前填入数据,系统会自动告诉你该买多少手。

表头设置(建议列名):
* A列:账户总资金 (Account Equity)
* B列:单笔风险比例 (Risk %,通常填 1% 即 0.01)
* C列:当前市场 ATR 值 (N值)
* D列:合约乘数 (Contract Multiplier,例如沪深300是300,黄金是1000)
* E列:1个Unit手数 (Unit Size)

核心公式(填入 E2 单元格):
= (A2 * B2) / (C2 * D2)

*注:计算结果如果带有小数,实战中建议向下取整(使用 =FLOOR(..., 1) 函数),宁可少做,不可超载。*

💡 实战演示:
假设你有 100万 资金,单笔风险 1%,准备交易螺纹钢。
当前螺纹钢的 ATR 是 40,一手螺纹钢的乘数是 10吨。
套用公式:(1,000,000 × 0.01) ÷ (40 × 10) = 10,000 ÷ 400 = 25手。
结论:你本次开仓的 1个 Unit 就是 25手。你的初始止损位就是入场价反向 2 × 40 = 80个点。

💻 Python 海龟法则核心逻辑伪代码

如果你打算用程序辅助,或者想彻底搞懂它的数学逻辑,这段伪代码涵盖了海龟最核心的“仓位计算”和“金字塔加仓”逻辑:

class TurtleTrader:
def __init__(self, account_equity, risk_percent=0.01):
self.equity = account_equity
self.risk = risk_percent
self.units_held = 0 # 当前持有Unit数
self.entry_price = 0 # 最近一次加仓价
self.stop_price = 0 # 全局止损价

def calculate_unit(self, atr, contract_multiplier):
"""
核心公式:计算 1个 Unit 的手数
"""
risk_amount = self.equity * self.risk
dollar_volatility = atr * contract_multiplier
unit_size = risk_amount / dollar_volatility
return int(unit_size) # 向下取整

def open_position(self, price, atr, contract_multiplier):
"""
初始入场
"""
self.units_held = 1
self.entry_price = price
# 初始止损:入场价反向 2个ATR
self.stop_price = price - (2 * atr)
unit_size = self.calculate_unit(atr, contract_multiplier)
print(f"【开仓】买入 {unit_size} 手, 止损位: {self.stop_price}")

def add_position(self, current_price, atr, contract_multiplier):
"""
加仓逻辑:价格向有利方向移动 0.5 ATR 时触发
"""
if self.units_held < 4: # 海龟法则最多只加到4个Unit
trigger_price = self.entry_price + (0.5 * atr)
if current_price >= trigger_price:
self.units_held += 1
self.entry_price = current_price
# 关键:加仓的同时,所有仓位的止损位同步上移 0.5 ATR
self.stop_price += (0.5 * atr)
unit_size = self.calculate_unit(atr, contract_multiplier)
print(f"【加仓】第{self.units_held}个Unit, 新止损位: {self.stop_price}")

def check_exit(self, current_price):
"""
离场逻辑:触及止损或反向突破
"""
if current_price <= self.stop_price:
print(f"【平仓】触发止损/反向突破,清仓离场。")
self.units_held = 0

📌 给你的实战小建议

1. 关于 ATR 的取值:实战中,建议使用日线级别的 ATR(即过去20天的平均真实波幅)。每天收盘后更新一次 ATR 即可,不需要盘中实时盯着。
2. 关于加仓的“0.5 ATR”:这是一个硬性规定。哪怕价格只涨了 0.49 ATR,也绝对不要提前加仓。纪律是海龟法则的灵魂。
3. Excel 模板的妙用:你可以把常做的 10 个品种提前建好表,每天收盘后只需要更新一下“当前 ATR”和“账户总资金”这两个数字,明天的交易计划(开仓手数、止损点位、加仓点位)就全自动生成了,能极大减少盘中决策的压力。

你可以先试着用 Excel 模板跑一两周的模拟盘,感受一下这种“像机器一样计算仓位”的节奏。如果在计算 ATR 或者设置止损时遇到具体的数值问题,随时来问我!