[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 419

 
hronik1967:
如果上面的胡言乱语是由新手写的!!!那么我一定是个交易员的胚胎。问了一个简单的问题,却完全无视。我可能不配在这里。我不值得这样做。也许有人会注意到。我再问一次,我下载并挂上了欧元兑美元的外汇Cieaner专家顾问,我以30分钟的间隔进行交易,但我没有看到任何交易。在这之前,我把Ilan 1.6放在GBRUSD上,那里一切正常。我没有做什么?有人在那里,请告诉我!!!。

许多人不知道这样的顾问。他们不希望搜索和下载它。关于代码还有更多问题。
 
hronik1967:
如果上面的胡言乱语是由新手写的!!!那么我一定是个交易员的胚胎。问了一个简单的问题,却完全无视。我可能不配在这里。我不值得这样做。也许有人会注意到。我再问一次,我下载并挂上了欧元兑美元的外汇Cieaner专家顾问,我以30分钟的间隔进行交易,但我没有看到任何交易。在这之前,我把Ilan 1.6放在GBRUSD上,那里一切正常。我没有做什么?有人在那里,请告诉我!!!。
车子在路上,不走。伙计们,帮帮我吧,它有什么问题?这大约是你的EA问题的规模。
你得不到答案,因为至少有二十几个性质最不同的原因。别人的专家顾问在别人的终端上,来自一个资质不明的交易员。
 

帮助。

我的意思是(上面的两个帖子)在杂志上打印或无法打印。

Print("newZZ_240=",Curr_zz240) 不打印。

Print("newTime",mn240, ",TimeToStr(CurrTime240)) 打印。

这意味着NewZigZag H4 出了问题。我不明白如何或什么。似乎是这样,但没有印证。

我已经做了许多关于ZZ的不同研究。我在不同的TF上得到了不同的结果。现在我想把所有东西都集中起来。我有很多计算,如果我按点或新条 进行计算,它将强烈地加载我的计算机。当一个新的ZZ极值出现时,对数据进行处理就足够了。

附加的文件:
mtfqprint.mq4  19 kb
 
感谢gince和granit77的回答。他们似乎建议应该叫一个专家到家里来...这基本上是我的想法,你不能用手指来解释它。
 
FAQ:

一个特点--一个小的不一致,然而,这并不妨碍,有时甚至提供了没有记录的机会,例如OrderClosePrice() - 如果你关闭一个在收盘价中带有这个参数的订单,它就会关闭,不需要费心按订单类型确定价格。

错误 - 程序中的错误(不可救药的功能)。

Servidec - 一个让用户写下检测到的错误的地方。它位于你的个人资料中的第五个论坛(需要额外注册)。

Grosse danke schoen))))
 

下午好。我的问题如下。在MQL4.community 找到的MQL4 书中,在 "字符串函数和数据转换 函数 "部分的 "标准函数 "中,给出了strings.mq4专家顾问的以下例子(全文来自该书)

//--------------------------------------------------------------------
// strings.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------- 1 --
extern int Quant_Bars=100;             // Количество баров
datetime   Time_On;
string     Prefix    ="Paint_";
//--------------------------------------------------------------- 2 --
int init()                             // Спец. функция init()
  {
   int Ind_Bar;                        // Индекс бара
   Time_On=Time [Quant_Bars];          // Время первого раскрашенного
   for(Ind_Bar=Quant_Bars-1; Ind_Bar>=0; Ind_Bar--)// Цикл по барам
     {
      Create(Ind_Bar,1);               // Нарисуем тонкую линию
      Create(Ind_Bar,2);               // Нарисуем толстую линию
     }
   WindowRedraw();                     // Перерисовка изображения 
   return;                             // Выход из init()
  }
//--------------------------------------------------------------- 3 --
int start()                            // Спец. функция start
  {
   datetime T1, T2;                    // 1 и 2 координаты времени
   int Error,Ind_Bar;                  // Код ошибки и индекс бара
   double P1, P2;                      // 1 и 2 координата цены
   color Col;                          // Цвет созданного объекта
//--------------------------------------------------------------- 4 --
   for(int Line=1; Line<=2; Line++)    // Цикл по видам линий
     {
      string Nom_Lin =Line + "_";      // Строка с номером линии
      //    string Nom_Lin  = DoubleToStr(Line,0)+"_";// Можно и так
      for(Ind_Bar=0; ;Ind_Bar++)       // Цикл по барам
        {
//--------------------------------------------------------------- 5 --
         datetime T_Bar= Time[Ind_Bar];// Время открытия бара
         if (T_Bar < Time_On) break;   // Заграничные не раскрашиваем
         string Str_Time=TimeToStr(T_Bar);       // Строка со временем
         string His_Name=Prefix+Nom_Lin+Str_Time;// Имя объекта
//--------------------------------------------------------------- 6 --
         T1=ObjectGet(His_Name,OBJPROP_TIME1);// Запрос коорд. t1
         Error=GetLastError();         // Получение кода ошибки
         if (Error==4202)              // Если объекта нет :(
           {
            Create(Ind_Bar,Line);      // Вызов ф-ии создания объекта
            continue;                  // На следующую итерацию
           }
//--------------------------------------------------------------- 7 --
         T2 =ObjectGet(His_Name,OBJPROP_TIME2); // Запрос коорд. t2
         P1 =ObjectGet(His_Name,OBJPROP_PRICE1);// Запрос коорд. p1
         P2 =ObjectGet(His_Name,OBJPROP_PRICE2);// Запрос коорд. p1
         Col=ObjectGet(His_Name,OBJPROP_COLOR); // Запрос цвета
         if(T1!=T_Bar || T2!=T_Bar || // Не те координаты или цвет:
            (Line==1 && (P1!=High[Ind_Bar] || P2!=  Low[Ind_Bar])) ||
            (Line==2 && (P1!=Open[Ind_Bar] || P2!=Close[Ind_Bar])) ||
            (Open[Ind_Bar] Close[Ind_Bar] && Col!=Red)  ||
            (Open[Ind_Bar]==Close[Ind_Bar] && Col!=Green)  )
           {
            ObjectDelete(His_Name);    // Удаляем объект
            Create(Ind_Bar,Line);      // Создаём правильный объект
           }
//--------------------------------------------------------------- 8 --
        }
     }
   WindowRedraw();                     // Перерисовка изображения 
   return;                             // Выход из start()
  }
//--------------------------------------------------------------- 9 --
int deinit()                           // Спец. функция deinit()
  {
   string Name_Del[1];                 // Объявление массива
   int Quant_Del=0;                    // Количество удаляемых объектов
   int Quant_Objects=ObjectsTotal();   // Cтолько всего ВСЕХ объектов
   ArrayResize(Name_Del,Quant_Objects);// Необходимый размер массива
   for(int k=0; k<=Quant_Del; i++)     // Удаляем объекты с именами,.. 
      ObjectDelete(Name_Del[i]);       // .. имеющимися в массиве
   return;                             // Выход из deinit()
  }
//-------------------------------------------------------------- 10 --
int Create(int Ind_Bar, int Line)      // Пользовательская функция..
  {                                    // ..создания объекта
   color Color;                        // Цвет объекта
   datetime T_Bar=Time [Ind_Bar];      // Время открытия бара
   double   O_Bar=Open [Ind_Bar];      // Цена открытия бара
   double   C_Bar=Close[Ind_Bar];      // Цена закрытия бара
   double   H_Bar=High [Ind_Bar];      // Максимальная цена бара
   double   L_Bar=Low  [Ind_Bar];      // Минимальная цена бара
 
   string Nom_Lin =Line + "_";         // Строка - номер линии
   // string Nom_Lin  = DoubleToStr(Line,0)+"_";// Можно и так
   string Str_Time=TimeToStr(T_Bar);   // Строка - время откр.     
   string His_Name=Prefix+Nom_Lin+Str_Time;// Имя созаваемого объект
   if (O_Bar < C_Bar) Color=Blue;      // Выбор цвета в зависимости..
   if (O_Bar >C_Bar) Color=Red;        // .. от характеристик бара
   if (O_Bar ==C_Bar) Color=Green;
 
   switch(Line)                        // Тонкая или толстая линия
     {
      case 1:                          // Тонкая линия
         ObjectCreate(His_Name,OBJ_TREND,0,T_Bar,H_Bar,T_Bar,L_Bar);
         break;                        // Выход из switch
      case 2:                          // Толстая линия
         ObjectCreate(His_Name,OBJ_TREND,0,T_Bar,O_Bar,T_Bar,C_Bar);
         ObjectSet(   His_Name, OBJPROP_WIDTH, 3);// Стиль     
     }
   ObjectSet(    His_Name, OBJPROP_COLOR, Color); // Цвет
   ObjectSet(    His_Name, OBJPROP_RAY,   false); // Луч
   ObjectSetText(His_Name,"Объект создан экспертом",10);// Описание
   return;                             // Выход из польз. ф-ии
  }
//-------------------------------------------------------------- 11 –
 

...继续...

StringSubstr 函数小节的末尾,括号里有以下一句话:"另外我们必须注意,在第一个for循环中 (我的注释:必须是deinit(),因为没有其他删除对象的方法),我们不能删除对象,因为每次删除后,对象的总数和它们的编号都会改变,一些对象的名称会被跳过"。但在所引用的EA中,根本就没有第二个for 循环。此外,在for 循环 ,在deinit()函数中定义的变量Quant_Del被初始化为0,而变量ifor 循环之前没有定义。

   for(int k=0; k<=Quant_Del; i++)     // Удаляем объекты с именами,.. 
         ObjectDelete(Name_Del[i]);       // .. имеющимися в массиве

事实证明,上述专家只是微不足道地省略了几行程序。

因此,第1个问题 如下:这真的是一个微不足道的几行遗漏,还是它是一个如此棘手的程序,以至于一个新手在没有外界帮助的情况下无法掌握其含义?

进一步说......在同一章的同一章节中,在引用的文字前有一个链接到同一个专家顾问(在附件中),点击后,在MetaElitor中打开同一个专家顾问。但这个专家顾问的文本是不同的deinit()函数看起来是这样的

//--------------------------------------------------------------- 9 --
int deinit()                           // Спец. функция deinit()
  {
   string Name_Del[1];                 // Объявление массива
   int Quant_Del=0;                    // Количество удаляемых объекто
   int Quant_Objects=ObjectsTotal();   // Cтолько всего ВСЕХ объектов
   ArrayResize(Name_Del,Quant_Objects);// Необходимый размер массива
   for(int k=0; k<Quant_Objects; k++)  // По количеству объектов 
     {
      string Obj_Name=ObjectName(k);   // Запрашиваем имя объекта
      string Head=StringSubstr(Obj_Name,0,6);// Извлекаем первые 6 сим
      if (Head==Prefix)                // Найден объект, ..
        {                              // .. начинающийся с Paint_
         Quant_Del=Quant_Del+1;        // Колич имён к удалению
         Name_Del[Quant_Del-1]=Obj_Name;//Запоминаем имя удаляемого
        }
     }
   for(int i=0; i<=Quant_Del; i++)     // Удаляем объекты с именами,.. 
      ObjectDelete(Name_Del[i]);       // .. имеющимися в массиве
   return;                             // Выход из deinit()
  }
//-------------------------------------------------------------- 10 --

那么,如果 "结合"这句话"另外,请注意,你不能在第一个for循环中删除对象,因为在这种情况下,每次删除后,对象的总数和它们的编号都会改变,一些对象的名称会因此被跳过 "和文本 最后一个变体的deinit()函数,我有第2个问题。

问题。为什么我不能通过将 ObjectDelete(Obj_Name)函数放在if 语句内,在第一个for 循环中删除对象...?类似的情况。

int deinit()                           // Спец. функция deinit()
  {
   int Quant_Objects=ObjectsTotal();   // Cтолько всего ВСЕХ объектов
   for(int k=0; k<Quant_Objects; k++)  // По количеству объектов 
     {
      string Obj_Name=ObjectName(k);   // Запрашиваем имя объекта
      string Head=StringSubstr(Obj_Name,0,6);// Извлекаем первые 6 сим
      if (Head==Prefix)                // Если найден объект, …
        {                              // ... начинающийся с Paint_,
         ObjectDelete(Obj_Name);       // … то его и удаляем
        }                              //конец if
     }                                 //конец for
   return;                             // Выход из deinit()
  }                                    //конец deinit
//-------------------------------------------------------------- 10 --

为什么在每次删除"...对象的总数将发生变化"...?因为在这种情况下,决定对象总数的Quant_Objects 变量的值等于ObjectsTotal()FORWARD 这个for 循环?

P.S. 提前感谢您的回答,为了不给论坛添乱。



附加的文件:
strings.mq4  7 kb
 

伙计们,有点偏离主题,但仍...

是否有可能在局域网上与32位和64位Win7的电脑/笔记本 "交朋友"?
我有三台笔记本电脑和一台台式机(都在家里),在两台笔记本电脑上的Win7(64位),在网络上的32位Win7 Ultimate桌面上根本看不到它们。我想通过它来管理整个人群......。

有什么选择吗?

 
moskitman:

伙计们,有点偏离主题,但仍...

是否有可能在局域网上与32位和64位Win7的电脑/笔记本 "交朋友"?
我有三台笔记本电脑和一台台式机(都在家里),在两台笔记本电脑上的Win7(64位),在网络上的32位Win7 Ultimate桌面上根本看不到它们。我想通过它来管理整个人群......。

有什么选择吗?

在一个网络上,什么规模的计算机或系统并不重要。设置出了问题。
 
Zhunko:
在网络上,计算机和系统的比特大小并不重要。设置有问题。

是的,我自己也这么认为...但事实是,64人可以看到网络上的所有人,32人只能看到32人。WTF???

子:这是否与只有台式机(32)通过RG45线在这个网络上,而其他都是通过无线网络有关?

大致相同。