//=====================================================================================================================================================================// 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); // Системный дескриптор окна графика, для эмуляции тика для индикаторов.
#import "user32.dll"
int PostMessageA (int hWnd, int Msg, int wParam, int lParam);
#import
PostMessageA (WindowHandle (Symbol(), Period()), 0x0111, 33324, 0);
Expert Advisorにインジケータコードを突っ込んで、そこで再計算しろということでしょうか?
もし、そのような指標が5つあったらどうでしょうか?
何か別の方法で再計算する方法はないでしょうか?
iCustom経由でExpert Advisorにすべてのインジケータを添付しています。
インジケータとその最後の値は、新しいバーごとに呼び出されますが、タイムフレームを変更して戻るまで、取引されたシンボルウィンドウに再描画されることはありません。
チャートをクリックして更新を押しても再描画されず、なぜかタイムフレームを変更したときだけ再描画されます。
あなたの想像力はわかりません。もし、このインジケーターのいいところを知りたいなら、そのコードを見て回るといい。特に、可変限界。このインジケーターに存在する。ちなみに、このインジケーターへのコメントから判断すると、作者はインジケーターのリライジングを禁止しており、好きなようにやっても良いのですが、リライジングの本質は数バー前のシグナルの出現なので、思い通りにならないのです。
頑張ってください。
私はあなたのファンタジーに気づいていません。インジケータから良い画像を得るには、そのコードを掘り下げる必要があります。特に、リミット変数で。このインジケーターに存在する。ちなみに、このインジケーターへのコメントから判断すると、作者はインジケーターのリフティングを禁止しています。 好きなようにやればいいのですが、リフティングの本質は数バー前のシグナルの出現ですから、思い通りになりません。
頑張ってください。
この関数をプログラムで呼び出す方法はありますか?
RefreshRatesはそれではないようです。
EAのコードを2~3行で実装する方法を教えてください。
シグナルが入ったとき(2つのMAが交差したときなど)
1.エキスパートアドバイザーは、シグナルの時間(時、分)を検出し、それを格納します。
2. 1分間カウントダウンします。
次に、何かをする準備(例:注文を開くなど)
メタトレーダーでは、どのツールウィンドウでも、右クリックするとUpdateボタンがあります。
この関数をプログラム的に呼び出す方法はありますか?
RefreshRatesはそれではないようです。
図書館4.7.7 ServiceTickIndicators()が必要です。
ただ、少しは待ったほうがいい。新バージョンを掲載しました。もしかしたら、今日、司会者が掲載するかもしれません。
図書館4.7.7 ServiceTickIndicators()が必要です。
ただ、もう少し待ったほうがいい。新バージョンを掲載しました。もしかしたら、今日、司会者が掲載するかもしれません。
有償?
メタトレーダーでは、どのツールウィンドウでも、右クリックするとRefreshボタンがあり
この関数をプログラム的に呼び出す方法はありますか?
RefreshRatesはそのようなことはないようです。
しかし、それでは何も得られない。:)
有償?
でも、それでは意味がない...。:)
視覚的に描き直さなければならないのです。
直近のN本のバーを循環させ、シグナルがあれば - signal=trueとする。
その後、再描画しない他のすべてのインジケータを好きなように使用することができます。
PostMessageA (WindowHandle(Symbol(),Period()),0x0111,33324,0)。
どこに挿入するのか?Startの冒頭で?
ありがとうございます。
視覚的に描き直されます。
直近のN本のバーを循環させ、シグナルがあった場合はsignal=trueとする。
そして、他の再描画しないインジケーターで好きなことをすればいいのです。
PostMessageA (WindowHandle(Symbol(),Period()),0x0111,33324,0)を参照してください。
どこに挿入するのか?Startの冒頭で?
ありがとうございます。
インジケータ呼び出しの 前(start()の最初でも可)。
P.S. 誰もが再描画から「逃げ」ているのに、その背後にいるのは--型破りな......。:))
インジケータを呼び出す前(start()の最初でも可)。
P.S. 誰もが再描画から「逃げて」いるのに、あなたはその陰に隠れている......型破りですね。:))
m5で再描画し、過去12本のシグナルがあるかどうかをチェックします。
そして、新しいm15 m30では、m5でシグナルが出たかどうか、価格がまだ適切かどうか、つまりエントリーの要件を満たしているかどうかをチェックします。
また、同じ時間帯に何回信号が変化したか、消えたかなどの分析も可能です。
また、シグナルには名前がついており、名前によって視覚的にチャートを分析することが可能です =)
総じて、実験の場としては大きいですね(笑)。
私の改造で
http://komplekt73.ru/forex/m5chastr.htm