mql5言語の特徴、微妙なニュアンスとテクニック - ページ 12

 
Leo59:
ありがとうございました。
私の理解では、「有効な注文」とは、買いおよび/または売りのポジションと、設定された(ブローカーが受け付けた)保留中の注文を指します。
ロングと ショートの ポジションを持ち、買い 指値と 売り指 値を設定している場合、OrdersTotal()は値=4を返しますよね?

買いポジションがあり、買い注文が有効である場合があります。上にコード例を示しましたが、指を使う方が簡単でしょう。オープンポジションの TPはどのようにトリガーされるのですか?

  • 価格が買いポジションのTPに到達する。
  • トレードサーバは対応するアクティブな売り注文を作成します。
  • すると、端末には買いポジションと売り注文が同時に表示されます。
  • 売り注文は、履歴に入り、そこで取引を発生させることで実行されます。
  • この取引はどこにも記録されず、取引履歴の中に間接的に存在します。

 
Leo59 です。
すべては昔から認められていることで、ドキュメントを書く前にSergei Kovalevのチュートリアル(MQL4に組み込まれています)を読むのも無理はないでしょう。
スレッドのタイトルを読んでください。誰もがMQL5のことだと思った。このフォーラムには、MQL4とMT4の対応セクションがあります。そこで質問すれば、答えは違ってくるはずです。
 
Leo59 です。
すべては長い間受け入れられてきたことであり、ドキュメントを書く前に、Sergei Kovalevのチュートリアル(MQL4に組み込まれている)を読むことはおそらく価値があることだろう。


このように、成行注文と未決済注文を分析するブロックを構築することができます。

   for (int i=1; i<=OrdersTotal(); i++)       //Цикл по всем ордерам,..
     {                                        //отражённым в терминале
      if(OrderSelect(i-1,SELECT_BY_POS)==true)//Если есть следующий
        {                                    
         // Здесь должен выполняться ..
         // ..анализ характеристик ордеров
        }
     }                                        //Конец тела цикла

ループ文のヘッダに初期値i=1を指定し、ループの終了条件はi<=OrdersTotal()という式になる。関数 OrdersTotal() は、Terminal の Trade タブに表示されている成行注文および 保留注文の合計金額を返します。したがって、ループの反復回数は、取引に存在する注文の数と同じになります。

コードを正しく挿入してください:フォーラムにコードを正しく挿入 してください(私はすでにあなたが挿入したものを修正しました - そして見て:あなたはただのテキストを挿入し、今それは構文強調表示で、CODEです)。
 
Vitaly Muzichenko:

チャーンする必要はない)

これはMT4のコードで、注文とポジションの区分はなく、すべてが混在しています。

MQL4とMQL5のOrdersTotal() 関数は違うのですか?コンパイラは同じのようです・・・。
 
Leo59 です。
すべては長い間受け入れられてきたことであり、ドキュメントを書く前に、Sergei Kovalevのチュートリアル(MQL4に組み込まれている)を読むことはおそらく価値があることだろう。


このように、成行注文と未決済注文を分析するブロックを構築することができます。

   for (int i=1; i<=OrdersTotal(); i++)       //Цикл по всем ордерам,..
     {                                        //отражённым в терминале
      if(OrderSelect(i-1,SELECT_BY_POS)==true)//Если есть следующий
        {                                    
         // Здесь должен выполняться ..
         // ..анализ характеристик ордеров
        }
     }                                        //Конец тела цикла

ループ文のヘッダに初期値i=1を指定し、ループの終了条件はi<=OrdersTotal()という式になる。関数 OrdersTotal() は、Terminal の Trade タブに表示されている成行注文および 保留注文の合計金額を返します。したがって、ループの反復回数は、取引に存在する注文の数と同じになります。

このスレッドはmql5でのプログラミングの特徴と微妙な点についてのものです)また、ループの書き方が間違っています。
 
Leo59 です。
OrdersTotal()はMQL4とMQL5で異なる関数ですか?コンパイラは同じのようです・・・。
はい、そうです。
 
Leo59 です。
OrdersTotal()はMQL4とMQL5で異なる関数ですか?コンパイラは同じのようです・・・。

トレーディング機能に関しては、違いがあります。MQL4については、すでに前述したとおりです。

MQL5では、OrdersTotal()は保留中の注文数を返しますが、MQL5では、OrdersTotal()は保留中の注文数を返します。ですから、MQL5では、カツは別、ハエは別というように、すべてが高いレベルでシステム化されています。
 
アルチョム・トリシキン
そう、違うんです。
そして、その違いは何なのか。
 
Leo59 です。
何が違うの?

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

mql5の特性、ヒントとコツ

ウラジミール・カルプトフ, 2017.02.28 19:44

取引機能については......違いがありますね。MQL4についてはすでに言及されていますね。

一方、MQL5のOrdersTotal()は、保留中の注文の数を返します。MQL5では、カツを分ける、ハエを分けるというように、すべてが高いレベルでシステム化されています。

 
Leo59 です。
何が違うの?

受注総額()

有効な注文の数を返します。

intOrdersTotal();

戻り値

int 型の値。

備考

有効な未決済注文は、「ツールボックス」パネルの「取引」タブに表示されるポジションと混同しないようにしましょう。注文は取引の 実行を指示するものであり、ポジションは1つ以上の取引の結果である。

ポジションの「ネッティング」(ACCOUNT_MARGIN_MODE_RETAIL_NETTINGとACCOUNT_MARGIN_MODE_EXCHANGE)では、いつでも各シンボルに対して1つのポジションしか開くことができず、それは一つまたは複数の取引の結果となっています。ツールボックス」パネルの「取引」タブにも表示されるポジションと有効な未決済注文は、混同しないように注意してください。

ポジションが独立して表示される場合(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)、各シンボルに対して複数のポジションを同時にオープンすることができます。


ポジショントータル()

オープンポジションの数を返します。

intPositionTotal()。

戻り値

int 型の値。

備考

ポジションの「ネッティング」(ACCOUNT_MARGIN_MODE_RETAIL_NETTINGおよびACCOUNT_MARGIN_MODE_EXCHANGE)では、1つまたは複数の取引から生じる各シンボルに対していつでも1つのポジションのみを建てることができます。ツールボックス」パネルの「取引」タブにも表示されるポジションと有効な未決済注文は、混同しないように注意してください。

ポジションが独立して表示される場合(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)、各シンボルに対して複数のポジションを同時にオープンすることができます。


理由: