初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1125

 
BillionerClub:

如何在时间上转换鼠标位置,但不抛出?

至少要有一些活动。移动鼠标会有效果吗?
 
Alexey Viktorov:
那么,必须有某种事件。也许用鼠标移动就可以了?

不,只是在烛光中读取坐标并进行转换。

 
Alexey Viktorov:
嗯,至少必须有一些活动。也许移动鼠标就可以了?

是的,谢谢,你是对的,这是同一件事。当然,一个人首先会移动鼠标,然后按下热键。

 
事实证明,在脚本中使用自定义事件的函数是不可能的。现在我必须运行指标,用它来运行脚本。原则上说,如果你不使用拖放,而是使用热键,那又有什么区别呢?
 
BillionerClub:
有趣的是,事实证明,自定义事件函数不能在脚本中使用。现在我必须运行指标并通过它运行脚本。原则上说,如果我不使用拖放,而是使用热键,有什么区别呢?

我也许应该在文档中更具体地写明OnChartEvent 在脚本中不起作用,但这样一行在文档中是有的

该函数可以在专家顾问和指标中调用,它应该有void类型和4个参数。

而自定义事件与此无关。

 
BillionerClub:

如何转换,鼠标的位置,在时间,但不扔?

有些人在写作时不使用标点符号,有些人则在写完后捅了捅...他们认为,因为他们在问问题,所以每个人都应该知道他们在说什么......

你上过学吗?这很难吗?你认为这里会很容易吗?你难道不愿意回到学校吗?

 
Alexey Viktorov:

好吧,这里有句话。

只要把一个数字而不是公式和...

我这样做了,但结果是零。这个函数在指标"A_D1 " 中,我把它的值放在缓冲器中,然后我从脚本中调用指标,把值输出到打印机上。

  Lot= iCustom(NULL,0,"A_D1",0,1);
  Print("Lot ",DoubleToStr(Lot,2));

如果指标中的函数带有字符串

RiskMony = floor(FreeMargin*risk/100);

它将打印一些数字0.07,但如果

RiskMony =1.5;//

它将打印0.00

 

谢谢大家的帮助和批评,大家辛苦了。 我把整个脚本通过CHARTEVENT_CLICK 作为一个函数加入到指标中。一切都很顺利,在时间和速度上都很方便。


#include <Keys.mqh>
CKeys ckeys;

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//--- нажатие кнопки на клавиатуре 
   if(id==CHARTEVENT_CLICK)
     {

      if(ckeys.KeyCtrlState())
        {
        Запустить();        
        }

     }

  }



 
macleta:

我这样做了,但结果是零。这个函数在指标"A_D1 " 中,我把它的值放在缓冲区中,然后我从脚本中调用该指标,把值输出到打印机中。

如果指标中的函数带有字符串

它将打印一些数字0.07,但如果

它将打印0.00。

Int 似乎去了二进制四舍五入,截断,与其他数据类型不兼容,没有损失。

 
macleta:

我这样做了,但结果是零。这个函数在指标"A_D1 " 中,我把它的值放在缓冲区中,然后我从脚本中调用该指标,把值输出到打印机中。

如果指标中的函数带有字符串

它将打印一些数字0.07,但如果

它将打印0.00

15或20而不是1.5怎么样?也许你想在一个太长的TP上赚取很少的利润?
原因: