返回顶部
  • 发帖数10
  • 粉丝0

此人很懒,什么也没有留下

[已解决(普通)] 麻烦老师帮忙写个指标,能写成EA更好

[复制链接]
easytimeLv.1 显示全部楼层 发表于 2018-5-7 20:51:13 |阅读模式 打印 上一主题 下一主题
MA5:MA(CLOSE,5),COLORWHITE;
MA10:MA(CLOSE,10),COLORYELLOW;
MA21:MA(CLOSE,21),COLORMAGENTA;
MA48:MA(CLOSE,48),COLORRED;
MA89:MA(CLOSE,89),COLORGREEN;
MA144:MA(CLOSE,144),COLORBLUE;
年线:MA(CLOSE,288),COLORWHITE;

MA60:=MA(C,60);//60日平均收盘价
最大值:=MAX(MAX(MAX(MA5,MA10),MAX(MA21,MA48)),MAX(MAX(MA89,MA144),年线));//MAX的意思是两个值比较,取大
最小值:=MIN(MIN(MIN(MA5,MA10),MIN(MA21,MA48)),MIN(MIN(MA89,MA144),年线));//MIN的意思是两个值比较,取小
乖离最大值/最小值-1)*100,NODRAW;
IF(MA5>=MA10,MA5,DRAWNULL),LINETHICK2,COLORWHITE;
IF(MA10>=MA21,MA10,DRAWNULL),LINETHICK2,COLORYELLOW;
IF(MA21>=MA48,MA21,DRAWNULL),LINETHICK2,COLORMAGENTA;
IF(MA48>=MA89,MA48,DRAWNULL),LINETHICK2,COLORRED;
IF(MA89>=MA144,MA89,DRAWNULL),LINETHICK2,COLORGREEN;
IF(MA144>=年线,MA144,DRAWNULL),LINETHICK2,COLORBLUE;


多头:=((MA5>REF(MA5,1))+(MA10>REF(MA10,1))+(MA21>REF(MA21,1))+(MA48>REF(MA48,1))+(MA89>REF(MA89,1))+(MA144>REF(MA144,1))+(年线>REF(年线,1)))>=5;
倍量:=V>REF(V,1)*1.9 AND C>O ;
量比:=V/REF(MA(V,5),1)>2 AND C>O ;
千里马:=乖离<8 AND C>=最大值 AND 倍量 AND 量比;
DRAWICON(千里马,L,1);
DRAWTEXT(千里马,最小值*0.98,'FGL');

这是一个股票的指标,只有做多策略。里面取了6条均线的值,并根据 多头的条件满足,给出做多信号。当达到倍量、量比、千里马的条件是,也给出明显的提示。



+10
不赞一个?
回复

使用道具 举报

精彩评论5

easytimeLv.1 显示全部楼层 发表于 2018-5-7 21:59:02
A5_1)=1,否则(MA5<MA5_1)=0,其他括弧都一样
做成EA的话,直接默认用移动止损,200点
+10
不赞一个?
回复

使用道具 举报

easytimeLv.1 显示全部楼层 发表于 2018-5-7 22:00:01

先,取5、10、21、48、89、144、288均线的值,收盘价close,再取60日均线的平均收盘价。
MA5=iMA(NULL,0,5,0,0,PRICE_CLOSE,0)
MA5_1=iMA(NULL,0,5,0,0,PRICE_CLOSE,1)
其他的都类似
定义两个变量,最大值和最小值,
最大值=MAX(MAX(MAX(MA5,MA10),MAX(MA21,MA48)),MAX(MAX(MA89,MA144),MA288));//MAX的意思是两个值比较,取较大的值,MT4好像是用mathmax
最小值=MIN(MIN(MIN(MA5,MA10),MIN(MA21,MA48)),MIN(MIN(MA89,MA144),MA288));//MIN的意思是两个值比较,取小;MT4用mathmin
乖离=(最大值/最小值-1)*100;
这6根MA均线在主图上用不同颜色的线显示出来。
做多=((MA5>MA5_1)+(MA10>MA10_1)+(MA21>MA21_1)+(MA48>MA48_1)+(MA89>MA89_1)+(MA144>MA144_1)+(MA288>MA288_1))>=5;
如果(MA5>MA5_1),则(MA5>MA5_1)=1,否则(MA5>MA5_1)=0,其他括弧都一样

做空=((MA5<MA5_1)+(MA10<MA10_1)+(MA21<MA21_1)+(MA48<MA48_1)+(MA89<MA89_1)+(MA144<MA144_1)+(MA288<MA288_1))>=5;
如果(MA5<MA5_1),则(MA5<MA5_1)=1,否则(MA5<MA5_1)=0,其他括弧都一样
做成EA的话,直接默认用移动止损,200点


+10
不赞一个?
回复

使用道具 举报

easytimeLv.1 显示全部楼层 发表于 2018-5-8 22:08:13
double MA5=iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,0);
   double MA5_1=iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,1);
   double MA10=iMA(NULL,0,10,0,MODE_SMA,PRICE_CLOSE,0);
   double MA10_1=iMA(NULL,0,10,0,MODE_SMA,PRICE_CLOSE,1);
   double MA21=iMA(NULL,0,21,0,MODE_SMA,PRICE_CLOSE,0);
   double MA21_1=iMA(NULL,0,21,0,MODE_SMA,PRICE_CLOSE,1);
   double MA48=iMA(NULL,0,48,0,MODE_SMA,PRICE_CLOSE,0);
   double MA48_1=iMA(NULL,0,48,0,MODE_SMA,PRICE_CLOSE,1);
   double MA89=iMA(NULL,0,89,0,MODE_SMA,PRICE_CLOSE,0);
   double MA89_1=iMA(NULL,0,89,0,MODE_SMA,PRICE_CLOSE,1);
   double MA144=iMA(NULL,0,144,0,MODE_SMA,PRICE_CLOSE,0);
   double MA144_1=iMA(NULL,0,144,0,MODE_SMA,PRICE_CLOSE,1);
   double MA288=iMA(NULL,0,288,0,MODE_SMA,PRICE_CLOSE,0);
   double MA288_1=iMA(NULL,0,288,0,MODE_SMA,PRICE_CLOSE,1);


定义两个函数
int Math_M(double M1,double M2)//比较两个值的大小,如果M1>M2,则=1,否则=0
  {
   int M=0;
   if(M1>0)
      if(M1>M2)M=1;
   return(M);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int Math_X(double X1,double X2)//比较两个值得大小,如果X1<X2,则=1,否则=0
  {
   int X=0;
   if(X1>0)
      if(X1<X2)X=1;
   return(X);
  }
//+------------------------------------------------------------------+

做多条件:(Math_M(MA5,MA5_1)+Math_M(MA10,MA10_1)+Math_M(MA21,MA21_1)+Math_M(MA48,MA48_1)+Math_M(MA89,MA89_1)+Math_M(MA144,MA144_1)+Math_M(MA288,MA288_1))>=5;//7条均线当中,有5条及以上的均线向上,做多

做空条件:(Math_X(MA5,MA5_1)+Math_X(MA10,MA10_1)+Math_X(MA21,MA21_1)+Math_X(MA48,MA48_1)+Math_X(MA89,MA89_1)+Math_X(MA144,MA144_1)+Math_X(MA288,MA288_1))>=5;//7条均线当中,有5条及以上的均线向下,做空

平空条件:(Math_M(MA5,MA5_1)+Math_M(MA10,MA10_1)+Math_M(MA21,MA21_1)+Math_M(MA48,MA48_1))>=3;//4条均线中,有3条及以上的均线向上,平空

平多条件:(Math_X(MA5,MA5_1)+Math_X(MA10,MA10_1)+Math_X(MA21,MA21_1)+Math_X(MA48,MA48_1))>=3;//4条均线中,有3条及以上的均线向下,平多


带移动止损,可以自定义。

开仓手数可调

亏损超过500点加仓1倍,点数和倍数都可以调

当所有多单盈利达到200点(可调)全部多单平掉

当所有空单盈利达到200点(可调)全部空单平掉





+10
不赞一个?
回复

使用道具 举报

zzwyfLv.3 显示全部楼层 发表于 2018-6-1 07:56:30
这个做成指标与标记箭头看下能否应用实盘
+10
不赞一个?
回复

使用道具 举报

唐老师Lv.9 显示全部楼层 发表于 2018-6-22 08:18:33
请按活动说明发推广截图。
代码我没看懂,我觉得你还是把策略写出来更好。
+10
不赞一个?
要有能够持续稳定盈利的交易策略,再进行实盘交易,建议先用历史数据回测和模拟盘进行仔细验证。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

EA邦和EACTP仅为EA程序化交易软件服务供应商,使用EA工具进行交易,在使用前应该清楚的阅读和浏览软件相关的教程,使用软件是一种自发行为,所引发的一切法律后果,包括用户在使用过程中导致的任何损失均与EA软件开发者无关。
  • 微信

  • 微信公众号

  • 微信视频号

  • Powered by Discuz! X3.5 | Copyright © 2017-2024, Tencent Cloud. | EABANG.COM
  • 和仲科技有限公司| 川公网安备 51019002005489号 | 蜀ICP备17026493号