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

 
User_mt5:
是的,我应该提出代码。但这很简单:OnChartEvent() 函数的第一行是打印。

这可能还不够...

你提供了编程字符串,其中的内容我将详细查看并进行实验。也许这将解决这个问题。

非常感谢您!

帮助中的代码是有效的,我在滚动轮的日志中得到了delta =+120和delta =- 120的结果。

这对应于单向滚动和另一方向滚动

SZY: 考虑到Printy终端有时会 "吞噬 "日志中的频繁输出。

 
Igor Makanu:

帮助中的代码是有效的,我在日志中得到delta=+120和delta=-120的滚动轮。

相当于向一侧滚动,反之亦然

SZY:考虑到Prynty有时可能会 "吞噬",如果你将频繁的输出在日志中

MQL在许多方面对我来说仍然是个谜。在这种情况下,鼠标激活后事件9没有留下日志。现在,一边是9和11,另一边只有11。我不明白这一点,因为我的生活。

我不明白为什么有些事件必须包括在内,而另一些则不需要。 我现在明白为什么我错过了鼠标的包括--因为我没有预料到它,而且帮助,我们没有无一例外地阅读所有的行)。

120我也收到了,而且我仍然不明白它是什么。我会想办法的。

再次感谢你们,你们对我帮助很大!"。

 
User_mt5:

MQL在许多方面对我来说仍然是个谜。在这种情况下,鼠标激活后,事件9没有离开日志。现在,一边是9和11,另一边只有11。我不明白这一点,因为我的生活。

我不明白为什么有些事件必须包括在内,而另一些则不需要。 我现在明白为什么我错过了鼠标的包括--因为我没有预料到它,而且帮助,我们没有无一例外地阅读所有的行)。

120我也收到了,而且我仍然不明白它是什么。我将不得不处理它。

再次感谢您,您对我们的帮助很大。

这不是一个MQL问题,Windows以这种方式生成事件,例如,Windows的鼠标点击事件会产生几个事件:按下按钮,然后点击按钮--而你只需要处理一次点击。

轮子也是如此--消息队列产生于

 
Igor Makanu:

这不是一个MQL问题,这是Windows生成事件的方式,例如,Windows的鼠标点击信息是通过生成几个事件产生的:按下按钮,然后点击按钮--只有一个点击需要被处理。

与轮子一样--生成一个消息队列

既然你这么说,就一定是这样。但我不是一个专业的程序员,所以我很难理解一些事情。

谢谢你。

 

向大家问好!

帮助毫不含糊地理解计算可接受的资金风险和计划头寸的数量的正确性,我对考虑到TickPrice和其他细微差别的公式感兴趣,而不是对这个问题进行推理。

输入数据。

存款,$ = 3000
每笔交易的风险,% = 5
风险价格,$ = ?
尺寸SL,=250
Tick price = 1,3
Lot volume = ?

我的计算方法如下。

风险价格,$ = 存款,$ * 每笔交易的风险,% / 100
手数 = 风险价格,$ / 尺寸 SL,点 / Tick 价格

 
Anzhela Sityaeva:

向大家问好!

帮助毫不含糊地理解计算可接受的资金风险和计划头寸的数量的正确性,我对考虑到TickPrice和其他细微差别的公式感兴趣,而不是对这个问题进行推理。

输入。

存款,$=3000
每笔交易的风险,% = 5
风险价格,$ = ?
尺寸SL,点=250
票价=1.3
拍品数量=?

我的计算方法如下。

风险价格, $ = 存款, $ * 每笔交易风险, % / 100
手数=风险价格,美元/ SL的大小,点/ Tick价格

在这个 顾问中看
Советник 4UJ
Советник 4UJ
  • www.mql5.com
Рекомендаций по валютной паре нет. Используемые индикаторы: Простая скользящая средняя с периодом 48 — SMA(48). Индикатор ATR с периодом 7 и MA по ценам ATR с периодом 30 Условия для покупок: 1. Цена находится выше скользящей средней. 2. Индикатор ATR пересекает свою скользящую среднюю снизу вверх. 3. Как только сформируется первая медвежья...
 
Alexey Viktorov:
看看这个 EA。

谢谢你的回答!

有没有数学家在那里?我想了解第一版和第二版计算的区别,在两种情况下,结果都是一样的。两者中哪个是正确的?

第一个选项:成交量 成交量=风险价格,美元/尺寸SL,点/Tick值
第二种情况:手数=风险价格,美元/(SL的大小,点*Tick值)。

 
Anzhela Sityaeva:

谢谢你的回答!

有没有数学家在那里?我想了解第一版和第二版计算的区别,在两种情况下,结果都是一样的。两者中哪个是正确的?

第一个选项:成交量 成交量=风险价格,美元/大小SL,点/Tick值
第二种变体:每手交易量=风险价格,美元/(尺寸SL,点*Tick值)。

那么逗号在公式中扮演什么角色呢?好吧,如果我对问题的理解是正确的,那么请记住你五年级的数学课:首先你要做括号内的表达式,然后是括号外的表达式。首先进行小括号,然后是乘法和除法,最后是加法和减法,顺序从左到右。

例子。

100/10/10=1

100/(10*10)=1

 
Alexey Viktorov:

逗号在公式中起什么作用?好吧,如果我对问题的理解是正确的,那么请记住你五年级的数学课:首先你做括号里的表达式,然后是括号后面的表达式。首先进行小括号,然后是乘法和除法,最后是加法和减法,顺序从左到右。

例子。

100/10/10=1

100/(10*10)=1

逗号在公式中没有作用,你正确地指出,它只是把值和类型分开,为了便于理解,没有别的。五年级是很久以前的事了:),我从来都不擅长数学,这只是碰巧而已。但我确实记得行动的顺序。

在两种计算方式中,问题是完全相同的,哪种方式是正确的?

 

大家好...

我试图从一个EA中删除我添加的一个指标。我正在做以下工作。

//Объявляю переменные
int win_ind=-1,
    handle_ind = INVALID_HANDLE;

//Создаю
   handle_ind= iCustom(NULL,0,"ind");
   if(handle_ind== INVALID_HANDLE){
      Print("Не удалось создать индикатор. Код ошибки: ",GetLastError());
      return(false);
   }
   win_ind=(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL); //--- получим номер нового подокна, в которое добавим индикатор 
   if(!ChartIndicatorAdd(0,win_ind,handle_ind)){
      Print("Не удалось добавить индикатор на окно графика. Код ошибки: ",GetLastError());
      return(false);
   }

//Удаляю
   string name = ChartIndicatorName(0, win_ind, 0);
   bool res = ChartIndicatorDelete(0, win_ind, name); 
   if (!res) PrintFormat("Не удалось удалить индикатор %s с окна №%d. Код ошибки %d", name,win_ind,GetLastError());

在指标。

int OnInit(){
   IndicatorSetString(INDICATOR_SHORTNAME,"blablabla");

指示器已添加,子窗口编号和短名称正确,但删除时出现错误。

2019.05.08 12:01:10.068 2019.04.03 12:39:31 从2号窗口删除指标blablabla失败。错误代码 4014

4014 - "系统函数不允许被调用"。你能告诉我这是什么意思吗,如何删除指标?