[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 429

 
Dimka-novitsek:

日安!!!。我一定是误解了关于数组或其他方面的内容。该函数没有在数组中放入利润!!。在所有情况下都是零。零,就是这样!

int Orderasthitaem[6][3];
void Orderasthitaem()
{
 int BUY = 0, SELL = 0, BUYLIMIT = 0, BUYSTOP = 0, SELLLIMIT = 0, SELLSTOP = 0;
 double BUY_Profit = 0, SELL_Profit = 0;
 for (int i = 0; i < OrdersTotal(); i++)
  {
   OrderSelect(i, SELECT_BY_POS);  
   if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magicnumber)
    {            
     int type = OrderType();
     if (type == 0) {BUY++; BUY_Profit = BUY_Profit + OrderProfit();}
     if (type == 1) {SELL ++; SELL_Profit = SELL_Profit + OrderProfit();}
     if (type == 2) {BUYLIMIT++;}
     if (type == 3) {SELLLIMIT++;}
     if (type == 4) {BUYSTOP++;}
     if (type == 5) {SELLSTOP++;}}}
       
     Orderasthitaem[0][1] = BUY;
     Orderasthitaem[0][2] = BUY_Profit;
     Orderasthitaem[1][1] = SELL;
     Orderasthitaem[1][2] = SELL_Profit;
     Orderasthitaem[2][1] = BUYLIMIT;
     Orderasthitaem[3][1] = SELLLIMIT;
     Orderasthitaem[4][1] = BUYSTOP;
     Orderasthitaem[5][1] = SELLSTOP;        
    }
  }
}
职能。

该段是在所有功能之外。

 
谢谢你!!!。
 

为什么是int这样的数组?如果利润是零碎的,但我不认为这有什么意义...是的,显然不需要降压!

我现在要重新定义它,并给它一个机会。但是,这是否会带来变化?为什么没能成功?我可以试一试...

 
ruslanchik:
如果订单票存储在经纪人的服务器上,那么马吉克和评论订单存储在哪里?

在经纪人的服务器上。
 
啊,我知道你在给数组元素 赋值什么了。是的,谢谢!!!!!!!!
 
你好,我正在学习Sergey Kovalev的MQL4教程,我还没有找到如何访问其他货币对的时间序列数组。也就是说,我需要将几个货币对的 时间序列数组加载到一个EA中。我知道有些数据可以用MarketInfo()函数访问,但问题是请求的ID不包含收盘价或其他价格系列的参数。请告诉我在哪里可以读到如何用数组-时间序列和几个仪器组织工作(如果有的话),或者如何规避这个限制。
 
我还没有实际编译或尝试任何东西,只是在看。塔克,重点是退出循环时,BUY_Profit的值和变量的值没有被保存,对吗?程序是按顺序执行的,还是不保存?
 
Dimka-novitsek:
我还没有实际编译或尝试任何东西,只是在看。塔克,重点是在退出循环时,BUY_Profit和BUT值没有被保存,对吗?程序是按顺序执行的,还是不保存?
Dimka-novitsek:
啊,我知道你在给数组元素赋值什么了。是的,谢谢!!!!!!!!

任何类型都是可能的。我只是没有注意到,其中一个变量是双倍的。如果你需要双倍,就放双倍。

它是否有效?

 

我只是在看。И...OOOOOOO!!!!!!我是这样做的,声明了Orderasthitaem[6][2];在元素的两个数组中,这是你理解的,并且已经解决了第三个Orderasthitaem[0,2] !!!!!!!

果然,这就是洞里的狗!!!!!!!!!!!。OOO!!!。

 
Dimka-novitsek:
我还没有实际编译或尝试任何东西,只是在看。Takm,重点是在退出循环时,BUY_Profit和prue的变量值没有被保存,对吗?程序是按顺序执行的,还是不保存?

...你也可以这样做。

double Orderasthitaem[6][2];
void Orderasthitaem()
{
    double ld_Profit = 0.;
    int li_Total = OrdersTotal();
    ArrayInitialize (Orderasthitaem, 0.);
    if (li_Total == 0) return;
    for (int i = 0; i < OrdersTotal(); i++)
    {
        OrderSelect (i, SELECT_BY_POS);  
        if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magicnumber)
        {            
            int type = OrderType();
            ld_Profit = OrderProfit();
            Orderasthitaem[type][0]++;
            if (type > 1) continue;
            Orderasthitaem[type][1] += ld_Profit;
        }
    }
}
- 这取决于你如何喜欢它。