[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 186

 
Dimka-novitsek:
我很好奇,我的版本有什么问题?

在你的版本中,首先它在一次计算中睡着了300次

其次,它在每次勾选时 都要创建600次信息,会感到很累。

第三,它在图表上画出这条红线。红线的最大值为0.86,绿线的最小值为1.34

所以你无法看到结果。

 
ScioMe:

它确实画出了绿色,但只是在收盘前的蜡烛上画出了绿色!在此之前,它从来没有。

我认为只有在你改变止损和/或止盈的 情况下,它才应该画出来。
 
pyatka__ASD:

下午好。请帮助。

如何找到用这个公式计算出的条形移动的模式? 对象获取移位的价值

什么是模式
 

我没有看到任何结果。

谢谢你!我是一只小羊!"。

 
eddy:
我认为只有在你改变止损和/或止盈的 情况下,它才应该画出来。

我知道,日志证实了这一点。
 
他在开场的时候就改变了它们
 

一个关于调用WinAPI函数的一些细微差别的问题。

有一个函数GetPrivateProfileStringA。

将该函数导入 mql。

#import "kernel32.dll"
  int GetPrivateProfileStringA
      ( string SectionName,    // Наименование секции
        string KeyName,        // Наименование параметра
        string Default,        // Значение по умолчанию
        string ReturnedString, // Возвращаемое значение параметра
        int    nSize,          // Размер буфера под значение параметра
        string FileName);      // Полное имя файла
  int WritePrivateProfileStringA
      ( string SectionName,    // Наименование секции
        string KeyName,        // Наименование параметра
        string sString,        // Записываемое значение параметра
        string FileName);      // Полное имя файла
#import

其中一个参数的描述。

lpKeyName [in] 

The name of the key whose associated string is to be retrieved. 
If this parameter is NULL, all key names in the section specified by the lpAppName parameter 
are copied to the buffer specified by the lpReturnedString parameter.

问题 - 如何传递 "真正的NULL"?

传递 "mql NULL"(也是""字符串)得到了默认值,而不是 "部分中的键 "的列表。

lpDefault [in] 
A default string. If the lpKeyName key cannot be found in the initialization file, 
GetPrivateProfileString copies the default string to the lpReturnedString buffer. 
If this parameter is NULL, the default is an empty string, "".

我提到 "真正的NULL "是因为我在一些关于Basic的论坛上读到过类似的问题(正是用这个函数)。该论坛是讲英语的(也就是说,我所能理解的一切都不是真的),问题是通过Basics的方式解决的。

 
eddy:
嗯,它在开放的酒吧里改变了它们


据我所知,OrderModify()也可以改变开盘点以外的其他点的止损?我的代码(几乎全部来自S.Kovalev的书)是这样构建的:不仅在开盘期间,而且在一些事件发生时,停止也会改变。

 switch(Tip)                                  // По типу ордера
   {
      case 0 :                                // Ордер Buy
         if (NormalizeDouble(SL,Digits)<     // Если ниже желаем.
            NormalizeDouble(Bid-TS*Point,Digits))
               {
      // Ниже я только добавил функцию New_Stop
                  SL=Bid-New_Stop(TS)*Point; // то модифицируем его
                  string Text="Buy ";         // Текст для Buy 
                  Modify=true;                // Назначен к модифи.
               }
               break;
// Функция из этой же книги:
int New_Stop(int Parametr)                      // Проверка стоп-прик.
  {
   int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);// Миним. дистанция
   if (Parametr < Min_Dist)                     // Если меньше допуст.
     {
      Parametr=Min_Dist;                        // Установим допуст.
      Alert("Увеличена дистанция стоп-приказа.");
     }
   return(Parametr);                            // Возврат значения
  }
 

请告诉我如何将时间分配给指标行

val1[]。或者告诉我怎么做,用什么,因为我想不出来。Laguerre指标。
   i=CountBars-1;
   while(i>=0)
   {
      L0A = L0;
      L1A = L1;
      L2A = L2;
      L3A = L3;
      L0 = (1 - gamma)*Close[i] + gamma*L0A;
      L1 = - gamma *L0 + L0A + gamma *L1A;
      L2 = - gamma *L1 + L1A + gamma *L2A;
      L3 = - gamma *L2 + L2A + gamma *L3A;

      CU = 0;
      CD = 0;
      
      if (L0 >= L1) CU = L0 - L1; else CD = L1 - L0;
      if (L1 >= L2) CU = CU + L1 - L2; else CD = CD + L2 - L1;
      if (L2 >= L3) CU = CU + L2 - L3; else CD = CD + L3 - L2;

      if (CU + CD != 0) LRSI = CU / (CU + CD);
      val1[i] = LRSI;
          i--;
        }
         

   if(counted_bars>0)
      counted_bars--;
   
   limit=Bars-counted_bars;
   
   if(limit>CountBars)
      limit=CountBars;
  
   for(int c=1;c<limit;c++)
        
{if(val1[c]>0.45)
   LastLag++;}

例如,当行val1[c]向上越过0.45时,时间值被设置在变量TimeBegin中,当它向下越过时,时间值被设置在变量TimeEnd中。以此类推,贯穿整个图表。

附加的文件:
 
ScioMe:

据我所知,OrderModify()也可以改变开盘柱以外的柱子上的止损?

好吧,箭头在开放栏上,你只需设置它们的颜色。