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

 
Seric29:

一般来说,由于Artyom没有回答任何问题,而上面那个人给出的答案是,函数是与必须知道的结构一起工作的,因此必须全局声明,所以我们得出结论,结构必须 全局声明

就其性质而言,一个与结构一起工作的函数只能接受相同的静态结构。这意味着我们不能在本地声明一个结构,使其具有有限的范围,并将其传递给一个函数。

当你不明白我说的话时,不要指责我。仔细阅读Artem所说的内容。

在匆忙中,他在代码中出现了一些不准确的地方。这并不意味着他说得不对。结构是一种自定义的数据类型, 全局范围内定义 。一个用户类型的变量可以在任何地方声明 。而且可以有任何数量的此类变量被声明。
 
Artyom Trishkin:
统计数据不会因此而改变。

顺便说一下,它不只是不显示我在凌晨1点或晚上11点,而是显示这个。


技术工作。

进展

批准TOR
演示
传递工作和支付


所有这些复选框都被点击了。它说一个星期后,付款将自动消失。只是只收到了演示文件,而且其中有一个日期限制器,只允许去年的工作。我猜他厌倦了,现在他要等一个星期,让工资文件自动改变?


它已经发生了。


客户 Zlaya_budka 已经确认了"演示"步骤
2020.01.29 21:47

工作移交和付款

客户已经接受了演示,现在开发者必须交出最终结果。

在接受工作后,付款将自动从客户的账户中支付(减去佣金)。如果客户在一周内没有回复所提交的工作,订单将被自动视为完成。

2020.01.29 21:47

开发商=========,确认了"移交工作和付款"的步骤


这到底是什么意思?已经有一个可爱的来自Pipal的借记和单词余额被交换了,已经等了3个星期的servicedesk与付款。现在这个喜悦是什么意思?

Zlaya_budka
Zlaya_budka
  • www.mql5.com
Профиль трейдера
 
Alexey Viktorov:

当你不知道我在说什么的时候,请不要指责我。仔细阅读Artem所说的内容。

在匆忙中,他在代码中出现了一些不准确的地方。这并不意味着他说得不对。结构是一种自定义的数据类型, 全局范围内定义 。一个用户类型的变量可以在任何地方声明 。而且可以有任何数量的此类变量被声明。

好吧,我说的正是我的情况,也正是结构,很明显,这也是一个自定义的变量类型,但特别是我对局部水平感兴趣。也许可以通过一个班级来完成。原则上,你可以通过一个类来声明一个私有类型,仅此而已,但我不太理解。

 
同事们--你们能告诉我,init是否在测试器的每一次传递中启动?
 
Seric29:

好吧,我说的正是我的情况,正是结构,也正是这样,很明显,这也是一个自定义的变量类型,但特别是我对本地级别感兴趣。也许可以通过一个班级来完成。原则上,你可以通过一个类来声明一个私有类型,但我不太理解。

你在全局层面定义你的结构--整个程序必须知道它--这是你创建的一种新的变量类型。

而且,你可以在任何一个本地层定义具有这种结构类型的不同变量--只有在它们(本地层)中才会看到在其范围内创建的变量。

 

大家好!

帮助我附上

extern   ENUM_BASE_CORNER  InpCorner      =  CORNER_LEFT_UPPER;   // Угол привязки индикатора

到这个对象

//--- Clicking on the fifth rectangle
   if(id==CHARTEVENT_OBJECT_CLICK) 
     {
      string clickedChartObject=sparam;
      if(clickedChartObject==obj_name[5]) 
        {
         string name="name_"+IntegerToString(MathRand()+100,0,' ');

         y=100;x=5;
         ChartXYToTimePrice(0,x,y,window,dt_1,price_1);
         ChartXYToTimePrice(0,x+250,y,window,dt_2,price_2);
         ChartXYToTimePrice(0,x,y+20,window,dt_3,price_3);

         ChannelCreate(0,name,0,dt_1,price_1,dt_2,price_2,dt_3,price_3,1,clrRed,STYLE_SOLID,1,InpBackRect,true,false,false,InpHidden_OBJ,0);
        }
     }

bool

//+------------------------------------------------------------------+
//| Create an equidistant channel by the given coordinates           |
//+------------------------------------------------------------------+
bool ChannelCreate(const long             chart_ID=0,                   // chart's ID
                   const string           name="Channel",               // channel name
                   const int              sub_window=0,                 // subwindow index  
                   datetime               time1=0,                      // first point time
                   double                 price1=0,                     // first point price
                   datetime               time2=0,                      // second point time
                   double                 price2=0,                     // second point price
                   datetime               time3=0,                      // third point time
                   double                 price3=0,                     // third point price
                   const ENUM_BASE_CORNER corner = CORNER_RIGHT_UPPER,  // the angle of the graph for the binding
                   const color            clr=clrRed,                   // channel color
                   const ENUM_LINE_STYLE  style=STYLE_SOLID,            // style of channel lines
                   const int              width=1,                      // width of channel lines
                   const bool             back=false,                   // in the background
                   const bool             selection=true,               // highlight to move
                   const bool             ray_left = false,             // extend the line to the left
                   const bool             ray_right=false,              // channel's continuation to the right
                   const bool             hidden=true,                  // hidden in the object list
                   const long             z_order=0)                    // priority for mouse click
  {
//--- reset the error value
   ResetLastError();
//--- create a channel by the given coordinates
   if(!ObjectCreate(chart_ID,name,OBJ_CHANNEL,sub_window,time1,price1,time2,price2,time3,price3))
     {
      Print(__FUNCTION__,
            ": failed to create an equidistant channel! Error code = ",GetLastError());
      return(false);
     }
   ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
   ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style);
   ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,width);
   ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
   ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);
   ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
   ObjectSetInteger(chart_ID,name,OBJPROP_RAY_RIGHT,ray_right);
   ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
   ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
//--- 
   return(true);
  }
//+------------------------------------------------------------------+
//| Delete the channel                                               |
//+------------------------------------------------------------------+
bool ChannelDelete(const long   chart_ID=0,     // chart's ID
                   const string name="Channel") // channel name
  {
//--- reset the error value
   ResetLastError();
//--- delete the channel
   if(!ObjectDelete(chart_ID,name))
     {
      Print(__FUNCTION__,
            ": failed to delete the channel! Error code = ",GetLastError());
      return(false);
     }
//---
   return(true);
  }
//---
 

我知道ChartXYToTimePrice默认也是从左上角 计算坐标的。

ChartXYToTimePrice如何从我指定的角落重新计算?

 
MakarFX:

我知道ChartXYToTimePrice计算的是坐标,默认是从左上角 开始。

ChartXYToTimePrice将如何从我指定的角度重新计算?

你只能改变那些有东西可以做决定的人的想法。而如果 "它 "只执行别人的设置,那么所有试图说服你的对话都只是浪费时间)。

我不太明白这个任务,但不仅要注意绑定角度 ENUM_BASE_CORNER,还要注意绑定点 ENUM_ANCHOR_POINT

 

Alexey Viktorov:

我不太理解这个任务

呼叫时指标在左上角 创建一个对象(OBJ_CHANNEL)。

如何设置条件,在另一个角落创建一个对象。

 
MakarFX:

呼叫时指标在左上角 创建一个对象(OBJ_CHANNEL)。

如何设置条件,在另一个角落创建一个对象。

仔细阅读手册。OBJ_CHANNEL与角度没有关系。

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Способы привязки объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Способы привязки объектов
  • www.mql5.com
Графические объекты Text, Label, Bitmap и Bitmap Label (OBJ_TEXT, OBJ_LABEL, OBJ_BITMAP и OBJ_BITMAP_LABEL) могут иметь один из 9 различных способов привязки своих координат, задаваемых свойством OBJPROP_ANCHOR. – объекты имеет ширину и высоту. Если указано "только для чтения", то это означает, что значения ширины и высоты...
原因: