文章 "开发 EA 构造函数的一次尝试" - 页 3

 
文章很好,质量很高。谢谢你,它让我更容易理解如何构建 EA。
 
vjqgfhjkm #:
文章很好,质量很高。谢谢,这让我更容易理解如何构建 EA。

我明白了,我只是被信号的名称弄糊涂了。总的来说,如果您对这篇文章感兴趣--提出问题,分享您的代码。

 

您好!


您能告诉我如何使用您的构造函数来设置止损和止盈,而不是以固定点设置,而是以我需要的价格设置吗?另外,从文章中也看不出如何在我需要的价格下挂单(例如限价单)。价格到底在哪里设置?

 
Viktor Kudriavtsev 挂单(例如限价单)。价格在哪里设定?

在信号块的末尾,有用于挂单的注释行:

//---
   /*if(InpPendingOnlyOne)
 if(IsPendingOrdersExists())
 return(true);
 if(InpPendingClosePrevious)
 m_need_delete_all=true;
 int size_need_pending=ArraySize(SPending);
 ArrayResize(SPending,size_need_pending+1);
 if(!InpPendingReverse)
 SPending[size_needed_pending].pending_type=ORDER_TYPE_BUY_STOP;
 else
 SPending[size_needed_pending].pending_type=ORDER_TYPE_SELL_STOP;
 SPending[size_needed_pending].缩进=m_pending_indent;
 if(InpPendingExpiration>0)
 SPending[size_needed_pending].expiration=(long)(InpPendingExpiration*60);
 if(InpPrintLog)
 Print(__FILE__," ",__FUNCTION__,", OK: ", "Signal BUY STOP");*/
//---
   return(true);
  }
 
suhas jetithor #:
真的,先生,您做了一个非常棒的软件,它对新手交易者非常有用。当我看到我的交易量与日俱增时,我非常高兴。
但是,您没有为客户安装取款选项,因此公司在欺骗那些可怜的客户。
我使用你们的软件赚了 577 美元,但公司不回复我的电话和电子邮件。所以我的钱都被卡在你们的软件里了。
因此,在授权处理软件的公司时,建议他们不要欺骗穷人。
致敬
希望最好
 
suhas jetithor #:
真的,先生,您做了一个非常棒的软件,它对新手交易者非常有用。当我看到我的交易量与日俱增时,我非常高兴。
但是,您没有为客户安装取款选项,因此公司在欺骗那些可怜的客户。
我使用你们的软件赚了 577 美元,但公司不回复我的电话和电子邮件。所以我的钱都被卡在你们的软件里了。
因此,在授权处理软件的公司时,建议他们不要欺骗穷人。
致敬
希望最好

您的钱并没有卡在软件中,而是在您的经纪人的交易账户中。

您应该联系您的经纪人及其监管机构,以获得帮助。

不要混淆 MQL5.com 和您的经纪商,它们是两码事。

 
亲爱的弗拉基米尔-卡尔普托夫,感谢您提供有关 EA 编码的新想法并与我们分享;新年快乐!
 
感谢分享,干得好
 

亲爱的弗拉基米尔 - 卡尔普托夫

衷心感谢 您的工作和对社区的参与。


PendingOrder 挂单 )函数中,如果为挂单 设置了自定义交易量,EA 将无法打开挂单,因为free_margin_check 计算错误,因为check_order_type = -1。

   ENUM_ORDER_TYPE check_order_type=-1;
   double check_price=0.0;
   if(SPending[index].volume>0.0)
      check_lot=SPending[index].volume;
   else
     {
      //--- 在发送订单前检查交易量,以避免出现 "资金不足 "错误 (CTrade)
      switch(SPending[index].pending_type)
        {
         case  ORDER_TYPE_BUY:
            check_order_type=ORDER_TYPE_BUY;
            break;
         case ORDER_TYPE_SELL:
            check_order_type=ORDER_TYPE_SELL;
            break;
         case ORDER_TYPE_BUY_LIMIT:
            check_order_type=ORDER_TYPE_BUY;
            break;
         case ORDER_TYPE_SELL_LIMIT:
            check_order_type=ORDER_TYPE_SELL;
            break;
         case ORDER_TYPE_BUY_STOP:
            check_order_type=ORDER_TYPE_BUY;
            break;
         case ORDER_TYPE_SELL_STOP:
            check_order_type=ORDER_TYPE_SELL;
            break;
         default:
            return(false);
            break;
        }
      //--- 
      //...
     }
//...
//--- 在发送订单前检查交易量,以避免出现 "资金不足 "错误 (CTrade)
   double free_margin_check=m_account.FreeMarginCheck(m_symbol.Name(),
                            check_order_type,check_lot,check_price);


开关应在外部。

无论如何,感谢您分享此工具


 
Mike Pascal Plavonil 挂单 设置了自定义交易量,EA 将无法打开挂单,因为free_margin_check 计算错误,因为check_order_type = -1。


开关应在外部。

无论如何,感谢您分享此工具


谢谢,Trading engine 4 代码("4.012 "版本)已做更改。