[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 40

 
Twilight:


你是否建议将指标代码塞进专家顾问,并在那里重新计算?

如果有5个这样的指标呢?

是否有办法以不同的方式重新计算它们?

我通过iCustom将所有指标附加到专家顾问上。

指标和它的最后一个值在每个新的条形图上被调用,但它不会在交易的符号窗口中重新绘制,直到你改变时间框架并返回。

如果你点击图表并按下更新键,它不会重新绘制,由于某些原因,只有当你改变时间框架时才会重新绘制。

我不知道你的想象力。如果你想对该指标有一个很好的了解,你应该在其代码中寻找。特别是变量的限制。它存在于这个指标中。顺便说一下,从对这个指标的评论来看,它的作者已经禁止该指标重新调整,你可以按照你的意愿去做,但你不会得到你想要的东西,因为重新调整的本质是几个柱状前信号的出现。

好运。

 
silatyt:

我不知道你有什么幻想。为了从一个指标中获得一个漂亮的图片,你必须在其代码中进行挖掘。特别是,与极限变量。它存在于这个指标中。顺便说一下,从对这个指标的评论来看,作者禁止该指标进行回调。 你可以按照自己的意愿去做,但你不会得到你想要的东西,因为回调的本质是几个柱状前信号的出现。

好运。

在Metatrader中,在任何工具窗口中,如果你右键单击,有一个刷新按钮

是否有办法以编程方式调用这个函数?

RefreshRates似乎不是它。

 

你能告诉我如何用两到三行实现EA代码吗?

当有信号出现时(例如,两个MAs的交叉)。

1.专家顾问检测信号的时间(以小时、分钟为单位),并将其储存起来。

2.倒数一分钟。

接下来,准备做一些事情(如开立一个订单)。

 
Twilight:
在Metatrader的任何工具窗口中,如果你右击,有一个更新按钮

有什么办法可以以编程方式调用这个函数吗?

RefreshRates似乎不是它。


图书馆。你 需要4.7.7 ServiceTickIndicators()。

 //=====================================================================================================================================================================
 // 4.7. Функции для управления обновлением графика.
 //=====================================================================================================================================================================
 // 4.7.1. Функция запускает обновление всех графиков с указанным периодом. Если обновление уже запущено, то функция меняет период обновления графиков.
 //        Останавливается обновление функциями "ServiceStopRefreshChart()" или "ServiceStopRefreshAllCharts()" или закрытием графика.
 void ServiceRefreshAllCharts(int nPeriodMilliSec); // Период обновления графика в миллисекундах.
 //=====================================================================================================================================================================
 // 4.7.2. Функция запускает обновление всех графиков однократно. Вызов функции при работающих других режимах останавливает обновление всех графиков.
 void ServiceRefreshAllOnceCharts();
 //=====================================================================================================================================================================
 // 4.7.3. Функция запускает обновление указанного графика с указанным периодом. Если обновление уже запущено, то функция меняет только период обновления графика.
 //        Останавливается обновление функциями "ServiceStopRefreshChart()" или "ServiceStopRefreshAllCharts()" или закрытием графика.
 void ServiceRefreshChart(int hwndChart,        // Системный дескриптор обновляемого графика.
                          int nPeriodMilliSec); // Период обновления графика в миллисекундах.
 //=====================================================================================================================================================================
 // 4.7.4. Функция останавливает обновление указанного графика.
 void ServiceStopRefreshChart(int hwndChart); // Системный дескриптор графика, на котором останавливается обновление.
 //=====================================================================================================================================================================
 // 4.7.5. Функция корректно останавливает обновление всех графиков при bTerminate = FALSE, иначе функция завершает обновление аварийно.
 void ServiceStopRefreshAllCharts(int bTerminate); // Флаг аварийной остановки потоков обновления графиков.
                                                   // FALSE - потоки останавливаются корректно, TRUE - потоки останавливаются аварийно.
 //=====================================================================================================================================================================
 // 4.7.6. Функция эммулирует тик для эксперта на указанном графике.
 void ServiceTickExpert(int hwndChart); // Системный дескриптор окна графика, для эмуляции тика для эксперта.
 //=====================================================================================================================================================================
 // 4.7.7. Функция эммулирует тик для индикаторов на указанном графике.
 void ServiceTickIndicators(int hwndChart); // Системный дескриптор окна графика, для эмуляции тика для индикаторов.

只是最好再等一等。发布了一个新的版本。也许版主今天会把它贴出来。

 
Zhunko:

图书馆。你 需要4.7.7 ServiceTickIndicators()。

只是最好再等一等。发布了一个新的版本。也许版主今天会把它贴出来。


付了钱?

 
Twilight:
在Metatrader中,在任何工具窗口中,如果你右键单击,有一个刷新按钮

有什么办法可以以编程方式调用这个函数吗?

RefreshRates似乎不是这样的。


#import "user32.dll"
int PostMessageA (int hWnd, int  Msg, int wParam, int lParam);
#import

PostMessageA (WindowHandle (Symbol(), Period()), 0x0111, 33324, 0);

但它不会给你任何东西。:)

 
Twilight:


付了钱?

没有,哪里写着支付了?
 
silatyt:

但这对你没有任何好处...:)

你必须在视觉上重新绘制它。

循环查看过去的N个柱子,如果有一个信号--信号=真。

此后,你可以对所有其他非重绘指标做任何你想做的事。

PostMessageA (WindowHandle (Symbol(),Period()),0x0111,33324,0) 。

在哪里插入?在开始的时候?

谢谢你。

 
Twilight:

它将在视觉上被重新绘制。

循环浏览最后的N个柱子,如果有一个信号,那么信号=真。

然后你可以对任何其他非重绘指标做任何你想做的事。

PostMessageA (WindowHandle (Symbol(),Period()),0x0111,33324,0) 。

在哪里插入?在开始的时候?

谢谢你。

指标调用 之前(你也可以在start()的开头做)。

P.S. 每个人都在 "逃避 "重划,而你在背后--非常规地...:))

 
silatyt:

在调用指标之前(也可以是在start()的开头)。

P.S. 大家都在 "逃避 "重绘,而你却在后面......:))


例如,这里有一个变体。 我们在M5上重新绘制,并检查过去12个柱子是否有信号。

而在新的m15 m30上,我们检查m5上是否有信号,以及价格是否仍然相关,即满足进入的要求。

而且还可以分析在同一小时内,信号有多少次改变、消失等等。

而且信号有一个名称,可以通过名称直观地分析图表=)

总的来说,这是一块没有耕种过的实验田。 但到目前为止,这样的结果=)

经过我的修改

http://komplekt73.ru/forex/m5chastr.htm