Kode Trailing Stop?
Results 1 to 9 of 9

Thread: Kode Trailing Stop?

  1. #1
    Saya bertanya-tanya apakah seseorang dapat mengarahkan saya ke beberapa kode yang dapat saya gunakan dalam EA yang memungkinkan saya menempatkan trailing stop dengan kode. Alih-alih menggunakan poin Take Profit, saya ingin memasukkan trailing stop order jadi jika order bergerak dalam tren, saya bisa mengambil keuntungan dari keuntungan alih-alih membawanya dengan poin TP.

    Saya telah mencari basis kode MQL dan tidak dapat melihat fungsi apa pun untuk menempatkan trailing stop pada perintah terbuka.

    Terima kasih!

  2. #2
    Ini dia Ini bukan kode antipeluru tetapi setidaknya akan membuat Anda pergi ke arah yang benar. Kode yang dimasukkan membatalkan TrailingAlls (int trail) {if (trail == 0) kembali;/---- double stopcrnt; stopcal ganda; perdagangan int; int trade = OrdersTotal (); keuntungan ganda; for (trade = 0; tradelt; tradees; trade ) {OrderSelect (trade, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol () == Symbol ()) {//lanjutkan;/LONG if (OrderType () == OP_BUY) {stopcrnt = OrderStopLoss (); stopcal = Bid- (trail * Point); profitcalc = OrderTakeProfit () (TakeProfit * Point); if (stopcrnt == 0) {OrderModify (OrderTicket (), OrderOpenPrice (), stopcal, profitcalc, 0, Blue); } lain jika (stopcalgt; stopcrnt) {OrderModify (OrderTicket (), OrderOpenPrice (), stopcal, profitcalc, 0, Blue); }}}/LONG/Shrt if (OrderType () == OP_SELL) {stopcrnt = OrderStopLoss (); stopcal = Tanya (jejak * Titik); profitcalc = OrderTakeProfit () - (TakeProfit * Point); if (stopcrnt == 0) {OrderModify (OrderTicket (), OrderOpenPrice (), stopcal, profitcalc, 0, Red); } lain jika (stopcallt; stopcrnt) {OrderModify (OrderTicket (), OrderOpenPrice (), stopcal, profitcalc, 0, Red); }}}}/Shrt

  3. #3
    Terima kasih untuk kodenya ... Ketika Anda memiliki pesanan terbuka di MT4, Anda dapat mengkliknya dan kemudian mengatur trailing stop yang ditangani sistem secara otomatis sehingga Anda tidak harus memperbaruinya centang-per-centang. Apakah tidak ada cara untuk melakukan ini melalui kode EA? Saya merasa bahwa jika saya memodifikasi pesanan, centang dengan tick melalui EA langsung, broker tidak akan terlalu senang tentang itu. Pikiran?

  4. #4

    Quote Originally Posted by ;
    Terima kasih untuk kodenya ... Ketika Anda memiliki pesanan terbuka di MT4, Anda dapat mengkliknya dan kemudian mengatur trailing stop yang ditangani sistem secara otomatis sehingga Anda tidak harus memperbaruinya centang-per-centang. Apakah tidak ada cara untuk melakukan ini melalui kode EA? Saya merasa bahwa jika saya memodifikasi pesanan, centang dengan tick melalui EA langsung, broker tidak akan terlalu senang tentang itu. Pikiran?
    Maka jangan lakukan itu tik-demi-tik - Anda harus mengaturnya sehingga hanya menyala ketika lilin baru terbuka.

  5. #5
    LongToBeFree berkata: Kalau begitu jangan lakukan itu tik-demi-tik - Anda harus mengaturnya sehingga hanya menyala ketika lilin baru terbuka. Baru mulai belajar MQL4, jadi perlu sebanyak mungkin bantuan. Bagaimana Anda membuat MT4 hanya beroperasi pada lilin baru, apakah itu seperti ini: int Lastbar = 0 void start () {if (Lastbar == Bars) return (0); Lastbar = Bar;/////sisa kode di sini///return (0); } Saya mengangkat ini dari EA lain yang sedang saya pelajari, tetapi sangat sulit dengan semuanya online. Apakah ada yang tahu tentang buku cetak pada MQL4, sudah lama sejak saya belajar bahasa pengkodean baru, dan semuanya ada di atas kertas pada masa itu. Salam, Iain, di Rugby.

  6. #6
    Dalam beberapa kasus Anda tidak ingin memiliki trailing stop loss 'api' ketika lilin ditutup hanya karena ada potensi kehilangan keuntungan pip. Trailing stop loss dimaksudkan untuk menangkap laba sambil meminimalkan kerugian. Sebuah lilin dapat memindahkan beberapa pip yang menguntungkan Anda hanya untuk mundur di dalam lilin yang sama kembali ke posisi di mana Anda tidak akan menyadari keuntungan itu. Itu hanya karena stop loss trailing 'kebakaran' pada penutupan lilin. Namun, jika ini adalah pilihan Anda ...
    Contoh kode yang Anda bicarakan ada di sini ... dobel PointValue; for (int i = 0; i lt; OrdersTotal (); i ) {OrderSelect (i, SELECT_BY_POS, MODE_TRADES); PointValue = MarketInfo (OrderSymbol (), MODE_POINT);/Normalisasi nilai stop trailing ke nilai titik, double TSTP = TrailingStop * PointValue; if (OrderType () == OP_BUY) {if ((Bid - OrderOpenPrice ()) gt; TSTP) {if (OrderStopLoss () lt; (Bid - TSTP)) {OrderModify (OrderTicket (), OrderOpenPrice (), Bid - TSTP, OrderTakeProfit (), Merah); }}} lain jika (OrderType () == OP_SELL) {if ((OrderOpenPrice () - Ask) gt; TrailingStop * PointValue) {if ((OrderStopLoss () gt; (Ask TrailingStop * PointValue)) || (OrderStopLoss () == 0)) {OrderModify (OrderTicket (), OrderOpenPrice (), Ask TSTP, OrderTakeProfit (), Red); }}}}

  7. #7
    Sekilas Trailing Stop tampaknya menjadi masalah pengkodean yang agak sepele dan itulah yang saya dekati pada putaran pertama saya. Kemudian saya menemukan beberapa nuansa bahwa logika saya tidak menangani dengan benar dan saya telah merevisi kode saya dua kali dan masih belum menghasilkan hasil yang sepenuhnya memuaskan. Beberapa pertimbangan harus dipertimbangkan dan beberapa di antaranya telah disebutkan. Pertama-tama keputusan harus dibuat adalah apakah akan melakukannya di sisi klien atau sisi server. Secara pribadi saya lebih suka sisi klien karena memperbarui server dengan setiap kenaikan kecil menghasilkan banyak overhead terutama untuk sistem 5 digit. Keputusan kedua adalah apakah akan menghitung ulang untuk setiap centang atau setiap bilah. Setiap perhitungan batang mungkin bekerja untuk 15M dan TF lebih rendah tetapi untuk TF 4H akan membuat TS sama sekali tidak berguna. Ketika saya menulis kode, saya tidak ingin membuat asumsi tentang TF yang akan dijalankan oleh EA, jadi saya ingin TS yang dihitung setiap tick. Salah satu pertimbangan yang saya anggap terlewatkan adalah bahwa kalkulasi harus di-restart atau interruptable. Maksud saya pengguna mungkin mengubah pengaturan saat EA sedang berjalan atau MT4 mungkin dimatikan dan restart. Perhitungan harus dilanjutkan dan menghasilkan hasil yang benar dalam acara ini. Ini berarti bahwa MathMax sederhana (Tinggi [0], prevHigh) tidak akan berfungsi karena prevHigh akan diinisialisasi ulang. Itu sebabnya saya menggunakan perhitungan seperti hi = Tinggi [ArrayMaximum (Tinggi, nbarsOpen, 0)] jika saya memiliki perdagangan panjang yang aktif. nbarsOpen = iBarShift (NULL, 0, orderOpenTime); Ini mungkin tampak seperti banyak perhitungan untuk setiap tick dan saat ini saya sedang mempertimbangkan untuk memasukkannya ke dalam fungsi init () dan menggunakan perhitungan MathMax () yang lebih sederhana untuk fungsi start ().

  8. #8
    hai teman-teman, saya punya kode untuk membuka 2 pending order pada saat yang sama, tetapi saya perlu menambahkan kode itu fungsi stop trail jika ada pending yang dipicu .... adakah yang bisa membantu? !! salam.

  9. #9

Similar Threads

  1. Apa itu Trailing Stop?
    By 1 in forum Pilihan Biner
    Balasan: 15
    Postingan Terakhir: 12-01-2021 15:10, 03:10 PM
  2. mGRID v.7 - Kode Trailing Stop
    By hyauhavaz in forum Pendidikan Forex
    Balasan: 1
    Postingan Terakhir: 11-24-2021 10:05, 10:05 AM
  3. Apa itu Trailing Stop?
    By 1 in forum Diskus Forex Umum
    Balasan: 15
    Postingan Terakhir: 05-21-2018 14:58, 02:58 PM
  4. mGRID v.7 - Kode Trailing Stop
    By hyauhavaz in forum Pembicaran Bitcoin dan Mata Uang Kripto
    Balasan: 1
    Postingan Terakhir: 11-01-2017 12:56, 12:56 PM
  5. beberapa trailing stop
    By 5406 in forum Analisis Teknis
    Balasan: 0
    Postingan Terakhir: 10-29-2016 15:21, 03:21 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.