MQL4 リアルタイムクロック(秒単位) - ページ 4 123456 新しいコメント AIRAT SAFIN 2011.03.09 15:29 #31 しかし、これはリアルタイムのソリューションではありません。 sleep()の場合は可能です。 削除済み 2011.03.09 15:44 #32 ですから、ティックバイティックとスリープを組み合わせれば、リアルタイムの時計になります。) zzuegg 2011.03.09 15:46 #33 もしこのソリューションがEAに実装されるなら、TimeCurrent()はもう必要なく、ループはSleep(Interval-Runtime)(単位:ms)によって制御されます。 ほとんどのコードは同じで、redraw()はもう必要ありません。また、コードの速度を上げる必要がある場合は、回転ゼロ点を持つ配列を使用することで、シフトループをなくすことができます。 この方法(または類似の方法)は、純粋なMQLのインジケータでできる最良の解決策です。DLLを使用し、外部プログラムに計算をエクスポート する場合、より良いソリューションがあることは確かです。 zzuegg 2011.03.09 15:47 #34 spidermagos: ですから、ティックバイティックとスリープを組み合わせれば、リアルタイムの時計になります。) はい、しかし、スリープはIndicatorsで可能ではありません、それはこのスレッドの初めからのあなたの問題です。 削除済み 2011.03.09 15:50 #35 zzuegg: はい、しかし、スリープは、このスレッドの初めからあなたの問題である、インディケータで可能ではありません。 EAがインジケータを呼び出すことができますか? zzuegg 2011.03.09 16:22 #36 はい、しかし、あなたの問題を解決することはできませんicustomを介してのみ。 bernd 2011.03.09 17:58 #37 チャートに1秒ごとにフェイクティックを送信するスクリプトを添付することができます。これは、マルチペアインジケーターやEAを一定間隔で更新するために、私が通常行っていることです。 zzuegg 2011.03.09 19:18 #38 7bit: チャートに1秒ごとにフェイクティックを送信するスクリプトを添付することができます。これは、マルチペアインジケーターやEAを一定間隔で更新するために、私が通常行っていることです。 そのためにDLLが必要なのか、それともなくても可能なのか? bernd 2011.03.09 19:32 #39 zzuegg: あなたはそのためのDLLが必要ですか、これはなしで可能ですか?mql4でほんの一行です(もちろん、Windows APIを呼び出すにはDLLが必要ですが、何もインストールする必要はありません)。 /** * MT4/experts/scripts/ticks.mq4 * send a fake tick every 1000ms to the chart and * all its indicators and EA until this script is removed. */ #property copyright "© Bernd Kreuss" #import "user32.dll" int PostMessageA(int hWnd, int Msg, int wParam, int lParam); int RegisterWindowMessageA(string lpString); #import int start(){ int hwnd = WindowHandle(Symbol(), Period()); int msg = RegisterWindowMessageA("MetaTrader4_Internal_Message"); while(!IsStopped()){ PostMessageA(hwnd, msg, 2, 1); Sleep(1000); } } 私はこのスクリプトをお気に入りに入れていて、ティックが必要なときはチャートにドラッグするだけです。 また、このスクリプトのバリエーションとして、1回だけティックを送信して終了するループなしのものがあり、これ(one_tick.mq4)をホットキーALT+Tにバインドして、ALT-Tを押すだけでアクティブなチャートにティックを送信できるようになりました。週末に実験している私のstat-arb EAのいくつかで、start()を強制して計算とグラフのプロットを行うためにこれが必要です(私はチャート上で線を動かして間隔を変更でき、それから彼らの計算を更新するために新しいティックが必要なのです)。 zzuegg 2011.03.09 19:52 #40 いいね、教えてくれてありがとう 123456 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
しかし、これはリアルタイムのソリューションではありません。
sleep()の場合は可能です。
ですから、ティックバイティックとスリープを組み合わせれば、リアルタイムの時計になります。)
もしこのソリューションがEAに実装されるなら、TimeCurrent()はもう必要なく、ループはSleep(Interval-Runtime)(単位:ms)によって制御されます。
ほとんどのコードは同じで、redraw()はもう必要ありません。また、コードの速度を上げる必要がある場合は、回転ゼロ点を持つ配列を使用することで、シフトループをなくすことができます。
この方法(または類似の方法)は、純粋なMQLのインジケータでできる最良の解決策です。DLLを使用し、外部プログラムに計算をエクスポート する場合、より良いソリューションがあることは確かです。
ですから、ティックバイティックとスリープを組み合わせれば、リアルタイムの時計になります。)
はい、しかし、スリープは、このスレッドの初めからあなたの問題である、インディケータで可能ではありません。
EAがインジケータを呼び出すことができますか?
チャートに1秒ごとにフェイクティックを送信するスクリプトを添付することができます。これは、マルチペアインジケーターやEAを一定間隔で更新するために、私が通常行っていることです。
あなたはそのためのDLLが必要ですか、これはなしで可能ですか?
mql4でほんの一行です(もちろん、Windows APIを呼び出すにはDLLが必要ですが、何もインストールする必要はありません)。
私はこのスクリプトをお気に入りに入れていて、ティックが必要なときはチャートにドラッグするだけです。
また、このスクリプトのバリエーションとして、1回だけティックを送信して終了するループなしのものがあり、これ(one_tick.mq4)をホットキーALT+Tにバインドして、ALT-Tを押すだけでアクティブなチャートにティックを送信できるようになりました。週末に実験している私のstat-arb EAのいくつかで、start()を強制して計算とグラフのプロットを行うためにこれが必要です(私はチャート上で線を動かして間隔を変更でき、それから彼らの計算を更新するために新しいティックが必要なのです)。
いいね、教えてくれてありがとう