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

 
Money_Maker:
非常感谢,这将会更快,这就是为什么我也决定 "lippy "特别感谢字符代码,现在我不必再去寻找它们了。

我写的是替换人物的短名,把线分成字母,然后做替换。

string sub_symb[];
ushort u_sep=StringGetCharacter(" ",0);
string SymbolArr[]={
//-------------------- в конце ставить запятую и писать через пробел
// СЕЛЬХОЗ.ПРОДУКЦИЯ
 "Молоко DC",
 "Корм GF",
 "Свинина HE",
 "Рогатый_скот LE",
 "Кукуруза ZC",
 "Соевое_масло ZL",
 "Соевая_мука ZM",
 "Соевые_бобы ZS",
 "Пшеница ZW",
// ЭНЕРГИЯ
 "#BRENT CL",
 "Мазут HO",
 "Газ NG",
 "Газ(мини) QG",
 "Нефть_WTI_(мини) QM",
 "Бензин RB",
// ИНДЕКСЫ
 "S&P_(мини) ES",
 "NASDAQ_(мини) NQ",
 "S&P_500 SP",
 "#DJI30 YM",
 "#DAX30 FDAX",
// МЕТАЛЛЫ
 "Золото GC",
 "Медь HG",
 "Палладий PA",
 "Платина PL",
 "Серебро SI",
 "IndexUSD DX",

//+---------------------------------------------------------------------------------------------+
};

string SubSymbols(string CurSymb)
 {
 for(int i=0; i<ArraySize(SymbolArr); i++)
  {
   StringSplit(SymbolArr[i],u_sep,sub_symb);
   if(CurSymb==sub_symb[0])
    {
     return(sub_symb[1]);
    }
  }
//-
 return(_Symbol);
 }
 
eevviill:

StringGetChar()

StringGetChar()

还是错了呢?

不是的......解码的含义是这样的:每个俄文字母都有一个值,例如,"a "是一个组合(u0430)

,要转换,你需要确定哪个字母有这个或那个值,然后用字母替换这些值......通过KernelDll可能是可行的,但这是一条泥泞的道路,至少它对我不起作用,没有太多的信息,而且看起来不太正确......但在我看来,自定义函数是唯一容易解决的方法。
 
Trader76:

我一直在写替换字符的短名称,把字符串分解成字母,然后进行替换。

非常感谢你,我会这样做的。
 

下午好。我有一个小问题,当使用该指标时,当切换到另一个时间框架时,终端开始变慢,有时完全挂起。

该指标是显示偏差值的布林线。我不知道代码中到底是什么导致了性能下降。

谁能告诉我们一般情况下如何解决此类问题,或者从哪里开始?

 
FiVik:

下午好。我有一个小问题,当使用该指标时,当切换到另一个时间框架时,终端开始变慢,有时完全挂起。

该指标是显示偏差值的布林线。我不知道代码中到底是什么导致了性能下降。

谁能告诉我们一般情况下如何解决此类问题,或者从哪里开始?

很可能有一个很大的计算周期,这就是它挂起的原因,我不认为你需要计算历史上的5000个柱子来获得当前的数值。
 

交易员76 这里是添加的函数: iMAOnArray。在其中,你需要指定要计算的元素的数量。我指定了数组的所有元素;这是获得标准偏差平均值正确值的唯一方法。

我通过在标准差指标上叠加移动平均线来检查。如果我指定一个特定的元素数量,计算值就会改变。

也许,指标之所以慢是因为要计算整个数组,但它在其他方面的计算并不正确。

计算平均值的周期为30。

 
FiVik:

交易员76 这里是添加的函数: iMAOnArray。在其中,你需要指定要计算的元素的数量。我指定了数组的所有元素;这是获得标准偏差平均值正确值的唯一方法。

我通过在标准差指标上叠加移动平均线来检查。如果我指定一个特定的元素数量,计算值就会改变。

也许,指标之所以慢是因为要计算整个数组,但它在其他方面的计算并不正确。

计算平均值的周期为30。

给我看看代码
 

这正是我添加的内容,在这之前,指标没有放慢速度。

//+------------------------------------------------------------------- 
//|Расчет среднего значения девиации
//+------------------------------------------------------------------- 
      Averagedeviation=iMAOnArray(deviationBuffer,0,30,0,MODE_SMA,i);
//+------------------------------------------------------------------- 
//|Вывод значения на экран отдельным объектом
//+------------------------------------------------------------------- 
      string Text =DoubleToStr(deviation,4);                   // Текст для отображения с указанием количества знаков ппосле запятой
      if(deviation<=(Averagedeviation*1.1)&&deviation>=(Averagedeviation*0.9))// Выбор цвета зависит от динамики
      Color_Day_Percent = Color_0;                             // Цвет для 0
      if(deviation>Averagedeviation*1.1)                       // Выбор цвета зависит от динамики
      Color_Day_Percent = Color_Up;                            // Цвет для +
      if(deviation<Averagedeviation*0.9)                       // Выбор цвета зависит от динамики
      Color_Day_Percent = Color_Dn;                            // Цвет для -
      
      if(ObjectFind(Obj_Name)==-1)                             // Если объекта нет..
      {
      ObjectCreate(Obj_Name,OBJ_LABEL,0,0,0);                  // Создаём новый объект 
      ObjectSet    (Obj_Name,OBJPROP_CORNER,    1);            // Угол привязки            
      ObjectSet    (Obj_Name,OBJPROP_XDISTANCE,15);            // Координата Х
      ObjectSet    (Obj_Name,OBJPROP_YDISTANCE,15);            // Координата Y
      }
      ObjectSetText(Obj_Name,Text,10,"MS Sans Serif",Color_Day_Percent);// Текстовое описание объекта      
      i--;   
     }
//----------------------------------------------------------------------
   return(0);
  }
int deinit()
   {
   ObjectDelete(Obj_Name);                                      // Удаление объекта при выходе
   return(0);
   }
//+------------------------------------------------------------------+
 
FiVik:

这正是我添加的内容,在这之前,指标没有放慢速度。

好吧,如果你不想做,那也没关系。
 
Vinin:
好吧,如果你不想要它,那也行。

我不明白。你说你不愿意是什么意思?

你想要整个代码吗?好的。

名字是西里尔文的,所以才会有象形文字。

附加的文件: