Perlukan pengekalan tangan MA salib EA
Halaman 1 daripada 1132 12 TerakhirTerakhir
Results 1 to 10 of 15

Thread: Perlukan pengekalan tangan MA salib EA

  1. #1
    Saya cuba belajar bagaimana untuk menodai penasihat pakar supaya saya mendapat sesuatu yang mudah untuk dimulakan.

    Idea ini adalah untuk EA untuk membuka kedudukan yang panjang apabila harga melintasi MA dari bawah.

    Daripada, apabila harga turun dan melintasi MA dari atas kedudukan lama akan ditutup dan pendek akan dibuka.

    Idea ini nampak mudah dan kod di bawah kelihatan betul tetapi tiada apa yang berlaku.

    Bolehkah seseorang menunjuk saya di mana kesilapan saya?




    extern double Lots = 0.01;
    extern int Slippage = 7;
    extern string comment = MA_Template;
    extern int MagicNumber = 0;
    /////////////////////////////////////
    int thisBarTrade = 0;
    int Kedudukan = 0;

    int init () {
    CalcPosition ();
    }

    int start () {
    double MA;


    bool ditutup = false;
    jika (ThisBarTrade! = Bar) {
    MA = iMA (NULL, 0,5,0,0,0,0);

    //Beli Keadaan
    jika (MA gt; = Kedudukan Tawaran lt; = 0) {
    CalcPosition ();
    jika (Kedudukan lt; 0) {
    jika (CloseSingleSell () == false) kembali (0);kegagalan tetapi boleh cuba lagi
    }
    jika (OpenSingleBuy () == false) kembali (0);/kegagalan untuk membeli tetapi boleh cuba lagi
    ThisBarTrade = Bar;
    }
    //Jual Keadaan
    jika (MA lt; = Ask Position gt; = 0) {
    CalcPosition ();
    jika (Kedudukan gt; 0) {
    jika (CloseSingleBuy () == false) return (0);kegagalan tetapi boleh cuba lagi
    }
    jika (OpenSingleSell () == false) kembali (0);kegagalan untuk menjual tapi mungkin cuba lagi
    ThisBarTrade = Bar;
    }
    }
    }
    // ----------------------------------------------- -------------------

    tidak sah CalcPosition () {
    Kedudukan = 0;
    untuk (int i = 0; i lt; OrdersTotal (); i ) {
    OrderSelect (i, SELECT_BY_POS, MODE_TRADES);
    jika (OrderSymbol () == Simbol ()) {
    jika (OrderType () == OP_BUY) Kedudukan = 1;
    jika (OrderType () == OP_SELL) Kedudukan - = 1;
    }
    }
    }

    bounce CloseSingleBuy () {
    bool ditutup;
    untuk (int i = 0; i lt; OrdersTotal (); i ) {
    OrderSelect (i, SELECT_BY_POS, MODE_TRADES);
    jika (Symbol () == OrderSymbol () MagicNumber == OrderMagicNumber ()) {
    jika (OrderType () == OP_BUY) {
    manakala (! IsTradeAllowed ()) Tidur (MathRand ()10);
    RefreshRates ();
    ditutup = OrderClose (OrderTicket (), OrderLots (), Tawaran, Slippage, Putih);
    Cetakan (Mencuba untuk menutupSendahan pesanan # i Tawaran);
    jika (ditutup == -1) {
    kembali (palsu);
    } else {
    kembali (benar);
    }
    }
    }
    }
    kembali (palsu);
    }

    bounce CloseSingleSell () {
    bool ditutup;
    untuk (int i = 0; i lt; OrdersTotal (); i ) {
    OrderSelect (i, SELECT_BY_POS, MODE_TRADES);
    jika (Symbol () == OrderSymbol () MagicNumber == OrderMagicNumber ()) {
    jika (OrderType () == OP_SELL) {
    manakala (! IsTradeAllowed ()) Tidur (MathRand ()10);
    RefreshRates ();
    ditutup = OrderClose (OrderTicket (), OrderLots (), Ask, Slippage, White);
    Cetak (Mencuba untuk menutup pesananSingleSell # i Ask);
    jika (ditutup == -1) {
    kembali (palsu);
    } else {
    kembali (benar);
    }
    }
    }
    }
    kembali (palsu);
    }

    bool OpenSingleBuy () {
    jika (Kedudukan! = 0) pulangan (palsu);
    tiket int = -1;
    manakala (! IsTradeAllowed ()) Tidur (MathRand ()10);
    RefreshRates ();
    tiket = OrderSend (Symbol (), OP_BUY, Banyak, Ask, Slippage, 0.0, 0.0, komen beli, MagicNumber, 0, Lime);
    jika (tiket lt; 0) {
    Cetak (Gagal BukaSingleBuy, ralat #, GetLastError ());
    kembali (palsu);
    } else {
    Cetak (Berjaya ditempatkan pesanan dengan OpenSingleBuy);
    kembali (benar);
    }
    kembali (palsu);
    }

    boolean OpenSingleSell () {
    jika (Kedudukan! = 0) pulangan (palsu);
    tiket int = -1;
    manakala (! IsTradeAllowed ()) Tidur (MathRand ()10);
    RefreshRates ();
    tiket = OrderSend (Symbol (), OP_SELL, Banyak, Tawaran, Slippage, 0.0, 0.0, komen menjual, MagicNumber, 0, Lime);
    jika (tiket lt; 0) {
    Cetak (Gagal BukaSingleSell, ralat #, GetLastError ());
    kembali (palsu);
    } else {
    Cetak (Berjaya ditempatkan pesanan dengan OpenSingleSell);
    kembali (benar);
    }
    kembali (palsu);
    }

  2. #2
    Saya cuba sesuatu yang lebih mudah tetapi masih tidak berjaya. Matlamatnya adalah untuk membuat pembelian EA apabila 1SMA dan 15SMA mempunyai nilai yang sama (salib) tetapi masih tidak melakukannya. Sebarang bantuan akan sangat dihargai./Pengisytiharan dua _Moving_Avarage; double _Moving_Avarage_2; bool _Compare; bool _buy; int start () {//Level 1 _Moving_Avarage = iMA (Symbol (), 0,15,0,0,0,0); _Moving_Avarage_2 = iMA (Symbol (), 0,1,0,0,0,0); _Compare = 0 == 0;/Level 2 if (_Compare! __ isExist (0)) _ buy = OrderSend (Symbol (), 0,0.1, MarketInfo (Symbol (), MODE_ASK), 100,200,0 ,, __ STRATEGY_MAGIC 0) gt; = 0; pulangan (0); }/Perkhidmatan bool __selectOrderByMagic (int __magic) {untuk (int __i = 0; __ ilt; OrdersTotal (); __ i ) {if (OrderSelect (__ i, SELECT_BY_POS, MODE_TRADES) ;} return (false);} bool __isExist (int __magic) {return (__ selectOrderByMagic (__ magic));}

  3. #3
    1) Mereka hampir tidak pernah mempunyai nilai yang sama. Untuk mengesan salib, anda mencari bar terdahulu untuk mempunyai nilai pantas di atas nilai lambat, dan bar semasa adalah nilai pantas di bawah nilai lambat (untuk entri pendek). 2) Terdapat contoh yang ada di sana. Guna mereka.

  4. #4

    Quote Originally Posted by ;
    1) Mereka hampir tidak pernah mempunyai nilai yang sama. Untuk mengesan salib, anda mencari bar terdahulu untuk mempunyai nilai pantas di atas nilai lambat, dan bar semasa adalah nilai pantas di bawah nilai lambat (untuk entri pendek). 2) Terdapat contoh yang ada di sana. Guna mereka.
    Hei RR terima kasih atas maklumat itu. Idea asal saya adalah untuk mencari masa yang tepat apabila PRICE melintasi SMA. Saya menggunakan 1SMA sebagai proksi kerana saya tidak tahu bagaimana untuk menentukan harga semasa dalam bar. Sekiranya anda tidak keberatan menjawab saya. Mengapa kita melihat (visual) salib di skrin tetapi EA tidak melihatnya. Adakah terdapat julat harga yang boleh saya tentukan yang akan mencontohi apa yang saya lihat dalam masa nyata? Terima kasih

  5. #5
    Apa yang dilihat oleh EA adalah satu set nombor. Bagaimanakah anda menterjemahkan corak visual kepada satu set nombor?

  6. #6
    Kod pos menggunakan tag kod dan anda mungkin akan mendapat lebih banyak bantuan. Saya tidak melihat kod anda kerana ia telah diformat oleh editor. Walau bagaimanapun, di sini adalah contoh apa yang anda boleh lakukan: Masukkan Kod #define CROSS_UP 1 #define CROSS_DOWN 2 int my_ticket; int start () {if (ma_crossover (1) == CROSS_UP) my_ticket = OrderSend (Symbol (), OP_BUY, 1, Ask, 3, Ask-10 * Point, Ask 10 * Point); jika (ma_crossover (1) == CROSS_DOWN) my_ticket = OrderSend (Symbol (), OP_SELL, 1, Bid, 3, Bid-10 * Point, Ask 10 * Point); }/----------------------------------------------- -------------------/ma_crossover ()/Kembali 1 di atas. Kembali 2 di merentasi bawah/------------------------------------------- ----------------------- int ma_crossover (int pos) {double ma1_current, ma1_previous, ma2_current, ma2_previous; ma1_current = iMA (NULL, 0,5,0, MODE_SMA, PRICE_CLOSE, pos); ma1_previous = iMA (NULL, 0,5,0, MODE_SMA, PRICE_CLOSE, pos 1); ma2_current = iMA (NULL, 0,21,0, MODE_SMA, PRICE_CLOSE, pos); ma2_previous = iMA (NULL, 0,21,0, MODE_SMA, PRICE_CLOSE, pos 1);/Sambungkan jika (ma1_currentgt; ma1_previous ma2_currentlt; ma2_previous) kembali (CROSS_UP);/Leret jika (ma1_currentlt; ma1_previous ma2_currentgt; ma2_previous) kembali (CROSS_DOWN); pulangan (0); }

  7. #7

    Quote Originally Posted by ;
    Apa yang dilihat oleh EA adalah satu set nombor. Bagaimanakah anda menterjemahkan corak visual kepada satu set nombor?
    Tepatnya, itulah sebabnya saya mengalami kesukaran dengan kod. Saya berada di bawah tanggapan bahawa untuk metatrader untuk melukis MA menyeberang satu atau harga persimpangan nombor harus sama pada saat salib. Si jika iMA menghantar koordinat ke paksi X dan Y untuk di, dan bar di dalam fungsi harga dalam masa yang sama dan X, Y menyusun di kepala saya iMA dan Bid atau Ask (atau iMA dan iMA dalam kes MA salib) sepatutnya mempunyai nilai yang sama dalam masa yang tepat ini. Tetapi saya rasa ia tidak berfungsi dengan cara ini.

  8. #8
    Ia sangat jarang berlaku untuk dua MA yang berbeza untuk mempunyai nilai yang sama. Jadi anda periksa pergerakan MA yang relatif.

  9. #9

    Quote Originally Posted by ;
    Kod pos menggunakan tag kod dan anda mungkin akan mendapat lebih banyak bantuan. Saya tidak melihat kod anda kerana ia telah diformat oleh editor. Walau bagaimanapun, di sini adalah contoh dari apa yang anda boleh lakukan: [code] #define CROSS_UP 1 #define CROSS_DOWN 2 int my_ticket; int start () {if (ma_crossover (1) == CROSS_UP) my_ticket = OrderSend (Symbol (), OP_BUY, 1, Ask, 3, Ask-10 * Point, Ask 10 * Point); jika (ma_crossover (1) == CROSS_DOWN) my_ticket = OrderSend (Symbol (), OP_SELL, 1, Bid, 3, Bid-10 * Point, Ask 10 * Point); }/----------------------------------------------- -------------------/...
    Terima kasih atas input. Saya merosakkan keseluruhan thread apabila saya menyebut perkataan MA CROSS. Titik asal saya adalah untuk mencari kod yang akan mencari nilai MA dan harga Bid atau Ask yang di di bar. Daripada saya akan mempunyai perintah yang dicetuskan pada semak tepat MA dan bar bersilang satu sama lain. Saya mula menggunakan 2 MAs salah satu daripada mereka yang ditetapkan pada 1 hanya sebagai proksi untuk penjelasan di atas kerana saya tidak tahu kod apa yang memberi harga dalam masa nyata.

  10. #10

    Quote Originally Posted by ;
    Ia sangat jarang berlaku untuk dua MA yang berbeza untuk mempunyai nilai yang sama. Jadi anda periksa pergerakan MA yang relatif.
    Jadi apabila 2 ma salib. Bagaimanakah metatrader piksel di skrin. Apabila piksel dengan nombor untuk warna dan lain-lain dihasilkan untuk di. Di tempat yang sama koordinat X, Y (nombor) dihasilkan. Nombor-nombor harus dipadankan pada masa yang ditetapkan jika MA tidak akan menyeberang. Betul kan?

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.