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

 
MakarFX #:

这样你就可以给自己写一个提醒--有什么作用?

:)) 好像我在需要的时候不能自己做一样:插入两个斜线,写几个字。你有没有试过在那个框架里写点什么?右边的那个正斜杠会按你输入的字符数向右走,但如果你需要写多行呢?我没有做事,而是要把时间浪费在画框架上。只是意识形态将某种病态的愿景强加于人,认为它应该是这样的。

 
Nerd Trader #:

:)) 好像我在需要的时候不能自己做一样:插入两个斜线,写几个字。你有没有试过在那个框架里写点什么?右边的那个正斜杠会按你输入的字符数向右走,但如果你需要写多行呢?我没有做事,而是要把时间浪费在画框架上。我只是把一些病态的观点强加于人,认为应该是这样的。

在函数前面加两个斜线,就可以了。

//
int OnCalculate (const int rates_total,
                 const int prev_calculated,
                 const datetime& time[],
                 const double& open[],
                 const double& high[],
 
MakarFX #:

在函数前面加两个斜线,就可以了。

我在上面已经写过,如果在注释和函数之间有一个空行,就会插入一个框架。
 

当按钮被点击时,就会产生一条水平线。根据光标相对于价格的位置,它们会以不同的颜色重新出现。问题是:当光标处于远离价格的适当位置时,黄色和灰色的线条闪烁不定,不断产生(绿色可以)。类似的代码只改变了线的颜色属性,而不是重新创建它,工作正常。

这里的逻辑NOT是在它的位置上,也就是代替写==0。

void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{
  ...
  ...
  ...
  if(ObjectGetInteger(0,"Button Stop Order",OBJPROP_STATE)){
    int x = (int)lparam;
    int y = (int)dparam;
    //Переведём координаты X, Y в дату и время
    if(ChartXYToTimePrice(0,x,y,window,dt,price)){
      //Линия меняет цвет с зелёного на желтый
      if(price < Bid){
        if(!ObjectFind("Buy Stop") || !ObjectFind("not allowed")){
          ObjectDelete(line_name);
          line_name = "Sell Stop";
          CreateLine(line_name, clrYellow);
        }      
      }
      //Линия меняет цвет с желтого на зелёный
      if(price > Ask){
        if(!ObjectFind("Sell Stop") || !ObjectFind("not allowed")){
          ObjectDelete(line_name);
          line_name = "Buy Stop";
          CreateLine(line_name, clrGreen);
        }
      }
      //Линия меняет цвет на серый если в зоне спреда
      if(price > Bid && price < Ask){
        if(!ObjectFind("Buy Stop") || !ObjectFind("Sell Stop")){
          ObjectDelete(line_name);
          line_name = "not allowed";
          CreateLine(line_name, clrGray);
        }
      }
      //Прикрепляем линию к курсору
      if(id == CHARTEVENT_MOUSE_MOVE)
        if(ObjectMove(0,line_name,0,0,price))
          ChartRedraw(0);
    }
  }else if(ObjectFind(line_name) == window) Print(ObjectDelete(line_name));
 
Nerd Trader 一条水平线。根据光标相对于价格的位置,它们会以不同的颜色重新出现。问题是:当光标在离价格适当的位置时,黄色和灰色的线条在闪烁,并不断产生(绿色是可以的)。类似的代码只改变了线的颜色属性,而不是重新创建它,工作正常。

这里的逻辑NOT是在它的位置上,也就是代替写==0。

ObjectFind是一个int,而不是一个bool
 
Nerd Trader #:

因为当你决定转移到一个原生的mql4环境时,它真的让我很生气,而你却在那里!你想要一个框架吗?而我们还是会卖掉它。

你必须使用马卡尔的方法才能得到你想要的东西。

MakarFX#:

我不知道这些风格,所以我按照我 想读的方式来安排它们的格式

 
MakarFX #:
ObjectFind是一个int,而不是一个bool
在这种情况下,"!"或"==0 "没有区别。
 
Nerd Trader #:
在这种情况下,"!"或"==0 "没有区别。

这是有区别的!!!。

      if(!ObjectFind("Buy Stop"))Print("All right Христофор Бонифатич!");
      else Print("Something is wrong!");
      if(ObjectFind("Buy Stop")!=0)Print("All right Христофор Бонифатич");
 
Nerd Trader #:
在这种情况下,"!"或"==0 "没有区别。
if(!ObjectFind("Buy Stop"))

这个疑问是这样的。

瓦西里-伊万诺维奇-查帕耶夫和佩特卡正在乘坐飞机,突然,坐在驾驶员方向盘上的瓦西里-伊万诺维奇哭了起来。

"Petya,文书!"

Petya回答说。"三十八岁。"

瓦西里-伊万诺维奇:"三八什么?"

Petya:"那乐器呢?"

 
MakarFX #:

这个请求看起来像这样。

不,马卡,它看起来是这样的。

ObjectFind()函数返回主窗口的编号。而这个数字是0。另一方面,0 == false,因此,如果该函数返回0,它仍然返回false。当然,我不会使用这个方法,因为如果该函数返回-1,即一个错误,我们可能会认为该对象的位置不在主窗口。除此之外,你永远不知道会有什么修复措施......

一般来说,不要争论,也不要学着去争论......。

原因: