📅 财经日历 📊 实时波动 📈 大盘云图 📶 行情走势 🆚 投机情绪 🚀 今日热点

    我写的这个ea逻辑问题在哪里呢

    2019-03-10 · 2186 阅读
    如图是我写的部分代码,实现功能是:
    在开仓前,比对持仓订单的开仓价格和现价的价差,

    如果差距在3000个点之内,本次即使符合条件也不开仓了。


    但是现在跑出来好像一点效果也没有,不知道能否有大神指点下是哪里出了问题!

    不胜感谢!!!
    QQ图片20190310181122.png
    ""
    还没有人打赏,支持一下
    回复

    举报

     

    回答|共 10 个

    红心大蜜柚 LV3

    发表于 2019-3-10 21:47:42 | 显示全部楼层

    晚上有大神吗

    mary1331 LV9

    发表于 2019-3-10 23:23:20 | 显示全部楼层

    试下这个 extern int        PriceDistance     = 300;
                   if (Ordertype==OP_BUY)
                     {
                    if (Bid-OrderOpenPrice() >PriceDistance  *point,Digits);
    类似这样的

    zoonily LV3

    发表于 2019-3-10 23:41:20 | 显示全部楼层

    如果你的OrderOpenPrice()没问题,那么替换你的if语句试试
    if (Ordertype==OP_BUY)
      {
       if(MathAbs(OrderOpenPrice()-Bid)<3000*Point )
         Duokai=false;
      }
       

    红心大蜜柚 LV3

    发表于 2019-3-11 00:15:02 | 显示全部楼层

    本帖最后由 红心大蜜柚 于 2019-3-11 00:17 编辑
    mary1331 发表于 2019-3-10 23:23
    试下这个 extern int        PriceDistance     = 300;
                   if (Ordertype==OP_BUY)
           ...

    感谢大神深夜回复,可惜我按照您指点的试了一下,还是没奏效。
    目前感觉的问题是,我开始设置的全局参数Duokai和Kongkai,在后面的计算函数里,没有被正确赋值。

    没有被正确赋值的原因是否跟我引用的函数方法有问题?还是要在if后面加return?

    另外可能的问题是不是OrderOpenPrice()-Bid这个计算出来不是point呢,跟后面的300无法形成比较,才会导致后面的赋值无法生效?

    如有时间,烦请再帮忙看看。

    实现的诉求就是,例如现在奥美价格是0.79000,持单中有一个开仓价是0.79100,那么即使现在符合开仓条件,也不进行开仓了,主要是为了规避震荡行情。

    红心大蜜柚 LV3

    发表于 2019-3-11 00:17:02 | 显示全部楼层

    zoonily 发表于 2019-3-10 23:41
    如果你的OrderOpenPrice()没问题,那么替换你的if语句试试
    if (Ordertype==OP_BUY)
      {

    感谢大神深夜回复,可惜我按照您指点的试了一下,还是没奏效。

    目前感觉的问题是,我开始设置的全局参数Duokai和Kongkai,在后面的计算函数里,没有被正确赋值。

    没有被正确赋值的原因是否跟我引用的函数方法有问题?还是要在if后面加return?

    另外可能的问题是不是OrderOpenPrice()-Bid这个计算出来不是point呢,跟后面的300无法形成比较,才会导致后面的赋值无法生效?

    如有时间,烦请再帮忙看看。

    实现的诉求就是,例如现在奥美价格是0.79000,持单中有一个开仓价是0.79100,那么即使现在符合开仓条件,也不进行开仓了,主要是为了规避震荡行情。

    红心大蜜柚 LV3

    发表于 2019-3-11 10:27:22 | 显示全部楼层

    求大神继续指点下

    红心大蜜柚 LV3

    发表于 2019-3-11 13:46:43 | 显示全部楼层

    来个大哥帮忙看看啊

    红心大蜜柚 LV3

    发表于 2019-3-11 16:09:17 | 显示全部楼层

    没人了吗。。自己顶下

    zoonily LV3

    发表于 2019-3-11 21:19:05 | 显示全部楼层

    都告诉你了,自己检查去
    "a<b<c"是错误的,不可以这样写,按下面逻辑
    if(多信号)
    if(MathAbs(lastopsell-Ask)>1000*Point)
      {for。。。。。}//for循环,选择订单执行
      关闭空单;
      buy(。。。)//开多
      buytime=Time[0];
      lastopbuy=OrderOpenPrice();//这两个设全局变量就可以了
    空。。。照上面来
    12下一页
    您需要登录后才可以回帖 登录 | 注册

    提醒: 禁止引战、谩骂、灌水内容

    微信二维码

    有问题联系客服