错误、漏洞、问题 - 页 1548

 
comp:
那么你就不能通过事件中断计算。

好吧,那就换个角度看吧。

你可以人为地使之平行化--通过在图表上放置第二个指标。

而通过从两者中访问GlobalVariableSetOnCondition

 
o_O:

好吧,那就换个角度看吧。

你可以人为地使之平行化--通过将第二个指标放在图表上。

而通过从两者中访问GlobalVariableSetOnCondition

我不明白。
 
comp:
我不明白。

第二个指标是一个信号器,它从ChartEvent向主指标发送事件,作为一个自定义指标+改变全局变量 的状态,例如以ms为单位的时间。

在主指标中,你捕捉到这个事件并开始计算,+查看全局变量以确保它的ms时间与你开始计算的时间相同。

如果其中的时间发生了变化,那么一个新的事件已经到来--你就打破了你当前的计算。

像这样。

---

或者你可以简单地在每个图表事件中改变gp中的ms,而只在主指标中控制它。

一般来说--第二个指标会并行化

 

你好!给一个新手一点帮助。我似乎无法掌握OnBookEvent事件的处理方法。

如果你从onTick()调用这个事件,一切都能正常工作。如果onTick()是空的,那么就没有任何作用。我不明白什么,OnBookEvent是在玻璃发生变化时被调用的,也就是说,它是一个单独的事件处理程序,本质上与onTick()在发生刻度时被调用是一样的。为什么它不工作?

这就是它的工作方式。那么,它是如何工作的呢?它是在发生打勾时打印 "任何东西",而不是在杯子里有变化时打印。例如,出价量发生了变化,在某个价格上,杯中变化的OnBookEvent处理程序应该被调用 ,但它并没有发生。如果onTick()留空,它甚至不会打印任何东西。

int OnInit()

{

如果!MarketBookAdd("RTS-6.16")

{

Print("Error",GetLastError())。

}

否则

{

Print("Done")。

}

空白的OnDeinit(const int reason)。

{

MarketBookRelease("RTS-6.16")。

}

空白的OnTick()

{

OnBookEvent(_Symbol)。

}

空白的OnBookEvent(const string &symbol)。

{

MqlBookInfo book[];

MarketBookGet("RTS-6.16", book)。

如果(ArraySize(book) == 0)

{

printf("Failed load market book price.原因:" + (string)GetLastError())。

返回。

}

Print("Anything")。

}

 
刚在其他乐器上试过,都能用!!!!这怎么可能呢?它只在rts上不工作!!!。
 
问题解决了,它自己在工作了!
 

https://www.mql5.com/ru/docs/constants/structures/mqltraderequest 帮助中的错误

SL & TP Modification

修改StopLoss和/或TakeProfit水平的交易指令。4个字是必须的。

-行动

-符号

-sl

-tp

-位置

添加了字段 ,但需要填写的字段数仍为4个。
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov:

帮助中的错误 https://www.mql5.com/ru/docs/constants/structures/mqltraderequest

增加了字段 位置,但需要填写的字段数仍为4个。
阿列克谢,在这里写没有意义,你必须向服务台发出请求。同时,也会有+的评级 )
 
Alexey Volchanskiy:
阿列克谢,在这里写信是没有意义的,你必须向Servisdek发送请求。同时,它将被+到评级 )
我太老了,不能再追评了: ))))他们不会解决这个问题,也不需要解决。
 
o_O:

你把第二个指标作为一个信号器,从ChartEvent+改变全局变量 的状态(例如,以ms为单位的时间)向主指标发送一个自定义事件。

在主指标中,你捕捉到这个事件并开始计算,+查看全局变量以确保它的ms时间与你开始计算的时间相同。

如果其中的时间发生了变化,这意味着一个新的事件已经到来--而你打破了你目前的计算。

像这样。

---

或者你可以使用信号器在每个图表事件中改变gp中的ms,并且只在主指标中控制它。

一般来说--第二个指标会并行化

明白了,谢谢。不幸的是,这个解决方案只能在专家顾问中发挥作用(在专家顾问中必须中断计算)。这在指标中是行不通的,因为在图表上调用指标不会创建一个平行的图表队列,它会进入同一个事件队列,甚至不是针对某个特定图表,而是针对这个符号的所有图表。

我如何将指标作为MQ5资源而不是EX5资源?