MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 25

 
Artyom Trishkin:
トレンドライン ではなく、グラフィカルなオブジェクトではなく、バーチャルなラインを構築する。それぞれ、ObjectGetValueByShift("1",bar_seek)ではなく、直線の方程式で値を取得するようにします。
ありがとうございます。)
 
Nikolay Gaylis:
ありがとうございます! 試してみます(笑)。
どういたしまして...。
 
Nikolay Gaylis:
ありがとうございます!やってみます)

昔、mql4.comで記事を 書いたことがある。仮想トレンドラインの操作と、その仮想ラインの右側のバーで正しい価格値を検索する方法が詳しく説明されています。

この記事を元にしたインジケーターが kodobaseにあります。その中で、私はすでに新しいmql4用のコードを作り直しました。

 
Artyom Trishkin:
という思いがあったのでしょう。ただし、このチェックでは、保留中の注文だけでなく、取引口座に関するすべての操作(入金、出金、ボーナスなど)も考慮されます。
ニコライ・ゲイリス

この条件では、基板はスタックオーダーでしか 動作しませんが、そのような意図があったのでしょうか?

    if(OrderSymbol() ==Symbol() &&OrderType()<2)
          continue;
注文の特性

OrderSend()関数の操作の種類。以下の値のいずれかを指定する。

定数
価値
商品説明
OP_BUY
0
購入
OP_SELL
1
販売する
OP_BUYLIMIT
2
買い指値注文の保留
OP_SELLLIMIT
3
売り指値注文の保留
OP_BUYSTOP
4
買付停止注文の保留
OP_SELLSTOP
5
売り停止注文の保留


保留中の注文は、現在のシンボルに対してのみ成行注文に変換されるまで、全く取り込まれないという計算です。現在のシンボルに対する最後の成行注文(多数ある場合)が処理された後、EAはチャートから削除されます(現在は最初の注文がトリガーされるとすぐに削除され、現在のシンボルに対する1つの注文と別の注文がある場合のみ、EAはそれを考慮に入れています)。

なぜこのようなことが起こるのか、また、どこにリターニーオーダーを置けばいいのか、次のオーダーがクローズしたときにcount++以降の条件に直接関数を送り、最後のオーダーがトリガーした後にのみプレイサウンドを開始するようにしたいのですが、どうすればいいでしょうか?最後にOrderselect()を入れて決定(注文が終了しており、注文を選択できない場合はこのチャートでは何もできません)。

 
trader781:
注文の特性

...


保留中の注文は、現在のシンボルに対してのみ成行注文に変換されるまで、全く考慮されません。現在のシンボルに対する最後の成行注文(多数ある場合)が処理された後、Expert Advisor はチャートから自身を削除します(最初の注文がトリガーされた直後に削除され、現在のシンボルに対する1つの注文と別の注文がある場合は、それを考慮します)。

なぜこのようなことが起こるのか、また、どこにリターニーを置けばいいのか、次の注文が成立したときに、count++以降の条件にすぐに関数を送り、最後の注文が発動した後に初めてplaysoundが実行されるようにするため。最後に、Orderselect()を入れて、最後の1つを決定します(もし、注文が終了していて、注文を選択できない場合は、このチャートでは何もすることがありません)。

if(OrderSymbol() ==Symbol() &&OrderType()<2)
          continue;

このコードでは、ループ内のすべての成行ポジションをスキップします。

この後のことは私にはわかりませんが、もし他の注文タイプ、つまり2以上の注文を処理することになれば、その処理にはすべてのタイプの保留中の注文と タイプ6の注文、つまり口座上のアクションが考慮されることになります。

全サイクルを網羅したコードはどこにある?

 
Artyom Trishkin:
if(OrderSymbol() ==Symbol() &&OrderType()<2)
          continue;


全サイクルを網羅したコードはどこにある?

ポスト236

このセクションは、現在の楽器のマーケットのものだけを通過させる必要があります。

 
trader781:

ポスト236

このセクションは、現在の楽器でマーケットにあるものだけを通過させる必要があります。

あなたの持っているこのループは、まったくバカみたいに空っぽです。全く意味がありません。アカウントに大量の注文が あると遅くなるだけです。

そして、コードを整頓してください。それはコードではなく、ただの読めないゴミです。

また、OnTick()で二重中括弧が必要なのはなぜですか?その神聖な意味とは何でしょうか。

 
アルチョム・トリシキン

そして、コードを整えなさい。それはコードではなく、ただの読めないガラクタです。

誤解のないようにお願いします。もし、あなたが望むようなやり方ができるのなら、私はここに座っていないでしょう。だから、今の課題を解決するために、協力をお願いしているのです。

 
trader781:
アルチョム・トリシキン:

そして、コードを整えなさい。それはコードではなく、ただの読めないガラクタです。

誤解のないようにお願いします。もし、あなたが望むようなやり方ができるのなら、私はここに座っていないでしょう。だから、今の課題を解決するために、あなたに協力をお願いしているのです。

もしかしたら、コードから空行を削除することができるかもしれませんね。何か特別な技術が必要なのでしょうか?

実は、Ctrl+", "というキーの組み合わせがあるのですが、これはスタイラーの ことです。悪いとはいえ、やはり。そして、コードから空の行を削除して、「くだらないもの」を見てもらわないようにします。それは、最もシンプルなコミュニケーションの文化です。

しかし、コードをきれいにすれば、あなた自身はもちろん、あなたのロジックを理解する必要のある他の人たちにとっても読みやすくなります。すべての欠点がそこに見えてくる。

 
Artyom Trishkin:

コードから空行を削除する方法はご存知でしょう?何か特別な技術が必要なのでしょうか?

実は、キーボードショートカットのCtrl+", "というスタイラスが あります。悪いとはいえ、やはり。そして、コードから空の行を削除して、「くだらないもの」を見てもらわないようにします。それは、最もシンプルなコミュニケーションの文化です。

しかし、コードをきれいにすれば、あなた自身はもちろん、あなたのロジックを理解する必要のある他の人たちにとっても読みやすくなります。そして、自分の欠点がすべてそこに見えてしまうのです。

コードをきれいにすると、あなた自身はもちろん、あなたのロジックを理解する必要のある他の人たちにとっても読みやすくなります。そこにすべてのバグが見られることになります。

よし、これでいいのか?
ファイル: