新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1354

 
Aleksey Verbin:

你好,我有一个问题。

我有象形文字而不是俄罗斯字母。我试着改变区域设置,但没有帮助你知道什么工作方法吗?

在哪里?
 

大家晚上好!

我的EA中出现了一个情况。专家顾问并不决定交易是否在一个符号中。

我不知道如何修复它,因为我想让它分析某个符号的交易。我希望它能更准确!我找不到这个函数((!)。

我试图写一个这样的函数。

如果(OrderSymbol() != "EURUSD")

{

......

}

 
михаил мосинзов:

大家晚上好!

我的EA中出现了一个情况。专家顾问并不决定交易是否在一个符号中。

我不知道如何修复它,因为我想让它分析某个符号的交易。我希望它能更准确!我找不到这个函数((!)。

我试图写一个这样的函数。

如果(OrderSymbol() != "EURUSD")

{

......

}

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 06.03.2008                                                     |
//|  Описание : Возвращает флаг существования позиций                          |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//|    ot - время открытия             ( 0   - любое время открытия)           |
//+----------------------------------------------------------------------------+
bool ExistPositions(string sy="", int op=-1, int mn=-1, datetime ot=0) {
  int i, k=OrdersTotal();
 
  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (ot<=OrderOpenTime()) return(True);
            }
          }
        }
      }
    }
  }
  return(False);
}
 
михаил мосинзов:

大家晚上好!

我的EA中出现了一个情况。专家顾问并不决定交易是否在一个符号中。

我不知道如何修复它,因为我想让它分析某个符号的交易。我希望它能更准确!我找不到这个函数((!)。

我试图写一个这样的函数。

如果(OrderSymbol() != "EURUSD")

{

......

}

循环检查每个订单的魔法和符号

...你是用什么语言写的EA,MQL4还是MQL5?

 
该功能的资源密集程度如何
 Sleep() 

在服务中希望每小时运行一次,这是否是正确的解决方案,还是做其他事情更好?

 

为什么终端不对所有的蜱虫进行核算?

datetime st = 0;
int tics = 0;

//---------------------------------------------------------

ArraySetAsSeries(time,true);
   ArraySetAsSeries(tick_volume,true);
   
   if(prev_calculated == 0) st = time[0];
   
   else if(time[0] != st)
     {
      tics++;
      Alert("T - ",tics," TV - ",tick_volume[0]);
     };


只是我写了一大堆计算的画布,对我来说,知道有多少点被计算/遗漏很重要。

* 这一点很重要,因为这是一个黄牛党的策略。

 
BillionerClub:
该功能的资源密集程度如何

在服务中希望每小时运行一次? 这是正确的解决方案,还是做其他事情更好?

最好如下

if(TimeMinute(time[i])==0)
 

大家好!我在上面的某个地方问过,我是否必须取消对新条形的检查,以使EA能在点上执行?有人告诉我,所有的东西都应该用虱子来检查,以便进行真正的贸易。在这方面,我有以下问题。如果真正的交易将按点位执行,那么现在就以这种方式开立订单。

void OnTick()
{
//--- АО БАЙ--

   /*УСЛОВИЕ 1*/
   if(flag_screen1==en_vbIkl_screen1 &&flag_screen2==en_vbIkl_screen2)
   { // НАЧАЛО УСЛОВИЕ 1
   if(ao_buy!=EMPTY_VALUE && count_orders_market_buy ==0)
   {
    if(OrderSend(Symbol(),OP_BUY,lot,Ask,slippages,Bid-sl,Bid+tp ,comment_ao_market_buy)) Print("Buy Open"); // ОТКРЫВАЕМ БАЙ ОРДЕР
   }
   } // КОНЕЦ УСЛОВИЕ1


}

事实证明,如果出了问题,我的专家顾问会在每一个刻度上 猛击服务器,我的账户会因为我不能很好地理解它而直接断开自动交易的连接。我应该做什么样的检查,我应该如何做,以便如果我犯了错误或发生了不好的事情,我的EA不会捣毁服务器,我也不会因为这样的事情被禁止?请告诉我这个检查的本质是什么,以及它是如何工作的,然后把带有注释的代码发给我。P / S请不要通过有知识的人,和相同的帮助兄弟的圣杯dopilivit;-)Oh_o))))))))

 
DanilaMactep:

大家好!我在上面的某个地方问过,为了让EA按点执行,我是否必须取消对新条的检查?有人告诉我,所有的东西都应该用虱子来检查,以便进行真正的贸易。在这方面,我有以下问题。如果真正的交易将按点位执行,那么现在就以这种方式开立订单。

事实证明,如果出了问题,我的专家顾问会在每一个刻度上 猛击服务器,我的账户会因为我不能很好地理解它而直接断开自动交易的连接。我必须做什么样的检查,以及如何做,以便如果我犯了错误或发生了不好的事情,我的EA不会捣毁服务器,我也不会因为这样的事情被禁止?请告诉我这个检查的本质是什么,以及它是如何工作的,然后把带有注释的代码发给我。P / S请不要通过有知识的人,和相同的帮助兄弟的圣杯dopilivit;-)Oh_o))))))))

首先,确定当条件出现时,你需要打开多少个订单

如何计算

count_orders_market_buy 
 
DanilaMactep:

我在上面的某个地方问过,是否有必要去掉对新条形的检查,以使所有的东西都能在ticks上执行?

不,它没有。正如你为演示所做的那样,所以使用它。确保你的EA正确发送交易指令,并正确响应服务器错误代码。

原因: