granit77: Когда я говорил о тайне, то имел в виду великую тайну поиска. Она заключается в том. что надо ПРОЧИТАТЬ материалы, на которые он покажет. Ссылки уже боюсь давать, привожу готовый текст.
ニックビラック 2007.09.03
...を追加して、エキスパートが単体のスケジュールで動作するようにする必要があります。
を起動時に表示します。
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message"); //EA用インカミングティック
それで...どうすればいいんだ?
googleで検索してみてください -標準以外のTFで取引 site:mql4.comと「equi(スタンドアロン)チャートでアドバイザー、など」のような亜種があります。
もしくは、我慢できなくなった純子が自ら解説してくれるまで待つ :))
それで...どうすればいいのか?
周知の通りです。いろいろと書かれていますね。物語を作るのにどんなツールを使ったかは関係ありません。ポイントは、Expert Advisorが動作するようにチャートを更新することです。
これは、WinAPIによって行うことができます。ここでは何度も説明しています。ライブラリーを 書きました。ここに 掲載しました。
チャートの自律的な更新を制御するための関数が含まれています。スクリプトや専門家を必要としません。しかし、万人向けではありません。また、Expert Advisorやスクリプト、インジケーターからチャートを更新する機能もあり、誰でも利用することができます。使いこなすのはもっと難しい。なぜなら、どのプログラムがチャートを更新するかを考えなければならないからです。例はテストスクリプトにあります。
プログラマーの皆様へ。
現在のバーに表示される移動平均 レベルの値を設定する方法について教えてください。
移動平均の値そのものではなく、そのレベル(上方および下方への乖離、МАメニューの「レベル」タブで設定)の値を意味しています。
これらの値は、MAレベルに追従して勝手に変化していきます。
この図は、可能な限りのバリエーションです。
ありがとうございました。
その謎はすでに解明されている)。記事を読み、フォーラムに目を通し、検索に目を通しました。Strategy Tester で非標準のチャートを使用する方法の説明がありますが、例が見つかりません。このようなチャートで Expert Advisor をリアルタイムに動作 させるにはどうしたらよいでしょうか。
WinAPIは私にとっては暗い森です。mql4でビルダーやそのExpert Advisorの内部で何かをする方法、ビルダーとExpert Advisorを組み合わせる方法はありますか?
今後、Expert Advisorとしてどう使っていけばいいのか、全くわからない。
nickbilac 2007.09.03.
...ExpertAdvisorが自律的なチャートで動作するためには、追加する必要があります。
を起動時に表示します。
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message"); //EA用インカミングティック
最初のPostMessageAの後
PostMessageA(hwnd,MT4InternalMsg,2,1); //EA用インカミングティック
と、user32.dllの関数記述のWinUser32.mqhにあります。
int RegisterWindowMessageA(string lpString)。
(この解決策は英語フォーラムでSlavaが提案したものです。)
RefreshRates();
ticket=OrderSend(Symbol(),OP_SELL,0.1,NormalizeDouble(Bid,Digits),0,NormalizeDouble(Ask+15*Point,Digits),0, "test",8,0, red);
開発者の皆様からコメントいただければ大変幸いです。
granit77:
Когда я говорил о тайне, то имел в виду великую тайну поиска. Она заключается в том. что надо ПРОЧИТАТЬ материалы, на которые он покажет. Ссылки уже боюсь давать, привожу готовый текст.
ニックビラック 2007.09.03
...を追加して、エキスパートが単体のスケジュールで動作するようにする必要があります。
を起動時に表示します。
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message"); //EA用インカミングティック
最初のPostMessageAの後
PostMessageA(hwnd,MT4InternalMsg,2,1); //EA用インカミングティック
そして、WinUser32.mqhの関数記述の中にuser32.dllを追加します。
int RegisterWindowMessageA(string lpString)。
チケットの前にRefreshRates();をすると、requoteが少し減るのでしょうか?
状況によって異なります。もし、2つのオーダーが連続している場合、2つ目のオーダーを設定する前にRefreshRates()を呼び出すことは理にかなっています。ほら、サーバーに注文を出すと、注文が開くじゃないですか。サーバーが反応するまで、一定の時間が経過します。この間、相場が変わることもあるので、サーバーが応答したらすぐにRefreshRates()を呼び出して、端末のデータを更新する必要があります。これで、次の注文を開ける命令を出すことができる。単にシグナルをチェックしてすぐに注文を出すのであれば、RefreshRates()を呼び出す理由はないでしょう。なぜなら、start関数は新しいティックの到着時に呼ばれるため、EAがシグナルをチェックするまでの時間がおろそかになる可能性があるからです。
チケットは何の関係があるのですか?チケットは、サーバー上の注文番号...
えーと、ticket=OrderSend(......)のつもりだったんですが。
そして、彼らはあなたに何を言ったのですか?