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

 
Valeriy Yastremskiy:

没有戏谑,它们展开后粘在上面,两侧,底部,塌陷,在图表下可能不可见,而且ktrl N也没有帮助,窗口不可见,以塌陷形式打开。简介并不总是有帮助,它只显示正确的图表。总而言之,知道了所有与鼠标的关系,我把它拉下来,窗口被粘在上面,在顶部摸索(意外地),在它与鼠标相连的地方,我再次极其不成功地拉下来,它消失了。它是开放的,但在窗户下看不到。关闭所有的图表,看到卷起的窗户边缘,展开后,它粘在上面......)))几个小时后,我学会了如何从顶部和侧面把它剥下来。已经想创建一个帮助主题))))

现在我尽量不在窗户和面板上做文章)))

有时什么都没有帮助。如果terminal.ini被删除,在config中,会有原来的设置。
 
Александр:
有时什么都没有帮助。如果terminal.ini被删除,在config中,会有原来的设置。

是的,作为一个基本的出路)

 
Alexey Viktorov:

按ctrl+n

亚历山大
有时什么都没有帮助。如果terminal.ini被删除,在config中,会有原来的设置。
Valeriy Yastremskiy:

是的,作为一种基本的解决方法)

:-)谢谢。我会在今后的工作中记住这一点。
 
一个多星期以来,我一直在回想这个问题,但我一直想找到答案,再搜索也没有结果。我不明白如何才能做到以下几点:
如何使一个数组如 "double amountArray[]={5,10,20,40.1,80,100,100}; 可以在程序的输入参数,即专家顾问或指标中看到并改变。5,10000,20000,27.6}; "是可见的,它可以在程序的输入参数 中改变,即专家顾问或指标。
用字符串阵列没有问题,但如果你用它为我弹出下一个无法解决的问题,如何将字符串阵列转换成数字((。
请帮助我,我被难住了。
 
Александр:
一个多星期以来,我一直在回想这个问题,但没能找到答案,我又一直在找,但没有结果。我不明白如何制作以下内容: 如何制作一个像 "double amountArray[]={5,10,20,40.1,80,100.5,10000,20000,27.6}; "是可见的,它可以在
程序的输入参数 中改变,即专家顾问或指标。 用字符串阵列没有问题,但如果你用它为我弹出下一个无法解决的问题,如何将字符串阵列转换成数字((。请帮助我,我被难住了。

在输入参数中输入一个用逗号分隔的字符串

input string str = 5,10,20,40.1,80,100.5,10000,20000,27.6;

然后在OnInit()中把它分成子字符串

int  StringSplit( 
   const string   string_value,       // строка для поиска подстрок 
   const ushort   separator,          // разделитель, по которому в строке будут искаться подстроки 
   string         & result[]          // массив, переданный по ссылке, для получения найденных подстрок 
   );

并将其逐个元素转换为另一个双倍类型的数组。

没有其他选择。将字符串复制到双倍数中,或者联合体对字符串类型不起作用。

 
Александр:
一个多星期以来,我一直在回想这个问题,但我一直在寻找答案,但又没有用。我不明白如何才能做到以下几点: 如何使一个数组像 "double amountArray[]={5,10,20,40.1,80,100,100}; 。5,10000,20000,27.6}; "是可见的,它可以在
程序的输入参数 中改变,即专家顾问或指标。 用字符串阵列没有问题,但如果你用它为我弹出下一个无法解决的问题,如何将字符串阵列转换成数字((。请帮助我,我被难住了。

input string numeric="1,0.3,1.5,3,4.2,5.7,2";

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
{
   string FillSymb[];
   double SymbTrade[];
   int CountSymbol=StringSplit(numeric,StringGetCharacter(",",0),FillSymb);
   ArrayResize(SymbTrade,CountSymbol);
   for(int i=0; i<CountSymbol; i++) {
      SymbTrade[i]=FillSymb[i]; // Создадим массив double
   }

   for(int i=0; i<ArraySize(SymbTrade); i++) {
      Print(SymbTrade[i]); // Распечатаем массив double
   }
}

---

但它必须从OnInit()中的字符串数组化。

 
Vitaly Muzichenko:

逗号不能放在单引号中吗?

int CountSymbol=StringSplit(NameSymb,',',FillSymb);

为什么要引用一个函数?

 
Alexey Viktorov:

逗号不能放在单引号中吗?

为什么要调用一个函数?

这里就是这样做的......好的代码应该是足够的。

 
Alexey Viktorov:

逗号不能放在单引号中吗?

为什么需要引用一个函数?

是的,事实证明你可以,我会记住的。我从帮助中抽取了一个例子,它是这样的

input string numeric="1,0.3,1.5,3,4.2,5.7,2";

string FillSymb[];
double MassNum[];

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnInit()
{
   int Count=StringSplit(numeric,',',FillSymb);
   ArrayResize(MassNum,Count);
   for(int i=0; i<Count; i++) {
      MassNum[i]=(double)FillSymb[i]; // Создадим массив double
   }
}
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
{
   for(int i=0; i<ArraySize(MassNum); i++) {
      Print(MassNum[i]); // Распечатаем массив double
   }
}
 
Alexey Viktorov:

在输入参数中输入一个用逗号分隔的字符串

然后在OnInit()中把它分成子字符串

并将其逐个元素转换为另一个双倍类型的数组。

没有其他选择。将字符串复制到双倍数中,或者联合体对字符串类型不起作用。

谢谢你 !!!!