首页 海龟交易法则的程序化代码及注解

海龟交易法则的程序化代码及注解

举报
开通vip

海龟交易法则的程序化代码及注解海龟交易法那么的程序化代码及注解LtD海龟交易法那么的程序化代码及注解//————————————————————————//简称:TurtleTrader//名称:海龟交易系统//类别:公式应用//类型:内建应用//————————————————————————ParamsNumericRiskRatio(1);//%RiskPerN(0–100)NumericATRLength(20);//平均波动周期ATRLengthNumericboLength(20);//短周期BreakOutLengthNumeri...

海龟交易法则的程序化代码及注解
海龟交易法那么的程序化代码及注解LtD海龟交易法那么的程序化代码及注解//————————————————————————//简称:TurtleTrader//名称:海龟交易系统//类别:公式应用//类型:内建应用//————————————————————————ParamsNumericRiskRatio(1);//%RiskPerN(0–100)NumericATRLength(20);//平均波动周期ATRLengthNumericboLength(20);//短周期BreakOutLengthNumericfsLength(55);//长周期FailSafeLengthNumericteLength(10);//离市周期TrailingExitLengthBoolLastProfitableTradeFilter(True);//使用入市过滤条件VarsNumericMinPoint;//最小变动单位NumericSeriesAvgTR;//ATRNumericN;//N值NumericTotalEquity;//按最新收盘价计算出的总资产NumericTurtleUnits;//交易单位NumericSeriesDonchianHi;//唐奇安通道上轨,延后1个BarNumericSeriesDonchianLo;//唐奇安通道下轨,延后1个BarNumericSeriesfsDonchianHi;//唐奇安通道上轨,延后1个Bar,长周期NumericSeriesfsDonchianLo;//唐奇安通道下轨,延后1个Bar,长周期NumericExitHighestPrice;//离市时判断需要的N周期最高价NumericExitLowestPrice;//离市时判断需要的N周期最低价NumericmyEntryPrice;//开仓价格NumericmyExitPrice;//平仓价格BoolSendOrderThisBar(False);//当前Bar有过交易NumericSeriespreEntryPrice(0);//前一次开仓的价格BoolSeriesPreBreakoutFailure(false);//前一次突破是否失败BeginIf(BarStatus==0){preEntryPrice=InvalidNumeric;PreBreakoutFailure=false;}MinPoint=MinMove*PriceScale;AvgTR=XAverage(TrueRange,ATRLength);N=AvgTR[1];TotalEquity=Portfolio_CurrentCapital()+Portfolio_UsedMargin();TurtleUnits=(TotalEquity*RiskRatio/100)/(N*ContractUnit()*BigPointValue());TurtleUnits=IntPart(TurtleUnits);//对小数取整DonchianHi=HighestFC(High[1],boLength);DonchianLo=LowestFC(Low[1],boLength);fsDonchianHi=HighestFC(High[1],fsLength);fsDonchianLo=LowestFC(Low[1],fsLength);ExitLowestPrice=LowestFC(Low[1],teLength);ExitHighestPrice=HighestFC(High[1],teLength);Commentary(“N=〞+Text(N));Commentary(“preEntryPrice=〞+Text(preEntryPrice));Commentary(“PreBreakoutFailure=〞+IIFString(PreBreakoutFailure,〞True〞,〞False〞));//当不使用过滤条件,或者使用过滤条件并且条件为PreBreakoutFailure为True进行后续操作If(MarketPosition==0&&((!LastProfitableTradeFilter)Or(PreBreakoutFailure))){//突破开仓If(High>DonchianHi&&TurtleUnits>=1){//开仓价格取突破上轨+一个价位和最高价之间的较小值,这样能更接近真实情况,并能尽量保证成交myEntryPrice=min(high,DonchianHi+MinPoint);myEntryPrice=IIF(myEntryPrice=1){//开仓价格取突破下轨-一个价位和最低价之间的较大值,这样能更接近真实情况,并能尽量保证成交myEntryPrice=max(low,DonchianLo–MinPoint);myEntryPrice=IIF(myEntryPrice>Open,Open,myEntryPrice);//大跳空的时候用开盘价代替preEntryPrice=myEntryPrice;SendOrderThisBar=True;SellShort(TurtleUnits,myEntryPrice);SendOrderThisBar=True;PreBreakoutFailure=False;}}//长周期突破开仓FailsafeBreakoutpointIf(MarketPosition==0){Commentary(“fsDonchianHi=〞+Text(fsDonchianHi));If(High>fsDonchianHi&&TurtleUnits>=1){//开仓价格取突破上轨+一个价位和最高价之间的较小值,这样能更接近真实情况,并能尽量保证成交myEntryPrice=min(high,fsDonchianHi+MinPoint);myEntryPrice=IIF(myEntryPrice=1){//开仓价格取突破下轨-一个价位和最低价之间的较大值,这样能更接近真实情况,并能尽量保证成交myEntryPrice=max(low,fsDonchianLo–MinPoint);myEntryPrice=IIF(myEntryPrice>Open,Open,myEntryPrice);//大跳空的时候用开盘价代替preEntryPrice=myEntryPrice;SellShort(TurtleUnits,myEntryPrice);SendOrderThisBar=True;PreBreakoutFailure=False;}}If(MarketPosition==1)//有多仓的情况{Commentary(“ExitLowestPrice=〞+Text(ExitLowestPrice));If(LowOpen,Open,myExitPrice);//大跳空的时候用开盘价代替Sell(0,myExitPrice);//数量用0的情况下将全部平仓}Else{If(preEntryPrice!=InvalidNumeric&&TurtleUnits>=1){If(Open>=preEntryPrice+0.5*N)//如果开盘就超过设定的1/2N,那么直接用开盘价增仓。{myEntryPrice=Open;preEntryPrice=myEntryPrice;Buy(TurtleUnits,myEntryPrice);SendOrderThisBar=True;}while(High>=preEntryPrice+0.5*N)//以最高价为标准,判断能进行几次增仓{myEntryPrice=preEntryPrice+0.5*N;preEntryPrice=myEntryPrice;Buy(TurtleUnits,myEntryPrice);SendOrderThisBar=True;}}//止损指令If(Low<=preEntryPrice–2*N&&SendOrderThisBar==false)//加仓Bar不止损{myExitPrice=preEntryPrice–2*N;Sell(0,myExitPrice);//数量用0的情况下将全部平仓PreBreakoutFailure=True;}}}ElseIf(MarketPosition==-1)//有空仓的情况{//求出持空仓时离市的条件比拟值Commentary(“ExitHighestPrice=〞+Text(ExitHighestPrice));If(High>ExitHighestPrice){myExitPrice=Min(High,ExitHighestPrice+MinPoint);myExitPrice=IIF(myExitPrice=1){If(Open<=preEntryPrice–0.5*N)//如果开盘就超过设定的1/2N,那么直接用开盘价增仓。{myEntryPrice=Open;preEntryPrice=myEntryPrice;SellShort(TurtleUnits,myEntryPrice);SendOrderThisBar=True;}while(Low<=preEntryPrice–0.5*N)//以最低价为标准,判断能进行几次增仓{myEntryPrice=preEntryPrice–0.5*N;preEntryPrice=myEntryPrice;SellShort(TurtleUnits,myEntryPrice);SendOrderThisBar=True;}}//止损指令If(High>=preEntryPrice+2*N&&SendOrderThisBar==false)//加仓Bar不止损{myExitPrice=preEntryPrice+2*N;BuyToCover(0,myExitPrice);//数量用0的情况下将全部平仓PreBreakoutFailure=True;}}}End//————————————————————————//编译版本GS2023.12.08//版权所有TradeBlazerSoftware2003-2023//更改声明TradeBlazerSoftware保存对TradeBlazer平//台每一版本的TradeBlazer公式修改和重写的权利//————————————————————————
本文档为【海龟交易法则的程序化代码及注解】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
诸神不夜
暂无简介~
格式:doc
大小:37KB
软件:Word
页数:20
分类:
上传时间:2023-05-29
浏览量:8