任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 129

 
Roman.:

看一下坦克,重新启动,也许会有帮助......:-)

P.S. 我是出于好意。

Nah.坦克不是一个选项。 如果你真的想做这样的事情。只有结果才能让你平静下来))
 
hoz:
Nah.坦克不是一个选项。 如果你真的想做这样的事情。它将平静下来只是结果)。

:-)
 

不可能。总而言之,这变成了一个奇怪的时刻。我没有把这批东西规范化。在这里,我们有地段规范化的功能。

//+-------------------------------------------------------------------------------------+
//| Проверка объема на корректность и округление                                        |
//+-------------------------------------------------------------------------------------+
double LotFloor(double value)
{
   return(MathFloor(MathMin(MathMax(value, g_minLot), g_maxLot)/g_lotStep)*g_lotStep);

我检查了错误的地方,在交易函数 本身中,订单开仓的功能被调用。 我已经在发送订单的调用函数的批次参数中添加了这个功能。错误并没有消失。

而当我直接将规范化函数添加到第一个诅咒函数中时,这就是设置挂单的函数,诅咒就停止了。你这话是什么意思?

//+-------------------------------------------------------------------------------------+
//| Открытие отложенной короткой позиции                                                |
//+-------------------------------------------------------------------------------------+
bool OpenPendingSell(double lot, double price)
{
   int g_ticket = -1;
   double OOP = price - i_distanceFromLastPos * pt;
      
   if (OOP < Bid)
   {
       fCheck_ValidPendingOOP(Symbol(), OP_SELLSTOP, OOP);
       
       g_ticket = OrderSend(Symbol(), OP_SELLSTOP, LotFloor(lot), ND(OOP), 30, 0, 0, NULL, i_magic, 0, CLR_NONE);
   }
   if (g_ticket > 0)
   {
       return (true);
   }
   else
       pr ("OpenPendingSell(): Ордер послать не удалось " + GetLastError());
   
   return (false);
}

在第一种情况下,我立即发送一个检查过的手数,而在第二种情况下,我在OrderSend() 函数本身检查手数。但是有什么区别呢?

 
chief2000:
问题是这样的--有一个一维数组,其大小可能不同。
如何循环浏览数组元素的所有可能的相互组合?
元素的顺序并不重要,即123==213==321。

下面是一个有4个元素的数组的例子。

嗯,彼此之间,似乎并不困难。

int k = ArraySize(array);
for(int i=0;i<k-1;i++)
for(int ii=i+1;ii<k;ii++)
   {
   ...
   }
但是,在这里,当有两个以上的人时,不清楚如何比较。展示一种同时比较1、2、3三个数字的方法。
 
谁能告诉我,如何使我不必重新打开优化窗口.....。我注意到,这个窗口的背景、蜡烛等都有不同的设置。
 
也许有这样的脚本!!!
 
大家好!请就这个问题给我建议......如果我想把水平线移到798,对于许多货币对来说,计算起来太复杂了,我应该如何写一个指标,要么画出移位移动平均线的价格,要么在数据窗口中显示,而不用手动计算?级别到MA
 
Roger:

嗯,彼此之间,似乎并不困难

但是,当有两个以上的时候,就不清楚如何比较了。给我看一个同时比较1、2、3三个数字的方法,


如果我没记错的话,周期数必须与数组中的元素数相匹配。问题是元素的数量不固定,可以远远超过4个,需要考虑如何设计。我还想知道是否有其他影响速度、内存消耗等的实现选项?
 
paladin80:



谢谢你!你从哪边开始数,即从第三小节开始,这不重要吗?
 
我想重新表述并补充一下我之前的问题。
下面是一个4个元素的数组的代码。在现实中,数组中的项目数量是可变的。
我怎样才能改变代码,使嵌套'for'循环的数量成为变量,每个数组项目 一个'for'?
谢谢你!

int start() { 

   int Array[4]                                       = {1, 2, 3, 4};
   int x1, x2, x3, x4;
   int Array_Size                                  = ArrayRange(Array,0);


   for(x1=0; x1<Array_Size; x1++) {
      Print("Combination                       = ", Array[x1]);

      for(x2=x1+1; x2<Array_Size; x2++) {
         Print("Combination                    = ", Array[x1] + "   " + Array[x2]);

         for(x3=x2+1; x3<Array_Size; x3++) {
            Print("Combination                 = ", Array[x1] + "   " + Array[x2] + "   " + Array[x3]);

            for(x4=x3+1; x4<Array_Size; x4++) {
               Print("Combination              = ", Array[x1] + "   " + Array[x2] + "   " + Array[x3] + "   " + Array[x4]);
            }
         }
      }
   }


   return(0);
}