Mengira Pesanan Pelbagai Dengan Nombor Pelbagai Magik dalam satu EA
Results 1 to 6 of 6

Thread: Mengira Pesanan Pelbagai Dengan Nombor Pelbagai Magik dalam satu EA

  1. #1
    OK, jadi saya dapat membuat EA yang boleh mengendalikan modul serentak dengan parameter dagangan yang berbeza yang boleh dijalankan pada masa yang sama atau ditanggalkan dan dimatikan. Walaupun saya berlari ke dinding dengan pengendalian kiraan pesanan.

    Saya ingin mempunyai jumlah EA MaxTotalPositions terhadap Jumlah Jawatan untuk ModuleA dan Jawatan Jumlah untuk ModuleB. EA tidak boleh melebihi Max Total (A = B), tetapi juga tidak boleh melebihi TotalforModuleA dan B masing-masing. Sebagai contoh, jika MaxTotal adalah 2, dan jumlah ModuleA dan B adalah satu, maka ia tidak boleh melebihi 2. Bahagian ini mudah. Walau bagaimanapun, jika Max adalah 2, dan ModuleA adalah 1, ia masih berdagang sehingga 2. Saya telah cuba memanggil pesanan dengan sihir untuk menjadikannya lebih mudah untuk dikira tetapi di mana ia melebihi jumlah MaxPerModule. Adakah sesiapa mempunyai idea untuk mendekati ini? Kod ini dikompilkan dengan betul supaya tiada ralat sintaks. Inilah bahagian kod tersebut:

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

    TotalMaxPositions diisytiharkan secara global di bahagian atas EA sebagai pemboleh ubah luar

    extern double TotalMaxPositions = 2;

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

    //------------------------------------------------ -
    //MAX POSISI ORDER COUNT
    //------------------------------------------------ -

    int TotalCurrentOrders;
    int count = 0; int count = 0; jumlah int; int totalB;

    TotalCurrentOrders = OrdersTotal ();
    jika (TotalCurrentOrders gt; = TotalMaxPositions) kembali (0);

    lain

    jika (TotalCurrentOrders lt; TotalMaxPositions)

    {

    jika (countA gt; = MaxPositionsA) kembali (0);
    jika (mengira lt; MaxPositionsA)
    untuk (int posA = 0; posA lt; totalA; posA )
    {
    jika (OrderSelect (posA, SELECT_BY_POS) == palsu) terus;
    jika (OrderMagicNumber () == MagicA) countA ;
    }

    jika (countB gt; = MaxPositionsB) kembali (0);
    jika (countB lt; MaxPositionsB)
    untuk (int posB = 0; posB lt; totalB; posB )
    {
    jika (OrderSelect (posB, SELECT_BY_POS) == palsu) terus;
    jika (OrderMagicNumber () == MagicB) countB ;
    }

    jika (TotalCurrentOrders gt; = TotalMaxPositions) kembali (0);

    }

  2. #2

    Quote Originally Posted by ;
    OK, jadi saya dapat membuat EA yang boleh mengendalikan modul serentak dengan parameter dagangan yang berbeza yang boleh dijalankan pada masa yang sama atau ditanggalkan dan dimatikan. Walaupun saya berlari ke dinding dengan pengendalian kiraan pesanan. Saya ingin mempunyai jumlah EA MaxTotalPositions terhadap Jumlah Jawatan untuk ModuleA dan Jawatan Jumlah untuk ModuleB. EA tidak boleh melebihi Max Total (A = B), tetapi juga tidak boleh melebihi TotalforModuleA dan B masing-masing. Sebagai contoh, jika MaxTotal adalah 2, dan jumlah ModuleA dan B adalah satu setiap satu, maka ia tidak boleh melebihi 2. Ini ...
    Mengapa ini berganda? Kod yang disisipkan extern double TotalMaxPositions = 2; jika anda cuba membandingkan int dengan dua kali ganda, anda mungkin mendapati ia tidak sama walaupun ia berlaku. . .

  3. #3

    Quote Originally Posted by ;
    TotalCurrentOrders = OrdersTotal (); jika (TotalCurrentOrders gt; = TotalMaxPositions) kembali (0);
    Kemudian
    Quote Originally Posted by ;
    lain jika (TotalCurrentOrders lt; TotalMaxPositions)
    Kemudian anda mempunyai beberapa kod yang menghitung tetapi tidak muncul untuk melakukan apa-apa dengan hasil yang diikuti oleh
    Quote Originally Posted by ;
    jika (TotalCurrentOrders gt; = TotalMaxPositions) kembali (0);
    yang anda telah diuji (petikan pertama) dan tahu menjadi palsu jika ELSE tidak akan dilaksanakan. Tiada apa-apa dalam kod untuk mengubah nilai TotalCurrentOrders atau TotalMaxPositions.

  4. #4

    Quote Originally Posted by ;
    {quote} Mengapa ini berganda? extern double TotalMaxPositions = 2; jika anda cuba membandingkan int dengan dua kali ganda, anda mungkin mendapati ia tidak sama walaupun ia berlaku. . .
    Ia berganda kerana saya terlalu malas untuk mengubahnya. Secara lalai semua luaran saya adalah beregu dan kemudian saya mengubahnya jika mereka tidak mengkompilasi. Saya baru saja menyelesaikan EA yang berganda dalam EA konsep EA dan saya telah meninggalkan ruang untuk lebih daripada 10 pembolehubah ditambah SL TP dan off dan off toggle. Sekarang saya pergi liar dengan egies saya dalam satu EA. Lebih mudah bagi saya untuk menguji idea-idea seperti itu. Terima kasih atas input anda pada benang EA yang terakhir, dengan jawapan anda, anda boleh cukup mempunyai EA melakukan apa sahaja yang saya ambil perkataan anda untuk itu dan pergi untuk itu. Saya akan mengingati komen anda pada ganda vs int dan juga mengujinya, tetapi saya fikir jawapan Gumrai untuk tidak menambah atau menolak TotalOrders pada setiap Modul mungkin apa yang saya perlu lihat.

  5. #5

    Quote Originally Posted by ;
    {quote} Kemudian {quote} Tidak ada dalam kod untuk menukar nilai TotalCurrentOrders atau TotalMaxPositions.
    Terima kasih masuk akal. Saya akan melihatnya. Saya menganggap saya melakukannya dengan cara yang sama seperti (int posB = 0; posB lt; totalB; posB ) {jika (OrderSelect (posB, SELECT_BY_POS) == false) terus; jika (OrderMagicNumber () == MagicB) countB ; } Tetapi dengan mengubah nilai-nilai apa yang saya perlu sampaikan juga. Kod ini lebih rumit daripada saya fikir tetapi * harus * dapat lari dengan perubahan logik (sekurang-kurangnya itulah yang saya harap). Terima kasih atas cadangan itu, saya akan cuba bereksperimen dengannya.

  6. #6
    Adakah anda pernah mendapat keputusan mengenai perkara ini? Saya melakukan sesuatu yang sangat serupa Saya mempunyai 4 BuyStopSellStop pesanan yang diaktifkan berdasarkan periferi tertentu dan saya mempunyai pengubah pesanan individu untuk setiap pesanan yang saya cant nampaknya untuk mendapatkan mereka untuk mengubah suai mereka dengan nombor tiket (isu dengan menggunakan ini adalah bahawa setiap kali anda modifiy perintah itu mengubah tiket-id yang seterusnya membunuh perintah mengubahsuai pada kali kedua di sekelilingnya untuk mengubahnya jadi perlu menggunakan nombor sihir.Adakah bahagian EA berfungsi dengan baik tetapi saya tidak dapat mengehadkan jumlah pesanan oleh Magic Number sendiri. Saya menggunakan Iextertadvisor VTS builder sebagai sangat mudah untuk memvisualisasikan apa yang anda lakukan dan mempunyai sistem tersendiri untuk membatasi pesanan tetapi anda tidak boleh menambah beberapa nombor sihir kepadanya. benar-benar .......... Juga mencipta dan cuba untuk membuatnya boleh digunakan dalam Iexpertadvisor VTS bahkan lebih sukar.

Kebenaran Posting

  • Anda tidak boleh menghantar thread baru
  • Anda tidak boleh membalas kiriman
  • Anda tidak boleh mengedit siaran anda
  • Anda tidak boleh menyiarkan lampiran
  •  
  • Kod BB Hidup
  • Smilies Hidup
  • Kod [IMG] adalah Hidup
  • Kod [VIDEO] adalah Hidup
  • Kod HTML Tidak Hidup
Polisi Kuki
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.