海龟交易系统公式
海龟交易法则指标公式
海龟交易法则指标公式海龟交易法则是一种趋势跟踪交易策略,它通过建立一套完整的交易规则来进行交易决策。
这套交易法则的核心原则是跟随趋势交易,即以市场的大趋势为依据,参与到趋势中并随之买入或卖出。
海龟交易法则指标是根据市场价格和交易量等因素计算得到的一种数值,用于判断买入或卖出的时机。
下面是海龟交易法则指标的一些常见公式和相关参考内容。
1. 真实波幅(ATR):真实波幅是海龟交易法则中用于确定头寸规模的一个重要指标。
其公式为:ATR = 平均真实范围TR的14日平均值其中TR为一日内最高价和最低价之差、当日最高价和前一日收盘价之差,以及当日最低价和前一日收盘价之差的最大值。
2. N值:N值是海龟交易法则中用于确定头寸大小的另一个重要指标。
其公式为:N = ATR * 头寸规模的百分比风险其中头寸规模的百分比风险是根据交易者风险承受能力和市场波动程度来确定的一个固定比例。
3. 移动平均线:移动平均线是用来判断市场趋势的重要指标。
海龟交易法则中通常使用20日、55日和10日的简单移动平均线作为参考。
当市场价格位于短期移动平均线之上并且短期移动平均线向上运动时,可以认为市场处于上升趋势;当市场价格位于长期移动平均线之上并且长期移动平均线向上运动时,可以认为市场处于强势趋势。
4. 动力指数(DMI):动力指数是用来确认趋势的重要指标。
其公式为:+DI = 当日最高价 - 前一日最高价-DI = 前一日最低价 - 当日最低价ADX = ( +DI / ( +DI + -DI ) ) × 100其中ADX表示趋势的强度,当ADX值大于25时,认为市场趋势较强。
5. 相对强弱指数(RSI):相对强弱指数是用来判断市场超买超卖状态的指标。
其公式为:RSI = 100 - (100 / (1 + RS))其中RS = N日平均上涨总幅度 / N日平均下跌总幅度,一般取N=14。
以上是海龟交易法则中一些常用的指标公式和相关参考内容。
唐奇安通道指标!海龟交易法则精髓!
唐奇安通道指标!海龟交易法则精髓!1.首先,确定一个周期(通常是20个交易日),作为计算的基础。
这个周期可以根据交易者的偏好进行调整。
2. 计算最高价和最低价的差值,得到“上轨”(Upper Channel)和“下轨”(Lower Channel)。
-上轨=最高价的最大值-下轨=最低价的最小值3.根据上轨和下轨的数值,确定通道的宽度和位置。
海龟交易法则是基于唐奇安通道指标的一种交易策略。
这个策略是由交易者Richard Dennis在1980年代开发的。
他通过招募和培训普通人来证明,交易技巧可以通过系统性的方法学习和应用。
海龟交易法则的核心是以下几点:1.以唐奇安通道指标为基础确定交易方向。
当价格突破上轨时,可以考虑开多仓(买入);当价格突破下轨时,可以考虑开空仓(卖出)。
2.设置止损位,以控制风险。
根据唐奇安通道的宽度,可以设置止损位在上轨和下轨之间的合适位置。
3.设置盈利目标。
根据交易者的风险承受能力和市场情况,可以设置不同的盈利目标。
当价格达到盈利目标时,可以考虑平仓。
海龟交易法则的精髓在于系统性和纪律性。
交易者应该遵循严格的规则,而不是根据主观判断来进行交易。
这样可以有效地控制风险并保持稳定的交易表现。
以下是唐奇安通道指标的Python源码示例:```pythonimport numpy as npdef donchian_channel(high, low, period):upper_channel = np.nanmax(high[-period:])lower_channel = np.nanmin(low[-period:])return upper_channel, lower_channel#示例使用high_prices = [50, 60, 70, 80, 90, 100, 110, 120, 130, 140]low_prices = [40, 50, 60, 70, 80, 90, 100, 110, 120, 130]upper, lower = donchian_channel(high_prices, low_prices, 5)print("上轨:", upper)print("下轨:", lower)```上面的示例中,`donchian_channel`函数接受最高价和最低价的数组,以及周期作为参数。
海龟交易法则与海龟交易系统公式
海龟交易法则与海龟交易系统公式理查德·丹尼斯于1983年创立并教授13位学生海龟交易法规则。
在这套规则中最要的是纪律、连续性、信心(遵守法则的信心)。
完整的机械交易系统组成部份:市场、头寸规模、入市、止损、离市、策略.期货市场中各类交易法则形形色色,我们并不认为海龟交易法是就是独一无二的交易法则,但值得让我们学习的是这种宁做一个海龟的交易法则精神。
是的,在系统交易中无论交易策略是哪种交易规则,能否严格执行下去是一个交易员最大的心理障碍,在海龟交易法教学中有这样一段“海龟交易法-艰难的决择对于大多数的交易员,海龟系统离市或许是海龟系统法则中唯一最难的部分。
等待10日或20日新低出现通常可能意味着眼睁睁地瞅着20%、40%甚至100%的可观利润化为泡影。
人们具有一种想要早点离市的强烈倾向。
你需要极强的纪律性才能为了继续持有头寸直到真正的大幅波动到来而眼看着你的利润化为泡影。
在大幅赢利的交易中,遵守纪律和坚持原则的能力是成功老道的交易员的特征。
也正是因为海龟交易系统多数的交易都为亏损交易只有严格执行以保证一单盈利交易能对冲掉所以的亏损交易。
海龟交易法-入市入市是所有交易系统最重要的一个方面。
海龟们得到了两种不同却有关系的突破系统法则,我们称这两个系统为系统一和系统二。
系统一-以20日突破为基础的偏短线系统系统二-以50日突破为基础的较简单的长线系统3.1 突破海龟总是在日间突破发生时进行交易,而不会等到每日收盘或次日开盘。
在开盘跳空的情况下,如果市场开盘超过了突破的价位,海龟一开盘就会建立头寸。
如果上次突破已导致赢利的交易,系统一的突破入市信号就会被忽视。
如果有赢利的10日离市之前,突破日之后的价格与头寸方向相反波动了2N,那么,这一突破就会被视为失败的突破。
然而,如果系统一的入市突破由于以前的交易已经取得赢利而被忽略,还可以在55日突破时入市,以避免错过主要的波动。
这种55日突破被视为自动保险突破点(Failsafe Breakout point)。
海龟交易法公式
海龟交易法公式摘要:1.海龟交易法简介2.海龟交易法的原理3.海龟交易法公式详解4.海龟交易法的优缺点5.海龟交易法在实际操作中的应用正文:1.海龟交易法简介海龟交易法是一种趋势跟踪交易策略,由美国著名投资家理查德·丹尼斯(Richard Dennis)创立。
该交易法得名于丹尼斯曾经训练海龟进行交易实验,并取得了惊人的成功。
海龟交易法适用于各种市场,如股票、期货、外汇等,它的核心思想是跟随市场趋势进行交易,以获得盈利。
2.海龟交易法的原理海龟交易法的原理主要基于两个方面:一是市场价格的变化反映了市场的供求关系,价格上涨表示供不应求,价格下跌表示供过于求;二是趋势一旦形成,将会持续一段时间。
根据这两点原理,海龟交易法通过观察市场价格变化,判断趋势,并在趋势开始时买入,趋势结束时卖出,以获取利润。
3.海龟交易法公式详解海龟交易法最著名的公式是“20 日突破法”,具体公式如下:(1)当价格上涨,突破过去20 日的最高价时,视为买入信号;(2)当价格下跌,跌破过去20 日的最低价时,视为卖出信号。
需要注意的是,这个公式并非绝对,投资者在使用时需要结合市场实际情况和自身风险承受能力进行调整。
4.海龟交易法的优缺点优点:(1)简单易懂,易于操作;(2)趋势跟踪能力强,能在趋势开始时及时捕捉到交易机会;(3)风险控制较好,能够在趋势反转时及时止损。
缺点:(1)容易出现频繁交易,增加交易成本;(2)在市场波动较大时,可能出现较多的虚假信号,影响交易效果。
5.海龟交易法在实际操作中的应用在实际操作中,投资者可以结合自己的交易经验和市场分析,对海龟交易法的公式进行调整和优化。
同时,投资者还需要注意以下几点:(1)合理设置止损点,控制风险;(2)保持资金管理,避免因为一次失败而影响整体交易;(3)保持耐心,不要轻易违反交易规则。
海龟交易法公式
海龟交易法公式海龟交易法是由 Richard Dennis 和 William Eckhardt 创立的一套交易策略体系,旨在通过严格的规则和风险管理来实现持续盈利。
这套交易法公式化且系统化的特点,使其被广泛应用于金融市场,并取得了可观的成绩。
海龟交易法的核心思想是趋势跟踪,即利用市场的趋势走向进行交易。
基于这一思想,海龟交易法通过一系列规则来确定买入和卖出的时机,从而降低主观判断的风险。
其中最为重要的就是海龟交易法的入市和退市规则。
在入市规则中,海龟交易法使用了一种称为“N值”的波动性指标,通过计算最近一段时间的价格波动来确定头寸的大小。
当市场价格突破了一定的波动范围,就会进场开仓。
这样的方法更倾向于选择大趋势,从而提高交易的成功率。
而在退市规则中,海龟交易法同样利用了“N值”,当头寸达到一定的波动范围或者市场趋势发生逆转时,就会选择逐步平仓。
这样做的目的是为了及时止损,保护已获利的头寸,并将风险降到最低。
除了入市和退市规则,海龟交易法还强调了风险管理的重要性。
在海龟交易法中,每个头寸的风险控制在账户的1%到2%之间。
这样的风险控制机制,使得交易者能够在一段时间内承受一定的损失,从而在长期保持盈利的状态。
然而,海龟交易法的实施并不是一件轻松的事情。
即使具备了规则和系统,也需要交易者具备良好的心理素质和坚定的执行力。
在市场波动较大或出现连续亏损时,不少交易者容易放弃或违背规则,导致交易失败。
因此,要保证海龟交易法的有效性,交易者需要有严格的纪律,严格遵守交易规则。
同时,要进行充分的市场分析,了解当前的趋势走向,避免盲目进出。
此外,合理控制风险、平衡仓位,也是实施海龟交易法时需要注意的要点。
总之,海龟交易法公式化和系统化的优势使其成为一个广受欢迎的交易策略体系。
通过严格的入市和退市规则,以及良好的风险管理,交易者可以在金融市场中获得持续的盈利。
然而,要做到这一点,交易者需要具备严格的纪律和良好的心理素质,并且不断学习和改进自己的交易技巧。
可实现自动交易的海归法则公式
可实现的自动交易--海龟交易系统公式这里找到了已经实现的海龟交易系统的公式完全版.虽说是著名的海龟,但不等于说用了就100%能赚钱的.该系统是比较适合于趋势型的商品行情,如大豆等期货商品.当然要是把这个系统放在振荡型的行情商品中,估计会亏得血本无归吧。
其实现如今海龟已经不如当初那么神奇了,可以说是过了保质期吧。
哈哈。
who knows.不过要是把这个海龟系统理解透了,我相信对于提高交易者自身对系统交易的理解也能上一个台阶了。
以下就是海龟系统于"tradeblazer--交易开拓者"软件下的实现代码,大家可慢慢琢磨一下。
(每一行//后的中文字都是对每一步骤的解释,这样有助于大家慢慢地消化理解.)复制内容到剪贴板代码:ParamsNumeric RiskRatio(1); // % Risk Per N ( 0 - 100)Numeric ATRLength(20); // 平均波动周期A TR LengthNumeric boLength(20); // 短周期BreakOut LengthNumeric fsLength(55); // 长周期F ailSafe LengthNumeric teLength(10); // 离市周期Trailing Exit LengthBool LastProfitableTradeFilter(True); // 使用入市过滤条件VarsNumeric N; // N 值Numeric TotalEquity; // 按最新收盘价计算出的总资产Numeric TurtleUnits; // 交易单位NumericSeries DonchianHi; // 唐奇安通道上轨,延后1个BarNumericSeries DonchianLo; // 唐奇安通道下轨,延后1个BarNumericSeries fsDonchianHi; // 唐奇安通道上轨,延后1个Bar,长周期NumericSeries fsDonchianLo; // 唐奇安通道下轨,延后1个Bar,长周期Numeric ExitHighestPrice; // 离市时判断需要的N周期最高价Numeric ExitLowestPrice; // 离市时判断需要的N周期最低价Numeric myEntryPrice; // 开仓价格Numeric myExitPrice; // 平仓价格Bool IsEntryThisBar(False); // 当前Bar开过仓Bool IsAddThisBar(False); // 当前Bar有过增仓Bool LastBreakoutWin(False); // 最后一次突破是否盈利Numeric preEntryPrice; // 前一次开仓的价格,存放到全局变量0号位置Numeric preBreakoutType(0); // 前一次突破的方向,1 - LONG , -1 - SHORT 初始值为0,存放到全局变量1号位置Numeric preBreakOutPrice; // 前一次突破的价格,存放到全局变量2号位置BeginIf(BarStatus == 0){SetGlobalVar(0,InvalidNumeric);SetGlobalVar(1,0);SetGlobalVar(2,InvalidNumeric);}Else{preBreakoutType = GetGlobalVar(1);preBreakOutPrice = GetGlobalVar(2);}N = AverageFC(TrueRange,A TRLength);TotalEquity = CurrentCapital()+Abs(CurrentContracts()*Close*ContractUnit()*BigPointValue()*MarginRatio());TurtleUnits = (TotalEquity*RiskRatio/100) /(N * ContractUnit()*BigPointValue());TurtleUnits = IntPart(TurtleUnits); // 对小数取整DonchianHi = HighestFC(Close[1],boLength);DonchianLo = LowestFC(Close[1],boLength);// 判断最后一次突破是否盈利If(preBreakoutType == 1){If(Close > PreBreakOutPrice){LastBreakoutWin = True;}}Else If(preBreakoutType == -1){If(Close < PreBreakOutPrice){LastBreakoutWin = True;}}// 当不使用过滤条件,或者使用过滤条件并且条件为False进行后续操作If((Not LastProfitableTradeFilter) Or (NOT LastBreakoutWin)){// 突破开仓If(CrossOver(High,DonchianHi) && TurtleUnits >= 1){// 开仓价格取突破上轨+一个价位和最高价之间的较小值,这样能更接近真实情况,并能尽量保证成交preBreakoutType = 1;preBreakOutPrice = Donchianhi;SetGlobalVar(1,preBreakoutType);SetGlobalVar(2,preBreakOutPrice);myEntryPrice = min(high,DonchianHi + PriceScale*MinMove);myEntryPrice = IIF(myEntryPrice < Open, Open,myEntryPrice); // 大跳空的时候用开盘价代替If(Buy(TurtleUnits,myEntryPrice)){IsEntryThisBar = True;SetGlobalVar(0,myEntryPrice);// 保存第一次开仓的价格}}If(CrossUnder(Low,DonchianLo) && TurtleUnits >= 1){// 开仓价格取突破下轨-一个价位和最低价之间的较大值,这样能更接近真实情况,并能尽量保证成交preBreakoutType = -1;preBreakOutPrice = DonchianLo;SetGlobalVar(1,preBreakoutType);SetGlobalVar(2,preBreakOutPrice);myEntryPrice = max(low,DonchianLo - PriceScale*MinMove);myEntryPrice = IIF(myEntryPrice > Open, Open,myEntryPrice); // 大跳空的时候用开盘价代替If(SellShort(TurtleUnits,myEntryPrice)){IsEntryThisBar = True;SetGlobalVar(0,myEntryPrice);// 保存第一次开仓的价格}}}// 长周期突破开仓Failsafe Breakout pointIf(MarketPosition == 0){fsDonchianHi = HighestFC(Close[1],fsLength);fsDonchianLo = LowestFC(Close[1],fsLength);If(CrossOver(High,fsDonchianHi) && TurtleUnits >= 1){// 开仓价格取突破上轨+一个价位和最高价之间的较小值,这样能更接近真实情况,并能尽量保证成交myEntryPrice = min(high,fsDonchianHi + PriceScale*MinMove);myEntryPrice = IIF(myEntryPrice < Open, Open,myEntryPrice); // 大跳空的时候用开盘价代替If(Buy(TurtleUnits,myEntryPrice)){IsEntryThisBar = True;}}If(CrossUnder(Low,fsDonchianLo) && TurtleUnits >= 1){// 开仓价格取突破下轨-一个价位和最低价之间的较大值,这样能更接近真实情况,并能尽量保证成交myEntryPrice = max(low,fsDonchianLo - PriceScale*MinMove);myEntryPrice = IIF(myEntryPrice > Open, Open,myEntryPrice); // 大跳空的时候用开盘价代替If(SellShort(TurtleUnits,myEntryPrice)){IsEntryThisBar = True;}}}If(MarketPosition == 1) // 有多仓的情况{// 求出持多仓时离市的条件比较值ExitLowestPrice = LowestFC(Low[1],teLength);If(Low < ExitLowestPrice){myExitPrice = max(Low,ExitLowestPrice - PriceScale()*MinMove());Sell(0,myExitPrice); // 数量用0的情况下将全部平仓}Else If(IsEntryThisBar){// 当前Bar开过仓的情况,如果Close比myEntryPrice大于1/2N.用收盘价加仓。
海龟交易法则
《海龟交易法则》海龟实验理查德.丹尼斯学员们被称为‘海龟’海龟成为交易史上最著名的实验,因为在随后的四年中取得了年均复利80%的收益。
完整的交易系统海龟交易系统是一个完整的交易系统,它包括了交易的各个方面,实际上没有给交易员留下一点主观想象决策的余地。
大多数成功的交易员都使用机械交易系统。
这并非偶然。
一个良好的机械交易系统可以自动运行整个交易程序。
对于交易员在交易中必须制定的每项决策,系统都会给出答案。
该系统使交易员更容易进行一致性的交易,因为有一套明确说明应该做什么的法则。
交易的机械化就是不留给交易员自己进行判断。
一个完整系统的成分一个完整的交易系统包含了成功的交易所需的每项决策:·市场----买卖什么·头寸规模----买卖多少·入市----何时买卖·止损----何时退出亏损的头寸·离市----何时退出赢利的头寸·策略----如何买卖市场----买卖什么第一项决策是买卖什么,或者本质上在何种市场进行交易。
头寸规模----买卖多少有关买卖多少的决策绝对是基本的,然而,通常又是被大多数交易员曲解或错误对待的。
入市----何时买卖何时买卖的决策通常称为入市决策。
自动运行的系统产生入市信号,这些信号说明了进入市场买卖的明确的价位和市场条件。
止损----何时退出亏损的头寸长期来看,不会止住亏损的交易员不会取得成功。
关于止亏,最重要的是在你建立头寸之前预先设定退出的点位。
离市----何时退出赢利的头寸策略----如何买卖市场:海龟交易什么海龟交易的是在美国芝加哥和纽约交易所交易的具有流动性的期货。
头寸规模海龟将一个基于波动性的常数百分比用作头寸规模风险的测算标准。
波动性----N的含意海龟用称之为N的概念来表示某个特定市场根本的波动性。
N就是TR(True Range,实际范围)的20日指数移动平均,N表示单个交易日某个特定市场所造成的价格波动的平均范围。
海龟交易法则
失博取较大的利润。
看起来,这是一个相当划算并且极具智慧的仓位管理策略。
但很多小伙伴对于加仓有一些误解,甚至因为随意加仓承担了超额风险,不但没能通过加仓获得丰厚回报,反而增加了资金回撤。
海龟交易法则是一个非常著名的顺势加仓策略,解剖一下海龟交易法则中关于加仓的秘密。
秘密一:捕捉稳定的趋势海龟们交易的时间周期是日线级别,看起来这根本不是什么秘密,但是很多海龟的追随者(或自称趋势追踪者)似乎更倾向于交易较小时间周期的趋势,比如小时图,15分钟图等。
他们认为在较小的时间周期里可以获得更多的追踪趋势机会;可以设置较小的止损;以及可以更早的捕捉到趋势。
尽管较小时间周期有上述优点,但是却有两个致命伤:其一,趋势持续的空间有限,这意味着获利空间有限。
其二,趋势信号频繁且易发生转折,这意味着更低的趋势追踪成功率。
交易者进行趋势追踪时,并非真正的顺势交易,而是人为定义一个趋势标准。
其方法包括以价格的波峰波谷进行定义;以线性技术指标交叉进行定义;或者类似于海龟们使用的以典型价格突破来定义趋势。
无论如何定义,价格都必然会表现出阶段性调整的状态。
在较大的时间周期内,调整可以在不破坏定义的趋势的前提下完成,而在较小的时间周期内,调整通常会破坏定义的趋势。
我们看一个案例,这是2017年欧元兑美元的上升趋势。
在日线图上(上图),无论是以波峰波谷来定义趋势,还是以均线交叉定义趋势,整个上涨过程中出现的调整状态都没有破坏趋势。
但是,如果我们在小级别周期上使用同样的趋势定义工具追踪这波上升趋势,我们必然会在趋势中途下车,也会进行反手交易,还有可能出现反手加仓的情况。
我们看看趋势稳定性不及日线图的4小时图(下图)。
日线图上一波完整的趋势在4H图中被割裂成四段,趋势定义工具将会提示我们结束对升势的追踪,会提示我们做空,甚至提示我们加仓。
我们不能完整的吃到上升趋势行情,还要在有限的利润中提取一部分支付反向交易可能产生的亏损。
可以想见,在小时图周期中趋势的稳定性会更差。
my海龟交易法则-my
市场:买卖什么
头寸规模:买卖多少
入市:什么时候买卖
止损:什么时候放弃亏损
完整的交易 系统
止盈:什么时候退出盈利
战术:怎么买卖
市场:海龟们的选择
海龟们都是期货交易者 海龟们只选择流动性最高的市场
头寸规模
根据一个市场的绝对波动幅度来调整头寸规模,等于将头寸的绝对波动幅度 标准化了。
低度相关市场
对于低度相关市场,在一个特定方向上最大可以有10个单位。低度相关市场 包括:黄金和铜 白银和铜 以及谷物组合
调整交易规模
每当帐户亏损10%时,其交易的帐户规模减小20%, 如果某个100万美圆帐户的海龟曾经亏损10%即10 万美圆,那么,他下次能交易的规模就只有80万 美圆 如果再亏损10%,(80万的10%是8万美圆,总亏 损为18万美圆)那下次可以交易的帐户规模为64 万美圆
要想坚持一个交易系统的法则,建立对系统的信心是非 常重要的。无论是海龟系统,类似系统还是其他完全不 同的系统,你必须亲自用历史交易数据检验你的系统。 别人说一个系统有效是没用的,其他人的研究结果也不 代表什么,你必须自己完成这个任务。
几种对交易行为有影响的认知偏差
损失厌恶症
对避免损失有一种强烈的偏好
原理
如果一个市场的合约价值波动性较强,那么这个市场中的合约持有量就少一些 如果一个市场的合约价值波动性较弱,那么这个市场中的合约持有量就大一些 市场的波动性与头寸的规模是相互抵消的。
波动性:N的含义
海龟们用N来衡量一个市场的潜在波动性。 TR=Max (H-L,H-PDC,PDC-L) 其中:TR=真实波幅 H=当日最高价 L=当日最低价 PDC=前一日收盘价 N的计算公式如下: N=(19*PDN+TR)/20 其中:PDN=前一日N值 TR=当日的真实波动幅度 公式中需要前一日的N值,在首次计算N的时候不能用这个 公式,只能计算真实波动幅度的20日简单平均值
海龟交易法公式
海龟交易法公式海龟交易法则是一种被广泛应用于金融市场的交易策略,它的应用可以帮助投资者规避风险、获取稳定的收益。
海龟交易法则的核心思想是:通过严格的风险控制和趋势跟随的策略来进行交易,从而获得长期稳定的收益。
在海龟交易法则中,有一些重要的公式和指标被广泛使用。
其中,最重要的是头寸规模的计算公式。
头寸规模是指根据市场波动性来决定每个交易的头寸大小,从而控制风险。
其计算公式如下:头寸规模 = 账户风险 / (每一点的价格波动 * 每一点的价值) 其中,账户风险是指投资者愿意承担的最大损失金额,每一点的价格波动是指交易品种在市场上的波动大小,每一点的价值是指每个点对应的资金价值。
在实际应用中,海龟交易法则还有一些其他的指标和规则。
例如,海龟交易法则使用移动平均线来判断市场趋势的方向,以及确定买入和卖出的时机。
当价格位于移动平均线之上时,市场处于上升趋势,投资者可以考虑买入;当价格位于移动平均线之下时,市场处于下降趋势,投资者可以考虑卖出。
海龟交易法则还有严格的止损规则。
根据海龟交易法则,投资者应该设定一个止损点位,当价格达到或超过止损点位时,应该立即平仓,以控制损失。
这个止损点位应该根据市场波动性和个人风险偏好来确定。
另外一个重要的指标是海龟交易法则中的波动性单位。
波动性单位是根据市场波动性来计算的,它可以帮助投资者确定止损点位和头寸规模。
波动性单位的计算方法是,根据一定的周期计算出一段时间内的价格波动幅度,然后将其转化为波动性单位。
总结起来,海龟交易法则是一种基于严格的风险控制和趋势跟随的交易策略。
它通过使用一系列的指标和规则,帮助投资者在金融市场中进行有效的交易。
通过合理的头寸规模、移动平均线的判断、严格的止损规则和波动性单位的计算,投资者可以降低风险、提高收益。
当然,海龟交易法则并非银弹,它也有一定的局限性,需要结合市场情况和个人实际进行灵活的调整和应用。
但总的来说,海龟交易法则是一种被证实有效的交易策略,可以为投资者带来长期稳定的收益。
海龟系统交易法则之技术精华
海龟系统交易法则之技术精华海龟系统交易法则名言集一个完整的交易系统,包括:· 市场----买卖什么· 入市规模----买卖多少· 入市----何时买卖· 止损----何时卖退出亏损的股票· 离市----何时卖出赢利的股票· 策略----如何买卖ATR就是个股最近20个交易日的平均波动幅度。
在大多数行情软件中,可以简单的自定义公式如下:TR:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));ATR:EMA(TR,20);买卖股票的数量,用下面的公式计算:单次买卖股数=帐户的1%/ATR比如:账户资金量为50万元,某只15元个股的20日平均波动幅度是0.6元,那么买卖股数=50万*1%/0.6=8333股,取整即8300股。
以15元买入,则仓位为24.9%;如果平均波动幅度为0.45元,则可以买入11100股,仓位33.3%;如果平均波动幅度为1元,则只买入5000股,仓位15%。
仓位的计算公式是:CW:CLOSE/ATR*100%由于国内股市波动性明显强于成熟市场,单次仓位一般在10%--20%之间,所以,不管帐户多大,不考虑买卖时流动性的话,有5--7只个股就满仓了。
对于小资金账户(50万以下),3个股票已经足够,仓位可以按照规则逐次提高。
海龟交易对于单股的限制是4个单位,即4*CW。
调整账户资金规模每当帐户亏损10%时,海龟就将帐户的规模减小20%,直到达到起始净值为止。
如果我们再亏损10%,就要再减小帐户规模的20%,以此类推。
反过来,如果获利10%,可以追加不超过20%的资金。
很明显,海龟交易系统是一个顺势交易的系统,赢了增加本金,输了则减少本金。
海龟用两个相关的系统选择股票,这两个系统都以唐奇安的通道突破系统(Donchian?ˉs channel breakout system)为基础海龟们得到了两种不同却有关系的突破系统法则,我们称这两个系统为系统一和系统二。
海龟交易法则指标公式
海龟交易法则指标公式海龟交易法则是一套重要的交易策略,也是部分成功交易者使用的重要工具。
海龟交易法则的指标分别为:移动平均线、真实波动幅度、价格通道指标以及动向指标。
下面将对这四个指标公式进行详细介绍:一、移动平均线移动平均线(MA)是一种常用技术指标,它可以减少价格波动的噪音,同时也能够帮助识别股票价格的趋势线。
海龟交易法则中使用的是简单移动平均线(SMA)。
SMA的计算公式为:MA = SUM(CLOSE, N)/N其中,CLOSE: 最近若干个交易周期的收盘价之和;N:收盘价的周期数;MA:移动平均线值。
二、真实波动幅度真实波动幅度(TR)指标最初是由J. Welles Wilder在其著作《新概念技术分析》中介绍的。
TR指标能够显示出某一交易日内的股票价格波动幅度,该指标为海龟交易法则提供了市场波动性的参考标准。
TR的计算公式如下:TR = MAX(HIGH-LOW, ABS(HIGH-PREV.CLOSE),ABS(LOW-PREV.CLOSE))其中,MAX(HIGH-LOW, ABS(HIGH-PREV.CLOSE), ABS(LOW-PREV.CLOSE)):计算该交易日真实波动幅度;HIGH、LOW、CLOSE:分别是该交易日的最高价、最低价以及收盘价;PREV.CLOSE:前一交易日的收盘价。
三、价格通道指标价格通道指标(CCI)是一种常用于辨别股票相对的贵或便宜水平的技术指标。
CCI的计算公式如下:CCI = (TP - MA)/0.015/MD其中,TP:典型价格(Typical Price),即三个价格(最高价、最低价、收盘价)之和的平均数;MA:典型价格的N日简单移动平均;MD:平均偏移量(Mean Deviation),即典型价格与MA差距的绝对值的N日平均。
四、动向指标动向指标(DMI)最早是由Welles Wilder在其著作《CP的新概念》中介绍的。
DMI指标可以用于确定股票价格的趋势、趋势的力度以及市场趋势的反转。
海龟交易法则公式
海龟交易法则公式摘要:I.引言- 介绍海龟交易法则- 简述海龟交易法则的原理II.海龟交易法则的公式- 解释N 的概念- 解释ATR 的概念- 解释止损和收益的概念- 展示海龟交易法则的公式III.海龟交易法则的实例- 提供一个海龟交易法则的实例- 解释实例中如何使用海龟交易法则的公式IV.海龟交易法则的优势和劣势- 列出海龟交易法则的优势- 列出海龟交易法则的劣势V.结论- 总结海龟交易法则- 提出使用海龟交易法则的建议正文:I.引言海龟交易法则是一种经典的投资策略,它是由美国投资家理查德·丹尼斯在20 世纪80 年代创立的。
这个策略的基本原理是,通过观察市场价格波动,确定买入和卖出时机,从而获得收益。
II.海龟交易法则的公式海龟交易法则的公式如下:= (20 * ATR + 100) / 100其中,N 表示当前的买卖次数,ATR 表示平均真实波幅。
止损= N * 每点价值收益= (N + 1) * 每点价值在这个公式中,每点价值是根据投资者的账户规模和风险偏好来确定的。
III.海龟交易法则的实例假设一个投资者使用海龟交易法则进行投资,他的账户规模为10000 元,每点价值为10 元。
如果市场价格波动的平均真实波幅为20,那么根据海龟交易法则的公式,当前的买卖次数N 为:= (20 * 20 + 100) / 100 = 4这意味着,投资者应该进行4 次买卖操作。
IV.海龟交易法则的优势和劣势海龟交易法则的优势在于,它提供了一种客观的投资策略,可以帮助投资者避免情绪化的决策。
此外,海龟交易法则的公式简单易懂,容易实现。
然而,海龟交易法则的劣势在于,它并不能保证投资者获得收益。
在市场价格波动较小的情况下,投资者可能会面临亏损的风险。
此外,海龟交易法则的公式需要根据市场情况不断调整,这需要投资者有一定的市场分析能力。
V.结论总的来说,海龟交易法则是一种有效的投资策略,它可以帮助投资者避免情绪化的决策,提高投资效率。
分享一个经典策略-海龟交易法
分享一个经典策略-海龟交易法“币市有风险,投资需谨慎”,这句话流传已广。
最近各种数字资产的价格变动较大,因为没有涨停跌停机制,数字资产一天甚至几个小时内波动百分之几十都是有可能的,远远高于传统金融市场的变动幅度。
应对币市大涨大跌行情,有一个很好的策略-海龟交易法。
一、海龟交易法海龟交易法是著名的公开交易系统,1983年著名的商品投机家理查德. 丹尼斯在一个交易员培训班上推广而闻名于世,它涵盖了交易系统的各个方面。
其法则覆盖了交易的各个方面,并且不给交易员留下一点主观想象决策的余地。
它具备一个完整的交易系统的所有成分。
著名的商品投机家理查德·丹尼斯想弄清楚伟大的交易员是天生造就的还是后天培养的。
为此,在1983年他招募了13个人,教授给他们期货交易的基本概念,以及他自己的交易方法和原则。
“学员们被称为‘海龟’(丹尼斯先生说这项计划开始时他刚刚从亚洲回来,他解释了自己向别人说过的话,‘我们正在成长为交易员,就象在新加坡他们正在成长为海龟一样’)。
”----斯坦利.W.安格瑞斯特,《华尔街期刊》,1989年9月5日。
海龟成为交易史上最著名的实验,因为在随后的四年中海龟们取得了年均复利80%的收益。
丹尼斯证明用一套简单的系统和法则,可以使仅有很少或根本没有交易经验的人成为优秀的交易员。
当时,海龟们认为应对理查德·丹尼斯负责,商定甚至在他们议定的10年保密协定于1993年终止后也不泄露这些法则。
但是,有个别海龟在网站上出售海龟交易法则而谋取钱财。
两个原版海龟科蒂斯·费思和阿瑟·马多克,为了阻止个别海龟对知识产权的偷窃和出售海龟交易法则而赚钱的行为,决定在网站上将海龟交易法则免费公之于众。
-百度百科海龟交易策略是一套非常完整的趋势跟随型的自动化交易策略。
这个复杂的策略在入场条件、仓位控制、资金管理、止损止盈等各个环节,都进行了详细的设计,这基本上可以作为复杂交易策略设计和开发的模板。
海龟交易系统的精髓
头寸规模---海龟交易系统的精髓1。
海龟将一个基于波动性的常数百分比用作头寸规模风险的测算标准。
波动性的常数百分比头寸规模风险的测算标准是其中难得的关键词,也有丰富的含义。
2。
用N的概念来表示某个特定市场根本的波动性。
N就是TR(True Range,实际范围)的20日指数移动平均,现在更普遍地称之为A TR。
3。
确定头寸规模的第一步,是确定用根本的市场价格波动性(用其N值定义)表示的价值量波动性。
市场价格波动性对应于价值量波动性就有引处头寸规模的意思了。
4。
海龟按照我们所称的单位(Units)建立头寸。
单位按大小排列,使1N代表帐户净值的1%。
单位=帐户的1%/市场价值量波动性或单位=帐户的1%/(N×每点价值量)5。
需要多久计算一次N值和单位大小?”每周一我们为海龟准备一份单位大小表,上面列出了我们所交易的各种期货合约的N值和单位大小。
6。
海龟系统用市场波动性来度量每个市场有关的风险。
然后,我们用这一风险量度标准以表示风险(或波动性)的一个常数的增量来建立头寸。
这提高了多样化的收益,并且增加了赢利交易弥补亏损交易的可能性。
市场波动性风险量度标准风险的一个常数的增量都是一回事,都是建立头寸的依据。
7。
因为海龟把单位用作头寸规模的量度基础,还因为那些单位已经过波动性风险调整,所以,单位既是头寸风险的量度标准,又是头寸整个投资组合的量度标准。
8。
海龟被给予限制我们可以在任何特定的时间在四个不同的级别上持仓的单位数目的风险管理法则。
本质上,这些法则控制着交易员可能带来的全部风险,这些限制在亏损延长期间以及价格异常波动期间使损失最小化。
9。
最大头寸限制为:单一市场----每个市场最大为4个单位。
10。
海龟用满仓(loaded)这个词表示在特定的风险级别下持有所允许的最大数目的单位11。
调整交易规模:每当原始帐户亏损10%时,海龟就得到指示,将虚拟帐户的规模减小20%。
头寸规模的计算--海龟交易系统的精髓(2)1。
海龟交易法则有效性实证和策略参数优化分析
海龟交易法则有效性实证和策略参数优化分析海龟交易法则是一种比较流行的交易策略,通过系统化的交易规则来进行交易。
该策略起源于20世纪80年代,由一位名为Richard Dennis的交易员和他的学生所提出,并在之后多次获得了较好的表现。
本文将对海龟交易法则的有效性进行实证分析,并探讨其中的关键参数。
为探讨海龟交易法则的有效性,在本文中,我们选择了美国股票市场作为样本数据。
由于该市场交易规模较大,数据时限范围也相对较宽,因此较为合适。
我们首先回顾一下海龟交易法则的交易规则。
具体而言,该策略交易规则如下:1、头寸规模的设定首先,海龟交易法则通过市场波动性来设定头寸规模。
该规则采用了ATR(Average True Range)指标,计算公式如下:ATR = [(前一日的TR + (14-1)*前一日的ATR)/14]其中TR是真实波幅,使用以下公示计算:TR = Max(High-Low, Abs(High - Close_1), Abs(Low - Close_1))其中High/Low/Close_1分别为当日的最高价、最低价和前一日的收盘价。
计算出ATR值后,海龟交易法则将ATR值乘以一个固定的系数N,作为每个头寸的数量。
例如N=2,ATR=10,那么头寸规模为20。
2、止损设定海龟交易法则的止损设定也采用了ATR指标,其计算方式如下:Stop Loss = N * ATR其中N同样是一个固定的系数,ATR的计算方式与头寸规模的设定相同。
3、入场和退出的时间点海龟交易法则采用了一系列技术指标来确定入场和退出的时间点。
具体而言,该策略采用了双均线策略、布林带策略、MACD策略等指标来进行交易。
根据上述规则,我们对美国股票市场进行了回测,结果显示海龟交易法则的效果比较显著,其中统计两种交易策略的累计收益率如下图所示。
![Cumulative Returns of Turtle Trading Rule and Buy-and-HoldStrategy](https://upload-images.jianshu.io/upload_images/11189311-f2c9b9dc3236 9395.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)从上述统计结果可以看出,海龟交易法则与传统的买入持有策略的表现相比具有更高的收益率。
年均复利80%——海龟交易法则
年均复利80%——海龟交易法则著名的商品投机家理查德·丹尼斯想弄清楚伟大的交易员是天生造就的还是后天培养的。
为此,在1983年他招募了13个人,教授给他们期货交易的基本概念,以及他自己的交易方法和原则。
学员们被称为海龟。
之所以命名海龟,一方面是因为海龟天生具有奔向海洋的本能。
另一方面因为海龟的绝大多数会中途夭折,只有极少数可以长大并颐养天年,这跟金融交易市场的二八法则近似。
海龟成为交易史上最著名的实验,因为在随后的四年中海龟们取得了年均复利80%的收益。
海龟交易法则的三个特点其一,是一个完整的交易系统,其法则覆盖了交易的各个方面。
对于交易中所涉及到的每项决策,系统都会给出答案。
其二,是一个机械化的交易系统。
正是由于其交易系统的完整*,所以,系统不给交易员留下一点主观想象决策的余地。
其三,是一个被检测可以赚钱的交易系统。
正是由于此,不管交易员在赚钱还是亏钱时都容易接受信号。
海龟交易法则的具体应用具体到实际交易中我们应该如何应用呢?首先绘制10小时和100小时两根均线,然后绘制50小时内最高点和最低点曲线,再加25小时内最低点曲线。
我们可以在通达信软件输入指标公式,如下。
M10:MA(C,10),LINETHICK2;M100:MA(C,100);U:REF(HHV(HIGH,50),1),COLORRED;D:REF(LLV(LOW,50),1),COLORGREEN;D2:REF(LLV(LOW,25),1),COLORBLUE,CIRCLEDOT;DRAWICON(M10>M100 ANDCROSS(C,U),L,1);DRAWICON(CROSS(D,C),H,2);DRAWICON(CROSS(D2,C),H,8);买入条件:当且仅当10小时均线大于100小时均线的前提下,小时收盘突破此前50小时的最高点时做多。
平仓条件:当小时收盘跌破此前25小时的最低点时平仓一半,跌破此前50小时最低点时全部平仓。
详解:头寸单位限制规模法则的——(海龟交易法则?)
详解:头寸单位限制规模法则的——(海龟交易法则)关于头寸单位规模书中原文讲的比较粗略,这里举个实际例子做详细的解释。
原文(《海龟交易法则》P110)是这么讲的:“要让1ATR的价格变动正好等于我们的账户规模的1%。
对一个100万美元的账户来说,1%是10000美元。
因此,我们会算出一个市场中代表着每份合约有1ATR 变动幅度的美元金额,然后用10000美元除以这个金额,得出每100万美元的交易资本所对应的合约数量。
我们把这些数字称作头寸单位规模。
如果一个市场的波动性较强,或者合约规模较大,它的头寸单位规模会小于那些更小的或更为稳定的市场。
”上面很多属于是期货交易的术语,在这里以我们比较熟悉的股票市场进行解释,理解的可能会比较透彻。
首先解释一下什么是ATR,我们怎么获取这个数值呢?书中(P64)对ATR的解释是,真实波动幅度均值。
炒股软件同花顺的ATR指标说明为,真实波动的N日移动平均。
两种解释的重点在“平均”上,类似K线图的均线,监视最近N个交易日中(同花顺中默认参数为14日)该股票波动幅度的均值。
可以在同花顺的指标设置里找到该指标,并获得每日的ATR数据。
以申万宏源(000166)为例,2016-10-12的ATR=0.08。
假设我的账户可操作本金为10万元,波动风险承受能力为1%,Z=10万*1%=1000元。
股票市场最低交易单位为每手100股,当日股票交易价格为 6.39元,1ATR变动幅度的金额X=6.39*100*ATR=6.39*100*0.08=51.12元,单位头寸规模Y=Z/X=1000/51.12=19.56手≈20手。
20手*100股*6.39元/股=12780元。
也就是在当前情境下,头寸单位规模12780元。
这是什么意思?这个意思是说,在14日ATR为0.08,本金10万,风险承受能力为1%的情况下,如果你想买入这只股票,可以以n*12780的规模分批建仓(n*12780≤10000),n越大,风险越大。
技术干货:你们要的‘’海龟‘’交易系统来了
技术⼲货:你们要的‘’海龟‘’交易系统来了如果需要找⼀个策略做程序化测试,海龟法则应当是不⼆之选。
为什么呢?因为海龟交易法则⾃⾝就是⼀套机械定量的法则,⼏乎没有主观判断的余地。
丹尼斯所做的事情,其实就是找了⼀波⼈去跑海龟交易法则这个程序。
作为⼀款典型的趋势跟踪策略,海龟法则已经被⽆数次的模仿和改写。
这⾥试着写对⼀下海龟法则的理解。
第⼀部分海龟加仓海龟式加仓:⾦字塔⾸单⼊场后,伴随获利,每次间隔⼀个ATR 就加⼀个单位,直到⼿上有五个单位为⽌。
这种加仓⽅式被称作⾦字塔式加仓,因为从下到上,单⼦的利润分布类似⾦字塔的形态(还有⼀种⾦字塔加仓,是初始仓位重,⽽加仓逐渐减⼩,这种是仓位数量的⾦字塔)。
之所以设置5个单位的上限,书中的解释是为了避免过度交易。
海龟式加仓:利弊⾦字塔式加仓好处是可以在趋势中⽤积累的仓位赚取更多的利润,不好的地⽅是偏激进,在没有充分的盈利的情况下加仓,容易⽵篮打⽔,造成胜率降低和资⾦回撤。
为了应对加仓的副作⽤,海龟们使⽤了更保守的仓位管理——原始资⾦每回撤10%,交易风险降低20%。
(为了赚的时候⼤赚,亏得时候就忍⼀下)。
激进的进攻和保守的防御,互补的存在于海龟法则中。
海龟式加仓:盲点海龟的初始设定是单笔最⼤损失2%(2倍ATR)。
在实际操作中,由于加仓的存在,潜在的最⼤风险会上升到3%。
如下图,完成⾸次加仓之后,共持有两笔订单。
如果此时市场⽅向转向并触发⽌损,实际的损失是3倍的ATR(960=3*320)第⼆部分海龟策略(系统1)的程序化⾸先需要说明的是:完整海龟法则==四周法则+过滤器原则+系统2+仓位管理法则+多市场分散交易;程序化海龟法则==系统1==四周法则+仓位管理法则;即测试只是针对系统1,⽽且孤例测试说明不了什么,主要感受下资⾦曲线。
主要函数运⾏逻辑测试案例欧元⼗年间的数据(2006.01.01-2016.01.01),初始⾦额10万。
可以见到三个明显的资⾦⾼点,两个明显的资⾦低点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这里找到了已经实现的海龟交易系统的公式完全版.虽说是著名的海龟,但不等于说用了就100%能赚钱的.该系统是比较适合于趋势型的商品行情,如大豆等期货商品.当然要是把这个系统放在振荡型的行情商品中,估计会亏得血本无归吧。
其实现如今海龟已经不如当初那么神奇了,可以说是过了保质期吧。
哈哈。
who knows.不过要是把这个海龟系统理解透了,我相信对于提高交易者自身对系统交易的理解也能上一个台阶了。
以下就是海龟系统于"tradeblazer--交易开拓者"软件下的实现代码,大家可慢慢琢磨一下。
(每一行//后的中文字都是对每一步骤的解释,这样有助于大家慢慢地消化理解.)复制内容到剪贴板代码:ParamsNumeric RiskRatio(1); // % Risk Per N ( 0 - 100)Numeric ATRLength(20); // 平均波动周期ATR LengthNumeric boLength(20); // 短周期BreakOut LengthNumeric fsLength(55); // 长周期FailSafe LengthNumeric teLength(10); // 离市周期Trailing Exit LengthBool LastProfitableTradeFilter(True); // 使用入市过滤条件VarsNumeric N; // N 值Numeric TotalEquity; // 按最新收盘价计算出的总资产Numeric TurtleUnits; // 交易单位NumericSeries DonchianHi; // 唐奇安通道上轨,延后1个Bar NumericSeries DonchianLo; // 唐奇安通道下轨,延后1个Bar NumericSeries fsDonchianHi; // 唐奇安通道上轨,延后1个Bar,长周期NumericSeries fsDonchianLo; // 唐奇安通道下轨,延后1个Bar,长周期Numeric ExitHighestPrice; // 离市时判断需要的N周期最高价Numeric ExitLowestPrice; // 离市时判断需要的N周期最低价Numeric myEntryPrice; // 开仓价格Numeric myExitPrice; // 平仓价格Bool IsEntryThisBar(False); // 当前Bar开过仓Bool IsAddThisBar(False); // 当前Bar有过增仓Bool LastBreakoutWin(False); // 最后一次突破是否盈利Numeric preEntryPrice; // 前一次开仓的价格,存放到全局变量0号位置Numeric preBreakoutType(0); // 前一次突破的方向,1 - LONG , -1 - SHORT 初始值为0,存放到全局变量1号位置Numeric preBreakOutPrice; // 前一次突破的价格,存放到全局变量2号位置BeginIf(BarStatus == 0){SetGlobalVar(0,InvalidNumeric);SetGlobalVar(1,0);SetGlobalVar(2,InvalidNumeric);}Else{preBreakoutType = GetGlobalVar(1);preBreakOutPrice = GetGlobalVar(2);}N = AverageFC(TrueRange,ATRLength);TotalEquity = CurrentCapital()+ Abs(CurrentContracts()*Close*ContractUnit()*BigPointValue()*MarginRatio());TurtleUnits = (TotalEquity*RiskRatio/100) /(N * ContractUnit()*BigPointValue());TurtleUnits = IntPart(TurtleUnits); // 对小数取整DonchianHi = HighestFC(Close[1],boLength);DonchianLo = LowestFC(Close[1],boLength);// 判断最后一次突破是否盈利If(preBreakoutType == 1){If(Close > PreBreakOutPrice){LastBreakoutWin = True;}}Else If(preBreakoutType == -1){If(Close < PreBreakOutPrice){LastBreakoutWin = True;}}// 当不使用过滤条件,或者使用过滤条件并且条件为False进行后续操作If((Not LastProfitableTradeFilter) Or (NOT LastBreakoutWin)){// 突破开仓If(CrossOver(High,DonchianHi) && TurtleUnits >= 1){// 开仓价格取突破上轨+一个价位和最高价之间的较小值,这样能更接近真实情况,并能尽量保证成交preBreakoutType = 1;preBreakOutPrice = Donchianhi;SetGlobalVar(1,preBreakoutType);SetGlobalVar(2,preBreakOutPrice);myEntryPrice = min(high,DonchianHi + PriceScale*MinMove);myEntryPrice = IIF(myEntryPrice < Open, Open,myEntryPrice); // 大跳空的时候用开盘价代替If(Buy(TurtleUnits,myEntryPrice)){IsEntryThisBar = True;SetGlobalV ar(0,myEntryPrice);// 保存第一次开仓的价格}}If(CrossUnder(Low,DonchianLo) && TurtleUnits >= 1){// 开仓价格取突破下轨-一个价位和最低价之间的较大值,这样能更接近真实情况,并能尽量保证成交preBreakoutType = -1;preBreakOutPrice = DonchianLo;SetGlobalVar(1,preBreakoutType);SetGlobalVar(2,preBreakOutPrice);myEntryPrice = max(low,DonchianLo - PriceScale*MinMove);myEntryPrice = IIF(myEntryPrice > Open, Open,myEntryPrice); // 大跳空的时候用开盘价代替If(SellShort(TurtleUnits,myEntryPrice)){IsEntryThisBar = True;SetGlobalV ar(0,myEntryPrice);// 保存第一次开仓的价格}}}// 长周期突破开仓Failsafe Breakout pointIf(MarketPosition == 0){fsDonchianHi = HighestFC(Close[1],fsLength);fsDonchianLo = LowestFC(Close[1],fsLength);If(CrossOver(High,fsDonchianHi) && TurtleUnits >= 1){// 开仓价格取突破上轨+一个价位和最高价之间的较小值,这样能更接近真实情况,并能尽量保证成交myEntryPrice = min(high,fsDonchianHi + PriceScale*MinMove);myEntryPrice = IIF(myEntryPrice < Open, Open,myEntryPrice); // 大跳空的时候用开盘价代替If(Buy(TurtleUnits,myEntryPrice)){IsEntryThisBar = True;}}If(CrossUnder(Low,fsDonchianLo) && TurtleUnits >= 1){// 开仓价格取突破下轨-一个价位和最低价之间的较大值,这样能更接近真实情况,并能尽量保证成交myEntryPrice = max(low,fsDonchianLo - PriceScale*MinMove);myEntryPrice = IIF(myEntryPrice > Open, Open,myEntryPrice); // 大跳空的时候用开盘价代替If(SellShort(TurtleUnits,myEntryPrice)){IsEntryThisBar = True;}}}If(MarketPosition == 1) // 有多仓的情况{// 求出持多仓时离市的条件比较值ExitLowestPrice = LowestFC(Low[1],teLength);If(Low < ExitLowestPrice){myExitPrice = max(Low,ExitLowestPrice - PriceScale()*MinMove());Sell(0,myExitPrice); // 数量用0的情况下将全部平仓}Else If(IsEntryThisBar){// 当前Bar开过仓的情况,如果Close比myEntryPrice大于1/2N.用收盘价加仓。
If(Close >= myEntryPrice + 0.5 * N && TurtleUnits >= 1){myEntryPrice = myEntryPrice + 0.5 * N;If(Buy(TurtleUnits,myEntryPrice)){SetGlobalVar(0,myEntryPrice);// 保存最后一次开仓的价格}}// 加上止损指令If(Close <= MyEntryPrice - 2 * N){myExitPrice = MyEntryPrice - 2 * N;Sell(0,myExitPrice); // 数量用0的情况下将全部平仓}}Else{preEntryPrice = GetGlobalVar(0); // 取出上一次开仓的价格If(preEntryPrice!=InvalidNumeric && TurtleUnits >= 1){If(Open >= preEntryPrice + 0.5*N) // 如果开盘就超过设定的1/2N,则直接用开盘价增仓。