十大经典日内策略之菲阿里四价(附源码分享)-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 考研考博>>

考研

>>

十大经典日内策略之菲阿里四价(附源码分享)

十大经典日内策略之菲阿里四价(附源码分享)

发布:zhouwenzi | 分类:考研

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

经管之家新媒体交易平台

提供"微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯"等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

提供微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

继上次的RangeBreak,今天为大家介绍第二个十大经典日内策略——菲阿里四价策略。菲阿里四价仍然是依据昨日的价格情况,确定今天的交易通道。上轨=昨日最高价;下轨=昨日最低价。入场条件:和RangeBreak类似,价格突 ...
坛友互助群


扫码加入各岗位、行业、专业交流群


继上次的RangeBreak,今天为大家介绍第二个十大经典日内策略——菲阿里四价策略。菲阿里四价仍然是依据昨日的价格情况,确定今天的交易通道。上轨=昨日最高价;下轨=昨日最低价。
入场条件:和RangeBreak类似,价格突破上轨做多,价格突破下轨做空。但是为了考虑行情的影响,加入MA作为时间过滤。
出场条件:为表示LZ为懒惰的人,反手出场。同时,收盘前,主动出场。
下为源代码:
  1. function feialiMA(freq)%
  2. targetList = traderGetTargetList();
  3. %获取目标资产信息
  4. HandleList = traderGetHandleList();
  5. %获取账户句柄
  6. for k=1:length(targetList);
  7. %--------------------仓位、K线、当前bar的提取-----------------------------%
  8. %获取当前仓位
  9. [marketposition,~,~]=traderGetAccountPosition(HandleList(1),targetList(k).Market,targetList(k).Code);
  10. %策略中每次取数据的长度
  11. lags=40;
  12. dlags=31;
  13. barnum=traderGetCurrentBar(targetList(k).Market,targetList(k).Code);
  14. %数据长度限制
  15. if(barnum<lags)
  16. continue;
  17. end
  18. %获取K线数据
  19. [time,open,high,low,close,volume,~,~] = traderGetKData(targetList(k).Market,targetList(k).Code,'min',freq, 0-lags, 0,false,'FWard');
  20. [Dtime,Dopen,Dhigh,Dlow,Dclose,Dvolume,~,~] = traderGetKData(targetList(k).Market,targetList(k).Code,'day',1, 0-dlags, 0,false,'FWard');
  21. if length(close)<lags || length(Dclose)<dlags
  22. continue;
  23. end;

  24. %--------------------- 止损/入场条件计算 ------------------------------------%
  25. %计算出场时间
  26. gettime=datevec(time);
  27. numtime=gettime(end,4)*100+gettime(end,5);
  28. cont=0;
  29. if numtime>=0900&&numtime<1400||numtime>=2100&&numtime<=2400||numtime>0000&&numtime<0100
  30. cont=1;
  31. end
  32. upline=Dhigh(end-1);%上轨
  33. dnline=Dlow(end-1);%今日下轨
  34. MA30=MA(Dclose,30);
  35. buycon=close(end)>upline && cont&&close(end)>MA30(end); % 突破range上轨道做多(每天只做一手)
  36. sellshortcon=close(end)<dnline && cont&&close(end)<MA30(end);% 突破 range下轨道做空(每天只做一手)
  37. shareNum=10;
  38. %--------------------------------------仓位操作-----------------%
  39. %-----------------入场--------------------------%
  40. ifmarketposition==0
  41. if buycon
  42. order=traderBuy(HandleList(1),targetList(k).Market,targetList(k).Code,shareNum,0,'market','buy');%开多单
  43. elseif sellshortcon
  44. order=traderSellShort(HandleList(1),targetList(k).Market,targetList(k).Code,shareNum,0,'market','sellshort');%开空单
  45. end
  46. end
  47. if cont~=0
  48. %------------------------------多头出场----------------------------%
  49. if marketposition>0
  50. ifsellshortcon
  51. traderPositionTo(HandleList(1),targetList(k).Market,targetList(k).Code,0,0,'market','sell');
  52. end
  53. end
  54. if marketposition<0
  55. if buycon
  56. traderPositionTo(HandleList(1),targetList(k).Market,targetList(k).Code,0,0,'market','sell');
  57. end
  58. end
  59. end
  60. %-------------------------------------------------------------日内平仓-----------------------------------%
  61. if cont==0
  62. traderPositionTo(HandleList(1),targetList(k).Market,targetList(k).Code,0,0,'market','sell');
  63. end
  64. end
  65. end


  66. function MAValue=MA(Price,Length)
  67. MAValue=zeros(length(Price),1);
  68. for i=Length:length(Price)
  69. MAValue(i)=sum(Price(i-Length+1:i))/Length;
  70. end
  71. MAValue(1:Length-1)=Price(1:Length-1);
  72. end


  73. %----------------------------------分割线--下为另一个.m文件-----------------------%

  74. %回测启动函数
  75. clear
  76. clc;
  77. %-----------获取targetList-----------------%
  78. targetList(1).Code = 'hc0000';
  79. targetList(1).Market ='SHFE';

  80. freq=10;%回测频率
  81. %-------------------参数设定与全局变量----------------------%
  82. %-----------------------回测----------------------------------%
  83. % 在回测时设置初始资本10000000000元、手续费率0.000026、无风险利率0.02、滑价0、默认1下一个bar的开盘价、默认0成交价、默认0直接成交
  84. % traderSetBacktest(1000000,0.000026,0.02,0,1,0,0);
  85. AccountList(1) = {'FutureBackReplay'};
  86. traderRunBacktest('feialiMA',@feialiMA,{freq},AccountList,targetList,'min',freq,20120101,20160615,'FWard');
复制代码下为策略表现:
行情图及下单情况:
多头表现情况:
空头表现情况:
权益曲线情况:
策略绩效:
改为非日内策略的效果:
多头表现:
空头表现:
权益曲线表现:
策略绩效:
扫码或添加微信号:坛友素质互助


「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:

本文论坛网址:https://bbs.pinggu.org/thread-4948468-1-1.html

人气文章

1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
经管之家 人大经济论坛 大学 专业 手机版