すべてのオープンアクティブオーダーからネットフローティングピップカウントを取得するにはどうすればよいですか?
Results 1 to 7 of 7

Thread: すべてのオープンアクティブオーダーからネットフローティングピップカウントを取得するにはどうすればよいですか?

  1. #1
    こんにちは、mql4のターミナルで現在開いているすべての注文からネットピップカウントを取得するにはどうすればよいですか?

  2. #2
    Quote Originally Posted by ;
    {quote} OrderSelectはブール値であるため、「==1」は必要ありません。 0.1を掛けて、ポイントからピップに変換します。また、ブラケットが1つだけ続く場合は、ブラケットは必要ありません。また、常に注文をカウントダウンしてください。しかし、はい、私はいくつかのタイプミスがありました
    私の電話でそれをやっています。今編集しました。
    わかりました。これは実際には機能しませんでした。正しいフローティングピップカウントではないことがわかっていても、何らかの理由で常に35.xxが表示されます。

  3. #3
    ああ、なるほど。ありがとうございました!

  4. #4
    Quote Originally Posted by ;
    {quote}なぜ合計に0.1を掛けているのですか?そして、forループに欠けているように見えるブラケットはどうですか?これが私の試みです....doublecalcNetPips(){double sum = 0; for(int i = 0; ilt; OrdersTotal; i ){if(OrderSelect(i、SELECT_BY_POS、MODE_TRADES)== 1){RefreshRates(); if(OrderType == 0)sum = Bid-OrderOpenPrice(); else sum = OrderOpenPrice()-質問; }} return sum * = 0.1; }
    OrderSelectはブール値なので、#8220; == 1#8221; isn#8217;必要ありません。 0.1を掛けて、ポイントからピップに変換します。また、ブラケットが1つだけ続く場合は、ブラケットは必要ありません。また、常に注文をカウントダウンしてください。しかし、はい、私はいくつかのタイプミスがありました
    私の電話でそれをやっています。今編集しました。

  5. #5

    Quote Originally Posted by ;
    こんにちは、mql4のターミナルで現在開いているすべての注文からネットピップカウントを取得するにはどうすればよいですか?
    このようなもの:挿入されたコードdouble sum = 0; for(int o = OrdersTotal()-1; ogt; = 0; o#8212;)if(OrderSelect(o、SELECT_BY_POS、MODE_TRADES){RefreshRates(); if(OrderType()== 0)sum =Bid-OrderOpenPrice (); if(OrderType())sum = OrderOpenPrice()-Ask;} sum * = 0.1; Print(#8220; Order Pip Sum =#8220; (string)sum);

  6. #6

    Quote Originally Posted by ;
    {quote}次のようなもの:double sum = 0; for(int o = OrdersTotal()-1; ogt; = 0; o#8212;)if(OrderSelect(o、SELECT_BY_POS、MODE_TRADES){RefreshRates(); if(OrderType == 0)sum = Bid-OrderOpenPrice() ; if(OrderType)sum = OrderOpenPrice()-Ask;} sum * = 0.1; Print(#8220; Order Pip Sum =#8220; (string)sum);
    なぜ合計に0.1を掛けているのですか?そして、forループに欠けているように見えるブラケットはどうですか?これが私の試みです...挿入されたコードdoublecalcNetPips(){double sum = 0; for(int i = 0; ilt; OrdersTotal; i ){if(OrderSelect(i、SELECT_BY_POS、MODE_TRADES)== 1){RefreshRates(); if(OrderType == 0)sum = Bid-OrderOpenPrice(); else sum = OrderOpenPrice()-質問; }} return sum * = 0.1; }

  7. #7

    Quote Originally Posted by ;
    {quote}わかりました、これは実際には機能しませんでした。正しいフローティングピップカウントではないことがわかっていても、何らかの理由で常に35.xxが表示されます。
    コード、特に#8220; else#8221 ;を使用しましたか? #8220; else#8221;を使用する場合次の#8220; if(OrderType()== 0)#8221;その後、合計に保留中の注文も含まれます。挿入されたコードif(OrderType()== 0)//成行注文を購入else {}/他のすべての注文市場 保留中I#8217;それが問題かどうかはわかりませんが、問題がある場合は、注文タイプを明示的に指定する必要があります個別に。挿入されたコードif(OrderType()== 0)//成行注文を購入if(OrderType()== 1)//成行注文も販売if(OrderType())//成行注文を販売//列挙型も使用できます://OP_BUY = 0、OP_SELL = 1 if(OrderType()== OP_BUY)if(OrderType()== OP_SELL)また、割り当てを返すことはできないため、次のようになります。return sum * = 0.1;動作しないでしょう;最初に乗算を実行してから、値を返す必要があります。挿入されたコードsum * = 0.1;合計を返す;/またはsum*0.1を返します;

投稿権限

  • Youma新しいスレッドを投稿しない
  • Youmaは返信しない
  • あなたは添付ファイルを投稿しないかもしれない
  • Youma Notedityourposts
  •  
  • スマイリーはオンです
  • スマイリーはオンです
  • [IMG]コードがオンです
  • [VIDEO]コードがオンです
  • HTMLコードがオフです
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.