CloseBySequence () - Function butuh bantuan - MQL5
Results 1 to 9 of 9

Thread: CloseBySequence () - Function butuh bantuan - MQL5

  1. #1
    MQL5:
    Saya mencoba menulis fungsi untuk menutup secara berurutan.
    Tidak ada kesalahan setelah kompilasi, tetapi tidak berjalan.
    Saya tidak tahu mengapa. Bisakah Anda membantu?
    Terima kasih!
    Penutup berdasarkan urutan pesanan.

    yaitu
    Kesepakatan 1 Kesepakatan 2 telah mendapat keuntungan - tutup
    Kesepakatan 3 Kesepakatan 4 menguntungkan - tutup

    5 6
    7 8
    9 10
    dan seterusnya ...
    Deal 1 memiliki nomor pesanan terkecil dan dibuka pada waktu paling awal.
    Kesepakatan 10 memiliki nomor pesanan terbesar dan dibuka pada waktu terakhir.

    Kode yang dikosongkan membatalkan CloseBySequence () {datetime from = 0; datetime to = TimeCurrent (); HistorySelect (from, to); ganda Minimum_Profit = 5,00; tiket ulan; uint x; perdagangan ganda # 91; # 93; # 91; 2 # 93 ;; total total = HistoryDealsTotal (); if (totalgt; 1) {ArrayResize (perdagangan, total); untuk (x = total-1; xgt; = 0; x--) {if ((tiket = HistoryDealGetTicket (x)) gt; 0) {trades # 91; x # 93; # 91; 0 # 93; = HistoryDealGetInteger (tiket, DEAL_ORDER); perdagangan # 91; x # 93; # 91; 1 # 93; = HistoryDealGetDouble (tiket, DEAL_PROFIT) HistoryDealGetDouble (tiket, DEAL_COMMISSION) HistoryDealGetDouble (tiket, DEAL_SWAP); }} ArraySort (perdagangan); x = 0; sementara (xlt; total-1) {double profit = trades # 91; x # 93; # 91; 1 # 93; trade # 91; x 1 # 93; # 91; 1 # 93 ;; if (profitgt; = Minimum_Profit) {if (HistoryDealSelect ((int) trade # 91; x # 93; # 91; 0 # 93;)) if (! trade.PositionClose (PositionGetSymbol (x))) Print (Kesalahan penutupan ( Deal 1/2) #, IntegerToString (OrderGetTicket (x)), kode Kesalahan, GetLastError ()); if (HistoryDealSelect ((int) trade # 91; x 1 # 93; # 91; 0 # 93;)) if (! trade.PositionClose (PositionGetSymbol (x))) Print (Error closing (Deal 2/2) # , IntegerToString (OrderGetTicket (x)), kode Kesalahan, GetLastError ()); } x = 2; }}}

  2. #2

    Quote Originally Posted by ;
    MQL5: Saya mencoba menulis fungsi untuk menutup secara berurutan. Tidak ada kesalahan setelah kompilasi, tetapi tidak berjalan. Saya tidak tahu mengapa. Bisakah Anda membantu? Terima kasih! Penutup berdasarkan urutan pesanan. yaitu Kesepakatan 1 Kesepakatan 2 telah mendapatkan keuntungan - close Deal 3 Deal 4 telah mendapat keuntungan - tutup 5 6 7 8 9 10 dan seterusnya ... Kesepakatan 1 memiliki nomor pesanan terkecil dan dibuka pada waktu yang paling awal. Kesepakatan 10 memiliki nomor pesanan terbesar dan dibuka pada waktu terakhir. void CloseBySequence () {datetime from = 0; datetime to = TimeCurrent (); HistorySelect (from, to); dua kali lipat...
    johnnybegood- Anda berada di AS apakah Anda telah mempertimbangkan peraturan FIFO? Anda tidak mengatakan kesalahan apa jika ada ketika Anda mencoba untuk menutup perdagangan. Sudahkah Anda mencoba menambahkan pernyataan Print () untuk melihat apa outputnya?

  3. #3
    Hai Jonny, Di MT4 kami memiliki Pesanan, yang mewakili perdagangan dan pesanan tertunda. Di MT5, ini sedikit lebih sesuai, di mana kami memiliki Pesanan, Penawaran, dan Posisi. </P> O rder adalah permintaan ke server pialang, bisa berupa Market atau Pending Order. A Deal adalah order pasar yang dieksekusi, atau perintah pending yang dipicu pada harga BidAsk yang tersedia. Pesanan dapat menghasilkan beberapa perdagangan (dalam volume besar) Posisi adalah penjumlahan total dari perdagangan saat ini, dapat berupa panjang atau pendek. # 8203; Jadi ada perbedaan besar dalam penanganan pesanan antara MT4 dan MT5. Untuk mulai dengan, dalam contoh Anda: if (! Trade.PositionClose (PositionGetSymbol (x))) Akan menutup seluruh posisi (tutup semua perdagangan). Sebagai gantinya, Anda harus menangani transaksi spesifik, bukan seluruh posisi. Jadi, Anda harus memberikan Nomor Tiket Transaksi yang ingin Anda tutup dengan metode PosisiClose. Yang terbaik, Khalil

  4. #4

    Quote Originally Posted by ;
    {quote} - Anda berada di AS, apakah Anda telah mempertimbangkan peraturan FIFO? Anda tidak mengatakan kesalahan apa jika ada ketika Anda mencoba untuk menutup perdagangan. Sudahkah Anda mencoba menambahkan pernyataan Print () untuk melihat apa outputnya?
    Tidak ada kesalahan setelah kompilasi. The egy tester hang setelah beberapa perdagangan. Saya menggunakan versi egy tester non AS. Tidak ada kesalahan yang ditampilkan, itu hanya hang.

  5. #5

    Quote Originally Posted by ;
    {quote} Tidak ada kesalahan setelah kompilasi, tester egy hang. Saya menggunakan versi hedge tester egy
    Terima kasih, saya mengedit yang berikut dan masih memiliki masalah yang sama. Penguji egi hang setelah beberapa perdagangan. Kode Disisipkan keuntungan ganda = perdagangan # 91; x # 93; # 91; 1 # 93; trade # 91; x 1 # 93; # 91; 1 # 93 ;; if (profitgt; = Minimum_Profit) {ulong deal_ticket_sym1 = HistoryDealGetTicket ((int) perdagangan # 91; x # 93; # 91; 0 # 93; if (! trade.PositionClose (deal_ticket_sym1,9999)) Print (Kesalahan penutupan (Pair 1/2) #, IntegerToString (OrderGetTicket (x)), kode Kesalahan, GetLastError ());

  6. #6

    Quote Originally Posted by ;
    {quote} Terima kasih, saya mengedit yang berikut dan masih memiliki masalah yang sama. Penguji egi hang setelah beberapa perdagangan. double profit = trade [x] [1] trade [x 1] [1]; if (profitgt; = Minimum_Profit) {ulong deal_ticket_sym1 = HistoryDealGetTicket ((int) berdagang [x] [0]); if (! trade.PositionClose (deal_ticket_sym1,9999)) Print (Kesalahan penutupan (Pair 1/2) #, IntegerToString (OrderGetTicket (x)), kode Kesalahan, GetLastError ());
    johnnybegood- Kemungkinan besar adalah nilai dari loop sementara Anda. Sudahkah Anda memeriksa setiap interval untuk melihat apakah pengaturannya sesuai dengan yang Anda harapkan?

  7. #7
    Berkat cyber1 dan. Kalian jenius! Masalahnya adalah dengan salah satu loop. Namun sekarang, saya terus mendapatkan error: Error closing (Pair 1/2) # 0, Kode kesalahan 4753 atau Ini menutup pasangan perdagangan yang kalah daripada yang menang.

  8. #8

    Quote Originally Posted by ;
    Terima kasih kepada dan. Kalian jenius! Masalahnya adalah dengan salah satu loop. Namun sekarang, saya terus mendapatkan error: Error closing (Pair 1/2) # 0, Kode kesalahan 4753 atau Ini menutup pasangan perdagangan yang kalah daripada yang menang.
    johnnybegood- Anda sedang mencari pesanan yang tidak ada # 0
    https://www.mql5.com/en/docs/constan...ngs/errorcodes

  9. #9

Similar Threads

  1. Butuh bantuan di MT4
    By sSoADs in forum Pendidikan Forex
    Balasan: 6
    Postingan Terakhir: 09-01-2021 19:45, 07:45 PM
  2. Butuh bantuan di MT4
    By sSoADs in forum Pembicaran Bitcoin dan Mata Uang Kripto
    Balasan: 6
    Postingan Terakhir: 05-07-2010 13:28, 01:28 PM
  3. Butuh Bantuan - Managed TP
    By gohyga4 in forum Pertanyaan Newbie
    Balasan: 0
    Postingan Terakhir: 09-01-2009 19:21, 07:21 PM
  4. Butuh Bantuan - Managed TP
    By gohyga4 in forum Pembicaran Bitcoin dan Mata Uang Kripto
    Balasan: 0
    Postingan Terakhir: 09-01-2009 19:21, 07:21 PM
  5. Butuh bantuan dengan EA
    By gauhywh00 in forum Pilihan Biner
    Balasan: 0
    Postingan Terakhir: 03-28-2009 15:31, 03:31 PM

Izin Posting

  • Anda tidak boleh memposting thread baru
  • Anda tidak boleh memposting balasan
  • Anda tidak boleh memposting lampiran
  • Anda tidak boleh menyunting postingan Anda
  •  
  • Kode BB Aktif
  • Smilies Aktif
  • Kode [IMG] Aktif
  • Kode [VIDEO] Aktif
  • Kode HTML tidak aktif
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.