OBV系统交易策略(TB版)_第1页
OBV系统交易策略(TB版)_第2页
OBV系统交易策略(TB版)_第3页
OBV系统交易策略(TB版)_第4页
OBV系统交易策略(TB版)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

OBV系统交易策略(TB版)1.策略概述该策略基于**OBV(OnBalanceVolume)**和**MAOBV(MovingAverageofOBV)**指标,结合**PJK移动平均线**,用于判断买入和卖出时机。策略的核心逻辑是通过OBV和MAOBV的趋势变化来捕捉市场的上升或下降趋势,并通过PJK移动平均线进一步确认信号。2.策略组成部分(1)OBV和MAOBV指标的应用-OBVlocal:根据当日收盘价与前一日收盘价的关系调整OBV值。-如果当日收盘价上涨,则OBVlocal增加当日成交量。-如果当日收盘价下跌,则OBVlocal减少当日成交量。-MAOBV:计算OBVlocal的移动平均值,用于平滑OBV的波动,提供更稳定的趋势信号。(2)买入操作的逻辑-当MAOBV上升且当前持仓状态不是多头时,触发买入操作。-买入合约数量根据投资金额和当前市场价格计算,确保风险可控。(3)卖出操作的逻辑-当MAOBV下降且当前持仓状态不是空头时,触发卖出操作。-策略会先卖出所有持有的合约,如果允许做空,还会进一步做空。(4)PJK移动平均线的应用-PJK移动平均线通过过滤小的价格波动,更准确地反映价格趋势。-根据PJK移动平均线的交叉情况,策略会进行买入或卖出操作:-如果当前持仓状态不是多头,且当前周期的平均值大于前一个周期,则买入。-如果当前持仓状态不是空头,且当前周期的平均值小于前一个周期,则卖出。(5)风险管理-每次交易时根据投资金额和市场价格计算合约大小,确保风险可控。-记录每日盈亏情况,计算总盈亏、最大回撤等指标,用于评估策略性能。3.策略特点1.趋势跟踪:通过OBV和MAOBV指标跟踪市场趋势,捕捉长期运动方向。2.灵活配置:提供多个输入参数(如周期长度、最小价格变化等),用户可根据市场情况调整策略。3.风险管理:每次交易时计算合约大小,确保投资金额与风险承受能力匹配。4.策略代码实现(1)策略一代码-基于OBV和MAOBV指标,根据MAOBV的趋势变化决定买入或卖出。-代码逻辑:-计算OBVlocal和MAOBV。-根据MAOBV的上升或下降触发买入或卖出操作。-支持股票和期货交易,根据投资金额和市场价格计算合约大小。(2)策略二代码-引入PJK移动平均线,进一步确认买入或卖出信号。-代码逻辑:-计算PJK移动平均线。-根据PJK移动平均线的交叉情况触发买入或卖出操作。-支持股票和期货交易,记录每日盈亏和回撤情况。5.风险与优化-风险*:策略依赖于OBV和MAOBV的趋势判断,可能在市场震荡时表现不佳。-优化方向:-调整OBV和MAOBV的周期长度。-结合其他技术指标(如RSI、MACD)进一步优化信号。-增加止损和止盈机制,降低回撤风险。该策略通过**BV和MAOBV指标**以及**PJK移动平均线**捕捉市场趋势,适用于趋势跟踪交易。策略具有灵活配置和风险管理的特点,适合中长期交易者使用。策略一代码(TB版)Params:period(60),//MAOBV的周期长度minpricechange(0),//最小价格变化longonly(True),//只做多头策略usefutures(False);//是否使用期货Vars:stockinvestment(10000),//股票投资金额futuresinvestment(25000),//期货投资金额investment(0),//投资金额MAOBV(0),//MAOBV值size(0),//合约大小OBVlocal(0);//OBVlocal值//计算OBVlocalIfClose>Close[1]+minpricechangeThenOBVlocal=OBVlocal[1]+Volume;ElseIfClose<Close[1]-minpricechangeThenOBVlocal=OBVlocal[1]-Volume;ElseOBVlocal=OBVlocal[1];//计算MAOBVMAOBV=Average(OBVlocal,period);//买入逻辑IfMAOBV>MAOBV[1]andMarketPosition<>1ThenBeginIfusefuturesThensize=futuresinvestment/(AvgTrueRange(20)*BigPointValue);Elsesize=stockinvestment/Close;Buy(size);//买入size个合约End;//卖出逻辑IfMAOBV<MAOBV[1]andMarketPosition<>-1ThenBeginSell(CurrentContracts);//卖出所有合约IfNotlongonlyThenShort(size);//做空size个合约End;策略二代码(TB版Params:period(80),//计算周期minPCmove(0),//最小价格变化crossoption(0),//交叉选项longonly(False),//只做多头策略usestocks(True),//是否使用股票usefutures(False),//是否使用期货printfiles(False);//是否打印文件Vars:size(0),//合约大小investment(0),//投资金额ATRper(20),//ATR周期atrange(0),//ATR值adate(""),//日期字符串equity(0),//净资产PL(0),//利润变化PLlong(0),//多头利润PLshort(0),//空头利润dailyreturn(0),//每日回报NAV(100),//净资产价值volper(20),//波动率周期returns(0),//回报率firstNAV(0),//首次NAVAROR(0),//年化回报率peak(0),//峰值drawdown(0),//回撤maxdd(0),//最大回撤filename("");//文件名Array:adjprices[10000](0),//调整后的价格数组avg[10000](0);//平均值数组Vars:np(0),//数组索引sum(0),//累加和ix(0);//循环索引//初始化IfCurrentBar=1ThenBeginIfusestocksTheninvestment=stockinvestmentElseinvestment=futuresinvestment;adjprices[1]=Close;np=1;End;//创建移动平均线IfCurrentBar<>1ThenBeginIfClose/Close[1]-1>minPCmoveThenBeginnp=np+1;adjprices[np]=Close;End;End;//计算移动平均线sum=0;Ifnp>periodThenBeginForix=np-period+1TonpBeginsum=sum+adjprices[ix];End;avg[np]=sum/period;End;//计算合约大小IfusefuturesThenBeginatrange=AvgTrueRange(ATRper);Ifatrange=0Thensize=0Elsesize=investment/(atrange*BigPointValue);End;IfusestocksThensize=investment/Close[1];//设置信号Ifcrossoption=0ThenBeginIfMarketPosition<>1Andavg[np]>avg[np-1]ThenBeginBuyToCover(CurrentContracts);//买入所有合约Buy(size);//买入size个合约EndElseIfMarketPosition<>-1Andavg[np]<avg[np-1]ThenBeginSell(CurrentContracts);//卖出所有合约IfNotlongonlyThenShort(size);//做空size个合约End;End;Ifcrossoption=1ThenBeginIfMarketPosition<>1AndClose>=avg[np]ThenBeginBuyToCover(CurrentContracts);//买入所有合约Buy(size);//买入size个合约EndElseIfMarketPosition<>-1AndClose<avg[np]ThenBeginSell(CurrentContracts);//卖出所有合约IfNotlongonlyThenShort(size);//做空size个合约End;End;//计算净资产和回撤IfLastBarOnChartThenBeginIfMarketPosition>0ThenSell(CurrentContracts);//卖出所有合约ElseIfMarketPosition<0ThenBuyToCover(CurrentContracts);//买入所有合约以对冲空头头寸equity=NetProfit+OpenPositionProfit;PL=equity-equity[1];dailyreturn=0;Ifinvestment<>0Thendailyreturn=PL/investment;NAV=NAV*(1+dailyreturn);peak=MaxList(peak,NAV);drawdown=NAV/peak-1;maxdd=MinList(maxdd,drawdown);IfMarketPosition>0ThenPLlong=PLlong+PLElseIfMarketPosition<0ThenPLshort=PLshort+PL;IffirstNAV=0Anddailyreturn<>0ThenfirstNAV=CurrentBar;//打印文件IfprintfilesThenBeginadate=ELDateToString(Date);IfCurrentBar=1ThenBeginPrintToFile("c:\\tradestation\\Trend_with_minmove_PL.csv","Date,Shares,DailyPL");PrintToFile("c:\\tradestation\\Trend_with_minmove_NAVs.csv","Date,NAVs");PrintToFile("c:\\tradestation\\Trend_with_minmove_Detail.csv","Date,Open,High,Low,Cl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论