设为首页 收藏本站 切换语言

请教一下各位,我这个函数的问题在哪里?

| 发表于 2024-4-10 18:37:31 | 显示全部楼层 |复制链接
请教一下各位,我这个函数的问题在哪里,只有返回结果等于1和2时才开仓,-1和和-2,不开单,只开多单不开空单,如果空单用返回结果1和2就能开


int signa4()
  {
   int res=0;
   double ev1=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
   double ev2=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,2);
   double ev3=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
   double ev4=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,2);
   if(ev1>0&&ev2<0)//与0轴金叉
     {res=1;}
   if(ev1<0&&ev2>0)//与0轴死叉
     {res=-1;}
   if(0>ev2>ev4&&0>ev3>ev1)//0轴以下金叉
     {res=2;}
   if(0<ev2<ev4&&0<ev3<ev1 )//0轴以上死叉
     {res=-2;}

   return(res);
  }


举报

评论 使用道具

精彩评论7

hq2808
DD
| 发表于 2024-4-10 19:36:04 | 显示全部楼层
0>ev2>ev4代码写法错误,要写出0>ev2 && ev2>ev4
举报

点赞 评论 使用道具

川哥财经
DDD
| 发表于 2024-4-10 19:48:51 | 显示全部楼层
int signa4()
{
    int res = 0;
    double ev1 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 1); // 当前信号线
    double ev2 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 2); // 前一个信号线
    double ev3 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 1); // 当前主线
    double ev4 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 2); // 前一个主线

    // 与0轴金叉
    if (ev3 > ev1 && ev4 < ev2) {
        res = 1;
    }
    // 与0轴死叉
    if (ev3 < ev1 && ev4 > ev2) {
        res = -1;
    }
    // 0轴以下金叉
    if (ev3 > ev1 && ev4 < ev2 && ev3 < 0 && ev1 < 0) {
        res = 2;
    }
    // 0轴以上死叉
    if (ev3 < ev1 && ev4 > ev2 && ev3 > 0 && ev1 > 0) {
        res = -2;
    }

    return res;
}
举报

点赞 评论 使用道具

天下有道
DD
 楼主 | 发表于 2024-4-10 20:30:34 | 显示全部楼层
川哥财经 发表于 2024-4-10 19:48
int signa4()
{
    int res = 0;

谢谢大佬,// 与0轴金叉
    if (ev3 > ev1 && ev4 < ev2) {
        res = 1;
    }
    // 与0轴死叉
    if (ev3 < ev1 && ev4 > ev2) {
        res = -1;
    }

这一段应该是金叉和死叉吧,不是与零轴金叉和死叉吧
举报

点赞 评论 使用道具

天下有道
DD
 楼主 | 发表于 2024-4-10 20:35:05 | 显示全部楼层
hq2808 发表于 2024-4-10 19:36
0>ev2>ev4代码写法错误,要写出0>ev2 && ev2>ev4

谢谢大佬,这个信号线与零轴金叉和死叉是我这样表示吗?
举报

点赞 评论 使用道具

hq2808
DD
| 发表于 2024-4-10 21:02:04 | 显示全部楼层
天下有道 发表于 2024-4-10 20:35
谢谢大佬,这个信号线与零轴金叉和死叉是我这样表示吗?

信号线与主线才有交叉,信号线/主线与零轴只有穿越,没有交叉这一说法
1、ev1>0 && ev2<0这句是信号线由下向上穿越0轴;
2、ev2<ev4 && ev1>ev3 && ev1<0 && ev2<0 && ev3<0 && ev4这句是0轴下方信号线向上交叉主线,就是意义上的0轴下方金叉,要定义好这4个值都是小于0才是0轴下方
举报

点赞 评论 使用道具

aliang9887
C
| 发表于 2024-4-10 22:07:34 | 显示全部楼层
都是高手
举报

点赞 评论 使用道具

ken138888
B
| 发表于 2024-4-11 06:30:07 | 显示全部楼层
都是高手啊
举报

点赞 评论 使用道具

发新帖
EA交易
您需要登录后才可以评论 登录 | 立即注册

简体中文
繁體中文
English(英语)
日本語(日语)
Deutsch(德语)
Русский язык(俄语)
بالعربية(阿拉伯语)
Türkçe(土耳其语)
Português(葡萄牙语)
ภาษาไทย(泰国语)
한어(朝鲜语/韩语)
Français(法语)