Mengesan Broker ECN
Halaman 1 daripada 1132 12 TerakhirTerakhir
Results 1 to 10 of 15

Thread: Mengesan Broker ECN

  1. #1
    Saya telah mengalami masalah sejak lewat.

    Bagaimanakah saya dapat menangkap kesilapan yang dilemparkan oleh dagangan gagal pada broker ECN?

  2. #2

    Quote Originally Posted by ;
    Saya telah mengalami masalah sejak lewat. Bagaimanakah saya dapat menangkap kesilapan yang dilemparkan oleh dagangan gagal pada broker ECN?
    Ron, Maaf jika saya kehilangan sesuatu, tetapi saya telah menguji produk ini (yang melaksanakan banyak variasi OrderSend (), OrderModify (), OrderClose () dan OrderDelete ()) pada 16 orang yang berbeza, dan saya mendapati bahawa GetLastError () melakukan kerja. Produk ini juga mempunyai pilihan untuk (secara automatik) menambah SLTP sebagai ModifyOrder (), bukan sebahagian daripada OrderSend (), yang sepertinya mendapat sekitar satu masalah yang saya perhatikan. Jika pilihan ini dimatikan, GetLastError () mengembalikan 130 (berhenti tidak sah), dengan sesetengah br0kers. Bolehkah anda menjadi lebih spesifik, misalnya menyediakan pautan ke ECN br0ker yang anda mengalami masalah dengan, dan beberapa info mengenai kesalahan yang terjadi? Saya akan menjalankan beberapa ujian dan melaporkan hasilnya. Terima kasih, David

  3. #3
    Hei Hanover, Sejauh yang saya ketahui, salah satu cara Broker ECN mengendalikan pesanan masuk dengan SLTP adalah gagal tanpa kode kesalahan. Saya cuba mencari jalan untuk menangkap ralat ini. Satu kaedah yang saya gunakan adalah untuk memeriksa tiket pesanan. Itu nampaknya tidak berfungsi. Jadi saya mencari alternatif.

  4. #4

    Quote Originally Posted by ;
    Hei Hanover, Sejauh yang saya ketahui, salah satu cara Broker ECN mengendalikan pesanan masuk dengan SLTP adalah gagal tanpa kode kesalahan. Saya cuba mencari jalan untuk menangkap ralat ini. Satu kaedah yang saya gunakan adalah untuk memeriksa tiket pesanan. Itu nampaknya tidak berfungsi. Jadi saya mencari alternatif.
    Ron, yang mana anda menghadapi masalah? Adakah FXCM? Terima kasih, David

  5. #5

    Quote Originally Posted by ;
    Ron, yang mana anda menghadapi masalah? Adakah FXCM? Terima kasih, David
    FXCM dan FXDD buat masa sekarang. Saya tidak pasti jika penyelidikan anda di 16 broker telah menunjukkan sebarang corak.

  6. #6
    Quote Originally Posted by ;
    FXCM dan FXDD buat masa sekarang. Saya tidak pasti jika penyelidikan anda di 16 broker telah menunjukkan sebarang corak.
    Ron, Jadi apa yang anda katakan ialah GetLastError () mengembalikan 0 walaupun perintah itu tidak diletakkan? Saya mempunyai firasat bahawa kita mungkin telah melakukan perkara yang sama. Tetapi, seperti yang dapat anda lihat (di sini), masalah saya ialah pengguna produk saya sedang mengalami Ralat 130, apabila tetapan yang salah menyebabkan skrip cuba menambah TPSL sebagai sebahagian daripada OrderSend asal (). Jika anda mahu menyiarkan pecahan kod yang menyebabkan masalah (atau masukkannya dalam PM), saya akan melihat. Kadang-kadang orang luar boleh melihat sesuatu yang jelas bahawa programmer entah bagaimana diabaikan. Ia berlaku kepada saya sepanjang masa.
    David

  7. #7
    Percubaan saya sendiri untuk membuat skrip Broker ECN sejagat. Kesilapan diteruskan ke kod pengendalian ralat dalam fungsi Mula (). Ini bermakna khusus untuk mengesan seorang Broker ECN dan menyesuaikan kelakuannya dengan sewajarnya. Kod dimasukkan ke dalam extern bool ECNBroker = Palsu; int SendOrder (string OpenSymbol, int OpenCommand, double OpenVolume, double OpenPrice, int OpenSlippage, double OpenStopLoss, double OpenTakeProfit, string OpenComment, int OpenMagicNumber, datetime OpenExpiration, color OpenColor) {int FTicket = -2; jika (! ECNBroker) {FTicket = OrderSend (OpenSymbol, OpenCommand, OpenVolume, OpenPrice, OpenSlippage, OpenStopLoss, OpenTakeProfit, OpenComment, OpenMagicNumber, OpenExpiration, OpenColor); jika (FTicket == -1) {return (FTicket); } jika (OrderSelect (FTicket, SELECT_BY_TICKET, MODE_TRADES)) {return (FTicket); } else {ECNBroker = True; }} if (ECNBroker) {FTicket = OrderSend (OpenSymbol, OpenCommand, OpenVolume, OpenPrice, OpenSlippage, 0.0, 0.0, OpenComment, OpenMagicNumber, OpenExpiration, OpenColor); jika (FTicket gt; 0) {OrderSelect (FTicket, SELECT_BY_TICKET, MODE_TRADES); OrderModify (FTicket, OrderOpenPrice (), OpenStopLoss, OpenTakeProfit, OrderExpiration (), CLR_NONE); } kembali (FTicket); }} Ini adalah contoh kod pengendalian kesilapan lain yang terlibat dalam EA saya. Tiket Kod Insert = KirimOrder (Simbol (), OP_SELL, Banyak, Tawaran, Slippage, StopLossLevel, TakeProfitLevel, Menjual (# MagicNumber ), MagicNumber, 0, DeepPink); jika (Tiket gt; 0) {jika (OrderSelect (Tiket, SELECT_BY_TICKET, MODE_TRADES)) {Print (pesanan SELESYAR dibuka:, OrderOpenPrice ()); jika (SignalMail ShortMailSignalBarCount! = Bars) {SendMail (# 91; Isyarat Alert # 93 ;, # 91; Symbol () # 93; DoubleToStr (Bida, Digit) Jual Isyarat); ShortMailSignalBarCount = Bar; } jika (Alerts ShortAlertSignalBarCount! = Bar) {Alert (# 91; Symbol () # 93; DoubleToStr (Tawaran, Digit) Jual Isyarat); ShortAlertSignalBarCount = Bar; } jika (PlaySounds ShortSoundSignalBarCount! = Bar) {PlaySound (alert.wav); ShortSoundSignalBarCount = Bar; } TradesThisBar ; } else {Print (Error opening SELL order:, GetLastError ()); }}

  8. #8

    Quote Originally Posted by ;
    Percubaan saya sendiri untuk membuat skrip Broker ECN sejagat. Kesilapan diteruskan ke kod pengendalian ralat dalam fungsi Mula (). Ini bermakna khusus untuk mengesan seorang Broker ECN dan menyesuaikan kelakuannya dengan sewajarnya.
    Ron, Hanya melihat fragmen kod pertama anda ....... Ia menganggap bahawa br0ker adalah bukan ECN, dan kemudian membuat pesanan dengan (kononnya) SLTP bukan sifar. Sekiranya OrderSend () gagal, ia akan mengembalikan FTicket = -1. Ujian seterusnya anda mengatakan bahawa jika FTicket == -1, maka hanya kembali (FTicket), keluar dari fungsi. Oleh itu, ia tidak akan mendapat ujian jika (ECNBroker) ....., dan tidak akan mempunyai peluang untuk membuat pesanan. Hanya meneka, tetapi adakah masalah itu? David

  9. #9
    Saya fikir juga, kecuali ketika saya menjalankan cetakan Print () berfungsi di bahagian ECN kedua, EA masih berjalan melalui bahagian itu, jadi blok kod ini mengubah nilai ECNBroker dari Salah ke Benar. Sekiranya nilai tiket yang diluluskan sebagai hasil daripada fungsi ialah -1, seharusnya ada panggilan 'mendapatkan ralat terakhir' pada akhir blok kedua kod. Tiada panggilan ralat berlaku. Mungkin tiket -1 dikembalikan hanyalah ralat generik?

  10. #10

    Quote Originally Posted by ;
    Saya fikir juga, kecuali ketika saya menjalankan cetakan Print () berfungsi di bahagian ECN kedua, EA masih berjalan melalui bahagian itu, jadi blok kod ini mengubah nilai ECNBroker dari Salah ke Benar. Sekiranya nilai tiket yang diluluskan sebagai hasil daripada fungsi ialah -1, seharusnya ada panggilan 'mendapatkan ralat terakhir' pada akhir blok kedua kod. Tiada panggilan ralat berlaku. Mungkin tiket -1 dikembalikan hanyalah ralat generik?
    Itu sangat pelik. Dokumen MetaQuotes pada OrderSend () mengatakan bahawa ia mengembalikan nombor tiket yang diberikan kepada pesanan oleh pelayan perdagangan atau -1 jika gagal. Untuk mendapatkan maklumat ralat tambahan, seseorang perlu memanggil fungsi GetLastError (). Itulah cara saya selalu faham untuk berfungsi, iaitu, APA kegagalan menyebabkan nilai -1 dikembalikan. Dalam EA yang saya tulis sendiri, MT4 tidak pernah memberi saya sebarang alasan untuk mempercayai sebaliknya. Saya tidak pasti bahawa ia adalah mungkin untuk menguji untuk ECN br0ker. Jika OrderSend () mengembalikan -1 adalah generik, maka ini hanya boleh berlaku sebagai hasil dari sebarang kesilapan. Walaupun menggunakan GetLastError () mungkin tidak cukup spesifik, kerana memanggil OrderSend () dengan TP atau SL yang tidak sifar nampaknya mengembalikan Ralat 130 (berhenti tidak sah), yang juga boleh berlaku untuk sebab selain ECN yang menjadi pengganti. Maaf saya tidak boleh lebih membantu. David

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.