Fungsi Alternatif untuk Tidur () di MT4 yang boleh diuji?
Results 1 to 4 of 4

Thread: Fungsi Alternatif untuk Tidur () di MT4 yang boleh diuji?

  1. #1
    Adakah terdapat alternatif untuk tidur () kod dalam MT4 yang boleh digunakan untuk ujian dalam Tester Strategi?

    Menurut dokumentasi MT4, fungsi Sleep () Tidak menggantung pelaksanaan Penasihat Pakar dalam Penguji Strategi.

    Saya ingin melihat bagaimana prestasi keputusan ujian EA berubah jika saya menggantung dagangan selepas TP besar untuk jumlah masa X.

    Sebarang petua mengenai cara terbaik untuk melaksanakannya supaya dapat diuji?

  2. #2
    Sebarang penyelesaian akan dihargai. Pada dasarnya saya mempunyai sesuatu seperti ini. . . Sehingga saya faham ia tidak melakukan apa-apa dalam mod penilaian. Saya ingin sesuatu yang akan mensimulasikan fungsi tidur ATAU membekukan atau berhenti seketika dan akan beroperasi dalam mod penilaian juga. Saya mempunyai fungsi yang akan menutup semua urus niaga terbuka jika kedudukan terbuka melebihi julat keuntungan maksimum yang dilanjutkan. Saya ingin menguji apa-apa transaksi prospektif untuk jumlah masa X dan saya memerlukannya untuk muncul dalam mod ujian juga. Kod dimasukkan tidak sah PipMaxCloseOut () int totalorders = OrdersTotal (); untuk (int I = totalorders-1; igt; = 0; I--) jika (! OrderSelect (i, SELECT_BY_POS)) Cetak (TimeToStr (TimeCurrent (), TIME_SECONDS), CHECK CHECK Gt ;, __FUNCTION__, !!!! !, OrderMagicNumber (), Kod ralat, GetLastError ()); hasil int yang lain; jika ((OrdersTotal () gt; 0) (OrderMagicNumber () == Trade1L)) RefreshRates (); Cetak (TimeToStr (TimeCurrent (), TIME_SECONDS), PELANGGAN Trade1L PipMax CLOSE OUT, Order PL :, OrderProfit (), Tawaran:, MarketInfo (Perdagangan, MODE_BID), Buka Dagangan:, OrdersTotal ()); hasil = OrderClose (OrderTicket (), OrderLots (), MarketInfo (Perdagangan, MODE_BID), MaxSlippage * 2, CLR_NONE); jika (hasil lt; = -1) Cetak (RALAK SELESAI MELAKUKAN MENUJU Trade1L PADA PIPMax CLOSE OUT! CODE ERROR #, GetLastError ()); jika ((OrdersTotal () gt; 0) (OrderMagicNumber () == Trade1S)) RefreshRates (); Percetakan (TimeToStr (TimeCurrent (), TIME_SECONDS), CLOSING Trade1S PipMax CLOSE OUT, Order PL :, OrderProfit (), Tanya :, MarketInfo (Perdagangan, MODE_ASK), Terbuka Perdagangan:, OrdersTotal ()); hasil = OrderClose (OrderTicket (), OrderLots (), MarketInfo (Perdagangan, MODE_ASK), MaxSlippage * dua, CLR_NONE); jika (hasil lt; = -1) Cetak (RALAK SELESAI MELAKUKAN MENUJU Trade1S PADA PIPMax CLOSE OUT! CODE ERROR #, GetLastError ()); Tidur (MilliSecs);

  3. #3
    Sebelum memasuki perdagangan baru, hanya semak waktu tutup perdagangan terakhir dan jika sudah cukup masa berlalu (penangguhan anda sebelum memulakan perdagangan).

  4. #4
    Jadi inilah yang saya lakukan sehingga kini, ia sedang diuji. Malangnya tidak seperti yang saya harapkan, ia menapis lebih banyak perdagangan yang baik daripada yang miskin ... Sekurang-kurangnya ia sedang menguji masa ini. Boleh tweak nanti atau hanya keluarkannya. Ditambah dual TimeMicroSecNow; dual TimeMicroSecAfterEQP; extern int MicroSecAfterEQP = 60000000; Menggantikan Tidur dengan: TimeMicroSecAfterEQP = GetMicrosecondCount (); Dan Sebelum perdagangan baru: TimeMicroSecNow = GetMicrosecondCount (); RefreshRates (); jika (TimeMicroSecNow gt; TimeMicroSecAfterEQP MicroSecAfterEQP) PERDAGANGAN;

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.