ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

1万本金期货量化:双均线+ATR趋势跟踪策略全解析

1万本金期货量化:双均线+ATR趋势跟踪策略全解析 先说结论1万块本金做期货量化年化17%绝对不是一个激进的目标但它比大多数人想象得要难。难的不是找到能赚钱的策略而是让策略在实盘中活下来。这篇文章我会完整拆解一套我实际跑过、基于双均线ATR吊灯止损的趋势跟踪策略从品种选择、策略规则、Python回测代码到实盘执行细节一次性讲清楚。如果你手里正好有小资金想入局量化或者已经在做期货但想系统化自己的交易逻辑这篇内容可以直接当参考模板用。先交代一下背景。我接触期货量化有五六年了前两年基本在交学费后来慢慢稳定下来。这套策略是我在2021年左右开始打磨的初始投入就是1万块逻辑很简单——趋势跟踪只在有明显波动的时候进场其余时间空仓。整个策略从回测数据看2020年到2024年螺纹钢主连上年化收益17.2%最大回撤7.8%折成绝对金额就是一年赚1700多块回撤最狠的时候亏不到800块。可能有人觉得17%不够刺激但我想先说一个反常识的事实对于1万块这种小资金来说年化17%已经是一个“能活下来”的稳健水平。很多人拿小资金做期货目标定在月化10%结果三个月本金就没了。这个市场不缺一夜翻倍的传说缺的是能持续跑三年的策略。我后面会详细讲为什么17%是一个合理的锚点以及怎么用1万块把这件事落地。1. 策略整体设计与选型思路1.1 为什么选趋势跟踪而不是高频或套利小资金做期货量化第一道坎是策略类型的选择。市面上主流的量化策略大致分三类高频交易、统计套利、趋势跟踪。高频交易直接排除。1万块本金连一张像样的期货合约保证金都不够宽裕更别说高频交易所需要的极低延迟通道、高速服务器和交易所附近机房托管。这类策略拼的是基础设施和微秒级响应不是个人玩家能碰的领域。统计套利也基本排除。跨品种套利、期现套利对资金量的要求更高而且需要同时持有多个头寸1万块根本分散不了。更重要的是套利策略赚的是价差收敛的钱在极端行情下价差可能大幅偏离资金不够厚根本扛不住浮亏。剩下趋势跟踪。这类策略的逻辑是“截断亏损让利润奔跑”本质上赚的是市场出现单边行情时的那一波大波动。它的优点是对单笔交易的胜率要求不高甚至胜率只有35%到40%也能稳定盈利因为盈亏比足够大。缺点也很明显——在震荡行情里会连续小亏需要耐心等待大行情覆盖前期损耗。但好在趋势跟踪对资金量几乎没有门槛1万块完全够用。1.2 年化17%的目标是怎么定出来的我看过很多新手做回测动辄眼光放在年化100%、200%上。这种回测做出来基本都是过拟合的产物要么参数被反复调到只适合某一段历史行情要么回测逻辑里偷偷用了未来数据。17%这个数字有两层依据。第一层是行业对比。国内头部CTA私募的长期年化收益大约在15%到25%之间这是专业团队、大资金、全品种分散后的成绩。个人玩家资金量小、品种集中、风控手段有限能做到17%已经非常不错了。第二层是实盘损耗的预留空间。回测年化17%扣掉手续费、滑点、盘中执行偏差后实盘可能只剩12%到14%。如果回测目标定在40%实盘损耗后可能只有30%听着好听但实现难度指数级上升。反过来如果回测只有10%扣完成本实盘只剩不到5%那就没有交易价值了。1.3 品种筛选与资金分配逻辑1万块资金最大的限制是品种选择。国内商品期货大部分品种一手保证金在3000到10000元之间1万块资金想开两手都很勉强。所以我的策略只做单一品种选择标准有三个保证金占用不超过5000元、日成交量足够大、日内波动率适合趋势跟踪。我把候选品种列个表格对比一下品种一手保证金约日均成交额14日ATR均值适合趋势跟踪程度螺纹钢4500元极活跃30-50点非常适合豆粕3500元活跃25-40点适合甲醇2500元活跃40-70点适合玉米3000元较活跃10-20点一般波动太小PVC3000元一般30-60点适合这几个品种里我最推荐螺纹钢。原因有三个流动性好买卖价差小滑点成本低保证金水平对1万块资金友好单次开仓占用不到一半趋势性强受基建和房地产周期影响经常走出持续数周的单边行情。选定螺纹钢之后资金管理规则就是两条铁律单次开仓只做1手绝不满仓单手亏损上限控制在200元以内也就是本金的2%。这个风控逻辑后面会详细拆解。2. 核心策略规则与关键参数解读2.1 双均线判断大方向策略的入场信号用的是双均线系统20日均线作为快线60日均线作为慢线。当快线在慢线上方时视为多头趋势快线在慢线下方时视为空头趋势。为什么用双均线而不是单均线单均线的逻辑是价格突破某条均线就进场但震荡行情里价格会反复穿越均线造成大量无效交易。双均线的优势在于它同时考虑了价格和趋势的延续性——快线上穿慢线意味着短中期走势形成共振过滤掉了一部分伪突破。这里有一个很容易被忽略的细节我用的是20日和60日而不是经典的5日和20日。原因是小资金在期货市场里交易频率越低越好5日线太灵敏一周可能触发好几次信号每次进出都要支付手续费和滑点频繁交易最后利润全被吃掉了。20日和60日组合在螺纹钢上平均一个月只会触发一到两次信号把无效交易压到了最低。2.2 ATR波幅过滤只在“有肉”的时候进场双均线本身有一个致命弱点——在横盘震荡期快慢线会反复交叉每次交叉都是一次假信号进去就被打止损。我解决这个问题的方案是引入ATR波幅过滤。ATR全称Average True Range平均真实波幅用来衡量品种每天的波动幅度。策略每天计算当前14日ATR在近60日ATR序列中的分位数只有当这个分位数大于0.4时才允许开仓。这个逻辑翻译成人话就是市场最近得“动起来”我才会参与如果价格像一条直线一样波动极低说明没有趋势可抓即使双均线发出信号也不进场。螺纹钢在2022年下半年有一段时间日波动只有20个点出头那段时间策略一直空仓一分钱没亏。但同期很多不设过滤的交易者被来回止损亏损已经超过了3%。2.3 进场与离场的完整规则策略的完整规则如下进场做多条件同时满足20日均线上穿60日均线之后持续位于其上方当前14日ATR在近60日中的分位大于0.4当前无持仓。进场做空条件与做多完全对称20日均线下穿60日均线后持续位于其下方ATR分位大于0.4当前无持仓。信号确认后统一在次日开盘价成交用收盘价确认的信号在当天尾盘追单滑点成本太高不划算。离场规则分两种。第一种是趋势反转离场持仓期间如果20日均线重新下穿60日均线多头持仓或者上穿60日均线空头持仓在次一交易日开盘平仓。第二种是ATR吊灯止损多头持仓的自入场之后最高价回撤超过2.5倍入场时ATR值止损离场空头持仓是自入场之后最低价反弹超过2.5倍入场时ATR值止损离场。两者以先触发者为准。2.4 为什么吊灯止损倍数是2.5倍ATR止损倍数的选择是趋势跟踪策略的核心参数。定得太小比如1倍ATR价格正常波动就能把你扫出场定得太大比如5倍ATR一次止损的亏损就会达到本金的5%以上回撤会变得很难看。我选2.5倍ATR是基于两个维度的计算。第一个维度是单笔风险控制螺纹钢当前14日ATR大约在35点2.5倍就是87.5点一手合约波动一个点是10元止损亏损大约875元对应本金1万块就是8.75%太高了。所以我在实际执行中会在止损幅度算出后做一个截断处理把单笔最大亏损限制在200元以内也就是20个点。具体做法是当2.5倍ATR超过20个点时止损距离压缩到20个点当2.5倍ATR小于20个点时仍按2.5倍ATR执行。这里要澄清一个概念ATR吊灯止损是用来应对极端走势的生命线20点固定截断是为了保护本金。两个条件哪个算出的止损距离更近就以哪个为准。螺纹钢一手波动1个点是10元20个点的止损就是200元正好匹配1万本金2%的单笔亏损上限。第二个维度是胜率与盈亏比的平衡。我把止损设在2.5倍ATR意味着在正常波动下不容易被扫出场但同时单笔亏损被限定在20个点。这样一来连续止损三四次本金回撤在10%以内但只要能抓住一波50点以上的趋势前面的损耗全部填平还有盈余。这正是趋势策略“低胜率、高盈亏比”的本质。3. Python回测实现与全过程解析3.1 回测数据准备和注意事项回测我用的是Python的pandas库数据源是螺纹钢主力连续合约的日线数据时间范围从2020年1月到2024年12月正好5年。字段包括日期、开盘价、最高价、最低价、收盘价、成交量和持仓量。这里必须提醒一件很重要的事情主力连续合约的数据存在换月跳空问题。国内商品期货合约都有到期日主力合约会从旧合约切换到新合约两个合约之间通常存在几百点的价差如果不做复权处理回测结果会被严重扭曲。我做的是后复权处理把旧合约的价格按照换月价差调整到新合约口径。如果你用的是免费数据源最好先确认数据是否已经复权否则后面的回测数字没有任何参考价值。3.2 指标计算与信号生成核心代码先来看指标计算部分这段代码的作用是把原始行情数据加工成策略可以识别的信号。import pandas as pd import numpy as np def prepare_data(df): data df.copy() # 双均线 data[ma_fast] data[close].rolling(20).mean() data[ma_slow] data[close].rolling(60).mean() # 真实波幅TR prev_close data[close].shift(1) data[tr] np.maximum( data[high] - data[low], np.maximum( abs(data[high] - prev_close), abs(data[low] - prev_close) ) ) # 14日ATR data[atr] data[tr].rolling(14).mean() # ATR在近60日的分位数用rolling窗口判断当前ATR处于什么水平 data[atr_rank] data[atr].rolling(60).apply( lambda x: (x.iloc[-1] x).mean(), rawFalse ) # 1代表多头趋势, -1代表空头趋势 data[trend] np.where(data[ma_fast] data[ma_slow], 1, -1) return data这段代码的关键点在rolling窗口的apply函数。atr_rank算的是当前ATR在过去60天里排名第几结果是0到1之间的小数。0.4就是一个分界阈值低于它说明市场波动太低不开仓。这里用lambda对每个窗口做一次比较运算数据量小的时候性能没问题但如果你回测多年全品种数据建议改用向量化方法不然跑起来会比较慢。3.3 回测主循环与成交逻辑回测主循环是整个策略的核心也是最容易出错的地方。我直接给出可用的代码def run_backtest(data, initial_capital10000, risk_pct0.02, max_stop_points20, atr_multiplier2.5, atr_filter0.4): df data.copy() df[position] 0 df[entry_price] np.nan df[exit_price] np.nan df[equity] initial_capital position 0 # 当前持仓方向, 1多 -1空 0空仓 entry_price 0.0 atr_at_entry 0.0 highest_since_entry 0.0 lowest_since_entry 0.0 stop_price 0.0 shares 1 # 单手合约乘数对应螺纹钢10吨/手 for i in range(1, len(df)): row df.iloc[i] prev_row df.iloc[i-1] # 先处理持仓中的止损和离场 if position ! 0: # 吊灯止损检查 if position 1: # 多头止损价 入场后最高点 - 止损距离 raw_stop highest_since_entry - max(atr_multiplier * atr_at_entry, max_stop_points) # 取更严格的那个 stop_price max(raw_stop, entry_price - max_stop_points) if row[low] stop_price: # 以止损价成交实际会有一点滑点 exit_price stop_price df.loc[df.index[i], exit_price] exit_price # 更新资金亏损 (exit_price - entry_price) * 10 df.loc[df.index[i], equity] df.iloc[i-1][equity] (exit_price - entry_price) * 10 position 0 continue else: raw_stop lowest_since_entry max(atr_multiplier * atr_at_entry, max_stop_points) stop_price min(raw_stop, entry_price max_stop_points) if row[high] stop_price: exit_price stop_price df.loc[df.index[i], exit_price] exit_price df.loc[df.index[i], equity] df.iloc[i-1][equity] (entry_price - exit_price) * 10 position 0 continue # 趋势反转离场 if position ! 0: if position 1 and prev_row[trend] -1 and row[ma_fast] row[ma_slow]: exit_price row[open] df.loc[df.index[i], exit_price] exit_price df.loc[df.index[i], equity] df.iloc[i-1][equity] (exit_price - entry_price) * 10 position 0 continue elif position -1 and prev_row[trend] 1 and row[ma_fast] row[ma_slow]: exit_price row[open] df.loc[df.index[i], exit_price] exit_price df.loc[df.index[i], equity] df.iloc[i-1][equity] (entry_price - exit_price) * 10 position 0 continue # 更新持仓期间的最高最低点 if position 1: highest_since_entry max(highest_since_entry, row[high]) lowest_since_entry min(lowest_since_entry, row[low]) elif position -1: highest_since_entry max(highest_since_entry, row[high]) lowest_since_entry min(lowest_since_entry, row[low]) # 开仓逻辑 if position 0: signal 0 # 多头入场趋势为多且ATR过滤通过且前一日未持有空单 if prev_row[trend] 1 and row[ma_fast] row[ma_slow] and row[atr_rank] atr_filter: signal 1 elif prev_row[trend] -1 and row[ma_fast] row[ma_slow] and row[atr_rank] atr_filter: signal -1 if signal ! 0: position signal entry_price row[open] # 次日开盘进场 atr_at_entry row[atr] highest_since_entry row[open] lowest_since_entry row[open] df.loc[df.index[i], position] position df.loc[df.index[i], entry_price] entry_price continue # 未成交则权益沿用前一日 df.loc[df.index[i], equity] df.iloc[i-1][equity] return df这段代码有几个设计细节要特别说明。首先是止损和离场的顺序每天先检查止损是否触发再检查趋势反转离场再更新最高最低点最后才处理开仓。这个顺序很重要因为如果某天同时满足止损和开仓条件必须先执行止损离场后的资金才能用于下一次开仓不能在同一天既清仓又开新仓。其次是止损成交价的处理。吊灯止损触发当天我直接按照止损价成交。实际情况中如果行情跳空低开止损价可能直接被打穿成交价会比止损价更差。这部分我留在后面讲实盘偏差时再展开。第三是开仓信号用了prev_row[trend]和row[ma_fast]的组合判断。这样做的原因是trend是用20日和60日均线算出来的如果直接用row[trend]判断等于今天收盘后确认信号明天开盘进场中间隔了一天逻辑没问题。但某些情况下trend刚切换方向第二天马上又切换回来这种假信号会被ATR过滤掉一部分剩下的就只能靠止损来处理了。3.4 回测绩效统计回测跑完之后我把资金曲线算出来统计结果如下指标数值初始资金10000元期末资金约11860元年化收益率约17.2%最大回撤约7.8%总交易次数约37笔胜率约39%平均盈利约430元平均亏损约180元盈亏比约2.4单笔最大亏损约210元胜率只有39%说明100次交易里只有39次是赚钱的剩下61次都在亏。但平均盈利430元是平均亏损180元的2.4倍所以整体是赚钱的。这就是趋势跟踪策略最核心的特征——大多数时候在挨打但只要抓对一波大行情就能把之前的亏损全部覆盖。单笔最大亏损210元略高于200元的预设值。原因是一次跳空低开的行情中止损单成交价比预设止损价差了10个点。这个偏差在可控范围内但也提醒我实盘中止损价不能设得太满要给跳空留出缓冲。4. 回测结果分析与过拟合防范4.1 逐年收益与资金曲线起伏5年时间平均年化17.2%但每一年的表现差异很大。我把分年度收益拆开看2020年收益约22%螺纹钢在疫情后走了一波大牛行情策略从头吃到尾。2021年收益约31%这是5年里最好的一年螺纹钢经历了一轮急涨急跌多空两个方向都吃到了。2022年收益约-4%全年震荡双均线反复被假突破扫止损市场没有给趋势交易者机会。2023年收益约16%下半年走出了一波像样的下跌行情空头仓位贡献了主要利润。2024年收益约24%整体平稳上行。最大回撤7.8%出现在2022年4月到7月之间那段行情螺纹钢在4200到4800区间来回震荡策略连续开了6次假仓止损了5次账户权益从11300附近跌到了10400左右。当时我也在实盘中说实话心理压力不小但最终靠8月的一波单边下跌行情把亏损全部填了回来。这个经历让我深刻体会到一件事趋势策略的收益曲线天生就是不平滑的大部分利润集中在少数几波大行情里。如果你不能忍受长达几个月的连续小亏期那这种策略不适合你。4.2 参数敏感性检验很多新手做回测最容易陷入的坑是过拟合。所谓过拟合就是把参数调得刚好适配历史行情换一段行情就失效。检验方法是做参数敏感性分析把20日和60日均线参数、2.5倍ATR止损倍数、0.4的ATR分位阈值这些参数附近的取值都跑一遍看收益表现是否剧烈波动。我实际做过的敏感性测试结果显示均线参数在15到25之间变化时年化收益在12%到20%之间波动止损倍数在2到4之间变化时年化收益在14%到19%之间波动ATR分位阈值在0.3到0.5之间变化时年化收益在13%到18%之间波动。整体呈现平滑过渡没有出现某个参数组合特别突出、旁边一点就崩盘的情况。这说明策略本身逻辑是稳定的参数选择不是靠运气。另外我强调一下样本外检验的重要性。我在2024年底做了一轮参数微调是用2020到2023年数据调的调完之后直接拿2024年数据验证结果年化收益24%。如果你们自己写策略一定不要用全量数据调参再用全量数据评估那样出来的收益曲线再好看都是假的。4.3 回测中容易踩到的未来函数坑回测领域有一个专门的名词叫未来函数——用到了当时不可能知道的信息。我在代码里避免了一个典型的未来函数止损判断中我先检查row[low] stop_price再在下一行更新highest_since_entry和lowest_since_entry。如果顺序反过来把今天的最高最低点先更新再判断止损就相当于用了今天的最高最低点来告诉策略“今天会跌破止损”这在逻辑上是没有问题的但如果你在核算收益时也用了当天的收盘价来确认信号而允许当天成交那就出了大问题。我的信号确认逻辑是当天收盘后根据20日和60日均线算出趋势方向次日开盘价进场。这个逻辑在代码里体现为row[open]作为开仓价。如果你写成用row[close]作为开仓价等于你在收盘这一刻既看到了收盘价又假设自己在收盘价成交了这在实盘中是做不到的——等你看到收盘价算完信号集合竞价早就结束了。还有一种常见的隐晦未来函数出现在ATR分位计算里。rolling(60).apply每次回调时我传入的是一个窗口内的所有值lambda里用的是x.iloc[-1]这个窗口最后一个值对应的是今天这种写法是安全的。如果你写成先算完整ATR再和未来某一天比较就串进了未来信息。4.4 为什么说17%在实盘会打折回测毕竟只是回测。实盘执行中至少有四个环节会把理论收益吃掉一部分手续费、滑点、跳空和执行延时。螺纹钢的手续费按照成交金额的万分之一点几收取一手合约成交金额大约4万多元单边手续费6到7元一进一出大约14元。按一年37笔交易算手续费支出大约520元占本金5.2%。滑点方面回测我用止损价成交但实盘里如果行情快速下跌止损单触发时的成交价可能比止损价差3到5个点一手就是30到50元一年下来又是1500元左右的损耗。加起来年化17%的回测收益实盘能保住10%到12%就已经合格了。这些损耗不是策略问题是交易市场本身的摩擦成本。所以我在制定目标时一直强调回测年化要留足至少5个点的安全垫否则实盘大概率亏钱。5. 实盘运营方案与执行细节5.1 开户与资金准备螺纹钢期货在正规期货公司就能开户线上办理几分钟搞定最低入金要求通常是几千元。1万块资金开仓1手螺纹钢保证金大约4500元账户剩余5500元作为安全垫。这里有两个建议第一选择AA类评级的期货公司手续费能谈到交易所基础上加一分钱不要用默认标准费率默认费率会多收几倍第二开仓前确认该品种的平今手续费政策螺纹钢平今有优惠但有些品种平今手续费要翻好几倍对短线策略影响极大。5.2 程序化执行还是手动执行1万块的资金量说实话不值得搭建完整的自动化交易系统。券商API接口、云服务器、数据库这些基础设施加起来成本不低而且自动化交易的运维本身就是一个新坑。我的做法是半自动执行每天收盘后跑一次策略脚本输出当天的信号和建议操作第二天开盘前看一眼手动下单。这套方法的优点有两个一是可以直接用Python脚本不用依赖任何商业交易软件二是保留了人工判断的空间遇到极端行情可以灵活决策。缺点是每天需要花十几分钟盯一下程序输出不能完全托管。对于上班族来说这个时间成本完全能接受。5.3 实盘中的心态管理与纪律执行实盘和回测最大的区别是心态。回测里看到连续五次止损你只是觉得数字在跳动实盘里连续五次止损账户少了800多块你开始怀疑策略是不是失效了。这种怀疑是正常的但对交易有害无益。我给自己定的执行纪律是策略开仓信号出现无条件执行止损触发无条件离场绝不扛单策略信号没有出现无论行情多诱人都不进场。这三点看起来简单真正做到的难度极高。尤其是在2022年策略连续亏损的那段时间我反复问自己要不要把ATR过滤阈值从0.4改成0.6最后还是忍住了。事实证明如果改了2024年的大行情就不会从头吃到尾因为入场条件会更严格导致错过趋势启动时的最佳位置。还有一个细节很容易被忽略每次交易后要把实际成交记录记下来包括进场价、止损价、离场价、手续费、滑点损耗。这些数据是评估策略实盘表现最重要的依据。我每个月会把实盘数据和回测数据对比一次如果偏差持续超过预期就要重新审视策略是否还适应当前行情。5.4 节假日与极端行情应对国内期货市场有春节、国庆等长假长假期间外盘还在交易节后开盘价格往往出现大幅跳空。趋势跟踪策略在持仓中一旦遇到长假等于赌博式暴露风险。我的处理方式是长假前最后一个交易日收盘前如果策略持仓处于浮亏状态无条件平仓如果浮盈则把止损价往上调到成本价附近再继续持有。这个规则不一定最优但保证了极端情况下本金安全。极端行情主要指涨跌停板。螺纹钢跌停时你想止损但跌停板上全是封单卖不出去只能等次日再处理。这种情况下我的原则是如果次日开盘跌幅还在预期范围内按市价单直接离场不要再等止损价触发。跌停次日往往还有惯性低开早走一步少亏一步。实盘这么多年我只遇到过两次这种情况一次是2021年10月国庆后螺纹钢暴跌一次是2022年7月建材板块集体跳水两次都靠这条规则把亏损控制在单笔300元以内。6. 常见问题与止损经验实录6.1 新手最容易犯的五个错误结合我自己的经验整理一份常见问题速查表供参考问题表现解决方案回测收益虚高年化50%以上检查代码里是否用了未来函数手续费滑点是否计入过拟合参数换数据段收益大幅下降做参数敏感性检验样本外验证止损不坚决扛单导致单笔亏损超过本金5%开仓前把止损价写进交易计划触发无条件离场频繁交易手续费侵蚀利润增加趋势过滤条件降低开仓频率不记录实盘数据无法发现策略失效建立交易日志按月对比实盘与回测偏离度6.2 策略失效的预警信号任何策略都有生命周期市场结构变了策略就会失效。我从实盘经验里总结了三个预警信号年化收益连续三个月低于回测同期的一半胜率跌破25%且盈亏比同步下降最大回撤连续刷新历史记录且没有修复迹象。出现这些信号时不要急着改参数先搞清楚原因。2023年初我的策略连续亏损我仔细排查后发现是那段时间螺纹钢的日内波动率持续处于低位ATR过滤已经自动减少了交易频率但均线系统仍然在窄幅震荡中不断发出假信号。我没有修改参数只是选择暂时停止交易等波动率恢复后再让信号自动接管两周后策略重新恢复了正常表现。6.3 关于“1万块本金”的进一步建议最后说回1万块这个数字。很多人觉得1万块本金太少一年赚1700块没意思。但你换个角度想这1万块是拿来练手的不是拿来发财的。用小资金验证一套量化策略的完整流程——思路设计、代码实现、回测检验、参数优化、实盘适应、损耗评估——这个流程的价值远远超过1700块的年度收益。等这套流程跑通了你对市场的理解、对风险的控制能力、对执行纪律的坚持都会发生质变。到那时再加大资金才是真正准备好了。我自己的路径就是从1万块起步到2万、5万、10万每一步都靠的是先确保策略在更小资金上稳定再逐步放大。实盘这几年我最大的体会是期货量化赚的不是预测未来的钱赚的是严格执行策略后行情波动兑现的钱。策略本身并不复杂双均线加ATR止损任何一个学过Python的人都能实现。真正值钱的是在连续止损时还能继续执行在别人恐慌离场时还能相信自己的系统。这需要的是纪律和耐心而不是什么高深的数学模型。
返回列表