for(i=limit-1; i>=0; i--) //цикл расчета нерассчитанных баров, наверное
{
BufferMacdMain[i] = iMACD(NULL, 0, macd_fast, macd_slow, macd_signal, PRICE_CLOSE, MODE_MAIN, i); // расчет значения основной линии масд на i баре
BufferMacdSignal[i] = iMACD(NULL, 0, macd_fast, macd_slow, macd_signal, PRICE_CLOSE, MODE_SIGNAL, i); // расчет значения сигнальной линии масд на i баре
BufferMacdOsMA[i] = BufferMacdMain[i] - BufferMacdSignal[i]; // разница основной и сигнальной линии масд на i баре
BufferTop[i] = EMPTY_VALUE; // буфер заполняется EMPTY_VALUE на i баре (не рисуется на графиках)
BufferBottom[i] = EMPTY_VALUE; // буфер заполняется EMPTY_VALUE на i баре (не рисуется на графиках)
BufferCross[i] = EMPTY_VALUE; // буфер заполняется EMPTY_VALUE на i баре (не рисуется на графиках)double main2 = BufferMacdMain[i + 2]; // переменная берет значение основной линии масд на i+2 баре с массива BufferMacdMaindouble main1 = BufferMacdMain[i + 1]; // переменная берет значение основной линии масд на i+1 баре с массива BufferMacdMaindouble sig2 = BufferMacdSignal[i + 2]; // переменная берет значение сигнальной линии масд на i+2 баре с массива BufferMacdSignaldouble sig1 = BufferMacdSignal[i + 1]; // переменная берет значение сигнальной линии масд на i+1 баре с массива BufferMacdSignalif((main1>=sig1 && main2<sig2) || // если main1>=sig1 и main2<sig2 тогда будет выполнятся условие (сигнальная пересекает основную снизу вверх)
(main1<sig1 && main2>=sig2)) // если main1<sig и main2>=sig2 тогда будет выполнятся условие (сигнальная пересекает основную сверху вниз)
ハイ、質問内容を言い換えてください、あまり明確ではありませんね。
ご回答ありがとうございました。私のEAでは.
if( 条件)
{バイストップとセルストップの2つの注文がオープン}。
なぜなら、この時点では、現在の価格から遠く離れたところに他の注文があるかもしれないからです。
私はオープンポジションカウンター+注文を削除するスクリプトを使用することができます(私が正しく考えているなら、私はそれを行う方法を知りません、私はちょうど始めたばかりです)情報を事前にありがとうございました。
そして、この時点で他の注文があるかもしれないので、ポジションの1つのオープニングで最も近い順序を削除する必要があります - 遠く、現在の価格から
私はオープンポジションカウンター+注文を削除するスクリプトを使用することができます(私が正しく考えているなら、私はそれを行う方法を知りません、私はちょうど始めたばかりです)情報を事前にありがとうございました。
専門用語を覚えてください、何が必要なのか理解するのは本当に困ります。
2つの注文を出すと、一方が開いたら、何を削除しなければならないのでしょうか?
これはいい考え方ですね、直近の注文は建玉の方向か 反対か、反対の保留の注文を消せということですか?
他の注文はありますか - 彼らは、マニュアル取引から来るのですか? 同じExpert Advisorから、しかし、異なる条件で開いていますか?
具体的な答えが必要なのか、それとも質問と同じように漠然としたものなのか?(質問内容を練るのに1分余分にかける - 皆の参考になります)
この行を読んで、私自身、投稿の文才がないというか、怠慢だと非難されたことを思い出し、今さらながら自分の非を自覚しています。
1)描画装置とは?って
2) MACDダイバージェンスを検索するための初歩的な関数は何ですか?
3) 検索エンジンで「ダイバージェンス」と書いて、「コードベース」カテゴリの3番目の リンクを選択するのは、そんなに難しいことなのでしょうか?
(誰かがあなたに既製のツールを与え、すべてを説明することを望むなら - 希望、ここで異なる人々があります:両方の信者とそうでない)。
プロキシミクスが何であるか知っていることを望みます!このフォーラムは形而上学のためのものだと思っていますか?
描画ツール - チャート上に出力したもの。
初級関数とは、複雑な式を使わず、MQL4の教科書だけで適用できる関数のことです。
MACDダイバージェンスを検出する際のインジケーターバッファの使い方。
どのように理解すればよいのでしょうか?
プロクセミクスの意味を知ってほしい! このフォーラムは形而上学のためだけのものだと思っているのか?
描画 - グラフへの出力あり。
初級関数とは、複雑な式を使わずに、MQL4チュートリアルのみで適用できる関数のことです。
MACDダイバージェンスを検出する際のインジケーターバッファーの使い方。
どのように理解すればよいのでしょうか?
まず、ダイバージェンスとは何か、それを判断するために必要な数値はいくつかを調べます。ここでは例を挙げて説明します。
プロキシミクスが何であるか知っていることを望みます!このフォーラムは形而上学のためのものだと思っていますか?
描画 - グラフへの出力あり。
初級関数とは、複雑な式を使わずに、MQL4チュートリアルのみで適用できる関数のことです。
MACDダイバージェンスを検出する際のインジケーターバッファーの使い方。
どのように理解すればよいのでしょうか?
ここは霊能者のクラブではないので、適切な答えが欲しければ適切な質問をすればいいのです。もし、どのように表現したらいいかわからなければ、遠くからでもよいのですが、特定の個人がこの言葉やこの言葉をどういう意味で使っているのか、100回以上尋ねる必要がないように、明確にすることです。
初等関数とは、複雑な式を使わない関数のことです。すごい。
ループを閉じるブラケットもなく、条件の後に関数もないコード - 何を期待しているのでしょうか?
必要なものを正確に理解するのは本当に大変なことなので、ぜひ用語を覚えてください。
2つの注文を出した場合、どちらかがオープンしたら、どちらを削除する必要がありますか?
ニアレスト・オーダー - 素晴らしいコンセプトですね。ニアレスト・オーダーはオープンポジションの方向なのでしょうか、それとも反対側のペンディングオーダーは削除されるべきということでしょうか?
他の注文はありますか - 彼らは、マニュアル取引から来るのですか? 同じExpert Advisorから、しかし、異なる条件で開いていますか?
具体的な答えが必要なのか、それとも質問と同じように漠然としたものなのか?(質問内容を練るのに1分余計にかける - これは全員の利益になる)。
1つの注文を出すと、反対側の保留中の注文を削除する必要があります。他の注文は同じEAのものですが、異なる条件で出されたものです。
ありがとうございました。
1つの注文を出すと、反対側の保留中の注文を削除 する必要があります。 他の注文は同じEAからのものですが、異なる条件で出さ れます。
ありがとうございました。
この仕組みはOCO(One Cansel Other:一方が他方を打ち消す)と呼ばれます。これは、例えば「成行注文」(MT4用語)のテイクとストップの関係です。一方(テイクまたはストップ)がトリガーされると、他方は自動的に削除され、これを完全に実装することはそれほど些細な作業ではありません。非常に複雑なアルゴリズムという意味ではなく、初歩的ではないという意味です。私たちは、注文の並列会計を書かなければならない:注文がリンクされている形跡を入力し、トレースします。私の記憶違いでなければ、このような仕組みは株式端末の標準機能であり、サーバー側で動作するものですが、MT5にも実装されていないようです。
クライアント側でその仕組みを実装し、マジシャンを「弄る」ことができる(この場合、「あまり」難しくはないだろう)。チェック時:市場ものがあれば、それ以外を削除する。それから、マジックを発生させる必要があります、同行。マジシャン用に別の配列を割り当てる。複数のオーダーのペアをサポートしなければならないかもしれない。マジックをなくすことは不可能であり、それ故にグローバル変数か ファイルへの書き込みのどちらかである。もし、よりグローバルなデータ(注文の接続性だけでなく、所属や海外も考慮)に注意を払えば、会計の仕組みはより複雑になります。マジシャンは複合的になり、実際には、(あなたの用語でいう)「基本」機能を使ってできるよりもはるかに深く注文の標準アルゴリズムを拡張する必要があります。とにかくすべてはクライアントサイドです。つまり、端末が停止したり通信できなくなると、端末は機能(注文を追跡する)しなくなるのです。
この仕組みは、OCO(One Cansel Other:一方が他方を打ち消す)と呼ばれています。これは、例えば「成行注文」(MT4用語)のテイクとストップの関係です。一方(テイクまたはストップ)がトリガーされると、他方は自動的に削除され、完全な実装はそれほど些細な作業ではありません。非常に複雑なアルゴリズムという意味ではなく、初歩的ではないという意味です。私たちは、注文の並列会計を書かなければならない:注文がリンクされている形跡を入力し、トレースします。私の記憶違いでなければ、このような仕組みは株式端末の標準機能であり、サーバー側で動作するものですが、MT5にも実装されていないようです。
しかし、クライアント側でその仕組みを実装し、マジシャンを「弄る」ことは可能である(この場合は「あまり」難しくない)。チェック時:市場ものがあれば、それ以外を削除する。それから、マジックを発生させる必要があります、同行。マジシャン用に別の配列を割り当てる。複数のオーダーのペアをサポートしなければならないかもしれない。マジックをなくすことは不可能であり、それ故にグローバル変数かファイルへの書き込みのどちらかである。もしこれをよりグローバルな方法で行うと(注文の接続性だけでなく、所属や海外も考慮する)、会計の仕組みはより複雑になります。マジシャンは複合的になり、実際には注文の標準アルゴリズムを、(あなたの用語でいうところの)「初級」関数を使ってできるよりもずっと深く拡張する必要がありますが、とにかくすべてがクライアントサイドです。
すみません、そんなに複雑だとは知りませんでした。どうすればシステムを簡略化できるか、考えてみます。
すみません、こんなに複雑だとは思いませんでした。どうすればシステムを簡略化できるか、考えてみます。
助けるために
これは、拡張性のない非常に「ささやかな」実装に過ぎません。EAのすべての 注文、またはマーケットがある場合は指定された シンボルに対する指定されたウィザードのすべての注文を 削除します。つまり、(マジックを考慮する/しないにかかわらず)その商品に発注されたすべての注文をCCA比率でリンクしていると見なすのです。
ということは全くないのかもしれません。例えば、20件の発注のうち、連動しているのは2~3組で、残りは全く連動していない、というような場合です。このEAは、このような会計処理に拡張することはできません。すべてを書き直すか、このEAを手動モードで使用することができます:リンクされた注文グループのマスターの会計処理を手動で行う必要があり、取引中の注文グループの数だけEAを「吊るし」なければならないのです。