1つのEAに複数のマジックナンバーを持つ複数の注文を数える
Results 1 to 6 of 6

Thread: 1つのEAに複数のマジックナンバーを持つ複数の注文を数える

  1. #1
    それで、私は、同時に動かすことができたり、オン/オフを切り替えることができる、異なる取引パラメータを持つモジュールを同時に処理できるEAを作成することができました。私は注文数の扱いで壁に突っ込んでいますが。

    私は、ModuleAの総ポジションとModuleBの総ポジションに対するEAカウントMaxTotalPositionsを取得したいと思います。 EAはMax Total(A = B)を超えてはいけませんが、TotalforModuleAとBを超えてはいけません。たとえば、MaxTotalが2で、ModuleAとBの合計がそれぞれ1である場合、2を超えることはできません。この部分は簡単です。しかし、Maxが2でModuleAが1の場合、それは最大2まで取引されています。私は魔法で注文を呼び出して数えやすくしましたが、どこかMaxPerModuleを超過しています。誰にどのようにこれにアプローチする考えを持っていますか?コードは正しくコンパイルされているので、構文エラーはありません。コードの部分は次のとおりです。

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    TotalMaxPositionsは、EAの先頭でextern変数としてグローバルに宣言されます

    extern double TotalMaxPositions = 2;

    ///////////////////////////////////////////////////////////////////////////////////////////////

    //------------------------------------------------ -
    //MAX POSITIONSオーダーカウント
    //------------------------------------------------ -

    int TotalCurrentOrders;
    int count = 0; int count = 0; int total; int totalB;

    TotalCurrentOrders = OrdersTotal();
    if(TotalCurrentOrders gt; = TotalMaxPositions)return(0);

    else

    if(TotalCurrentOrders lt; TotalMaxPositions)

    {

    if(countA gt; = MaxPositionsA)return(0);
    if(countA lt; MaxPositionsA)
    for(int posA = 0; posA lt; totalA; posA )
    {
    if(OrderSelect(posA、SELECT_BY_POS)== false)続行します。
    if(OrderMagicNumber()== MagicA)countA ;
    }

    if(countB gt; = MaxPositionsB)return(0);
    if(countB lt; MaxPositionsB)
    for(int posB = 0; posB lt; totalB; posB )
    {
    if(OrderSelect(posB、SELECT_BY_POS)== false)続行します。
    if(OrderMagicNumber()== MagicB)countB ;
    }

    if(TotalCurrentOrders gt; = TotalMaxPositions)return(0);

    }

  2. #2

    Quote Originally Posted by ;
    それで、私は、同時に動かすことができたり、オン/オフを切り替えることができる、異なる取引パラメータを持つモジュールを同時に処理できるEAを作成することができました。私は注文数の扱いで壁に突っ込んでいますが。私は、ModuleAの総ポジションとModuleBの総ポジションに対するEAカウントMaxTotalPositionsを取得したいと思います。 EAはMax Total(A = B)を超えてはいけませんが、TotalforModuleAとBを超えてはいけません。たとえば、MaxTotalが2で、ModuleAとBの合計がそれぞれ1であれば、2を超えることはできません。これは...
    なぜこれは倍ですか?挿入されたコードextern double TotalMaxPositions = 2; intをdoubleと比較しようとすると、たとえそれが同じでもないことがわかります。 。 。

  3. #3

    Quote Originally Posted by ;
    TotalCurrentOrders = OrdersTotal(); if(TotalCurrentOrders gt; = TotalMaxPositions)return(0);
    その後、
    Quote Originally Posted by ;
    else if(TotalCurrentOrders lt; TotalMaxPositions)
    次にいくつかのコードをいくつかカウントしていますが、結果に何もしていないようです
    Quote Originally Posted by ;
    if(TotalCurrentOrders gt; = TotalMaxPositions)return(0);
    あなたがすでにテストしたもの(最初の引用)とそうでなければ偽であることが分かっている場合は、ELSEは実行されませんでした。コードには、TotalCurrentOrdersまたはTotalMaxPositionsの値を変更するものは何もありません。

  4. #4

    Quote Originally Posted by ;
    {quote}これはなぜ二重ですか? extern double TotalMaxPositions = 2; intをdoubleと比較しようとすると、たとえそれが同じでもないことがわかります。 。 。
    私はそれを変更するにはあまりにも怠惰だったので、それはダブルです。デフォルトでは、すべてのexternはdouble型であり、コンパイルされない場合はそれらを変更します。 EAのコンセプトEA内で複数のEAを終えたばかりで、10以上の変数とSL TPとオフ/オフ切り替えの余地を残しました。今私はEAの中で私のエイジと一緒に野生に行く。アイデアをそのようにテストする方が簡単です。最後のEAスレッドの入力をお寄せいただきありがとうございます。あなたの返信とともに、EAはあなたの言葉を何とかして、それを手に入れました。私はdoubleとintのコメントを心に留めてテストしますが、各ModuleのTotalOrdersを追加したり減算したりしないGumraiの返答は、私が見る必要があるかもしれないと思います。

  5. #5

    Quote Originally Posted by ;
    {quote} Then {quote}コードには、TotalCurrentOrdersまたはTotalMaxPositionsの値を変更するものは何もありません。
    ありがとうございました。私はそれを見てみましょう。私は私が(int posB = 0; posB lt; totalB; posB ){if(OrderSelect(posB、SELECT_BY_POS)== false)の場合と同じ方法で処理すると仮定しています。 if(OrderMagicNumber()== MagicB)countB ; }しかし、私が満足する必要があるものの値を変更することによっても。コードは私が思ったよりもトリッキーですが、ロジックの変更を実行できるはずです(少なくとも私が望むものです)。提案してくれてありがとう、私はそれを試してみるよ。

  6. #6
    これで結果が得られましたか?私は4つのBuyStopSellStop注文を持っていて、ある特定の直径に基づいて作動します。私は個々の注文修正子を持っていますので、チケット番号で修正するように見えます(これは、毎回modifiyチケットIDを変更した順番に、チケットIDを変更して、それを変更しようとすると、マジックナンバーを使用する必要があります。EAのその部分は正常に動作していますが、私は自分のやり方を視覚化するためにIexpertadvisor VTS Builderを使用していましたが、注文を制限する独自のシステムがありますが、複数のマジックナンバーを追加することはできません。本当に..........また、Iexpertadvisor VTS内でそれを作成し、それを使用可能にしようとすることはさらに困難です。

投稿権限

  • 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.