Strategi mengambil keuntungan persentase multi-level

Penulis:Kebaikan, Dibuat: 2019-09-25 16:24:31, Diperbarui: 2023-11-07 20:44:48

img

Ringkasan

Stanley Kroll menyebutkan dalam bukunya Kroll on Futures Trading Strategy bahwa metode mengambil untungnya dibagi menjadi tiga bagian: ketika harga target tercapai, sepertiga posisi akan ditutup; sepertiga posisi lainnya akan ditutup ketika kisaran harga resistensi dan dukungan jangka panjang dipecahkan; sepertiga posisi terakhir akan mengikuti tren sampai stop loss dipicu.

Strategi yang dibagikan oleh artikel ini didasarkan pada prinsip ini. Garis rata-rata bergerak digunakan sebagai arah tren. Hubungan antara harga penutupan, harga tertinggi dan harga terendah digunakan sebagai sinyal untuk membuka posisi. Di bawah premis bahwa tren harga tidak berubah secara signifikan, secara proaktif mengambil keuntungan dalam batch sesuai dengan persentase.

Mengapa kita perlu stop loss dan mengambil keuntungan?

Ada pepatah lama di dunia perdagangan: semua orang tahu cara membuka posisi, hanya pro yang tahu cara menutup posisi. Seperti kata-kata ini menunjukkan, bagaimana meninggalkan pasar adalah faktor kunci perdagangan, karena ketika Anda membuka posisi, Anda hanya perlu menilai apakah tren pasar dimulai. Tapi setelah Anda melompat ke pasar, Anda perlu menilai apakah tren berubah atau tidak, dan Anda perlu mengendalikan risiko setiap saat. Saya percaya bahwa banyak pedagang telah mengalami pasar roller coaster, Anda melompat ke kereta api dan berakhir dengan keuntungan kecil atau bahkan kerugian.

Dengan kata sederhana, posisi penutupan tidak lebih dari dua situasi: mengambil keuntungan dan stop loss. Misalnya, jika Anda beruntung, harga mulai naik setelah membeli. Pada saat ini, Anda harus mempertimbangkan masalah mengambil keuntungan. Jika tidak, kita mungkin hanya menghasilkan uang pada look, tidak mengambil keuntungan di tempat yang tepat, dan akhirnya kehilangan. Jika Anda tidak beruntung, harga akan mulai turun segera setelah pembelian. Pada saat ini, Anda harus mempertimbangkan stop loss, atau Anda harus mempertimbangkan opsi stop loss sebelum Anda membuka posisi, jika tidak, kerugian kecil akan menumpuk kerugian besar.

Dari sudut pandang statistik, sebagian besar posisi kerugian akan kembali ke harga biaya di pasar masa depan. Namun, jika Anda menemukan probabilitas kecil dari tren terbalik yang besar, Anda mungkin kehilangan semua keuntungan sebelumnya atau bahkan seluruh dana. Oleh karena itu, untuk investor ritel kami, kami dapat membuat keuntungan besar; kami dapat membuat keuntungan kecil; kami dapat melakukan kerugian kecil, tetapi kami tidak pernah dapat kehilangan uang besar.

Logika strategi

Kadang-kadang ketika kita secara intuitif mengambil keuntungan, mungkin ada gelombang besar pergerakan harga pasar bahwa kita hanya mendapatkan sejumlah kecil dari itu. Meskipun itu bukan transaksi yang gagal, akan ada semacam penyesalan dari mentalitas, jadi strategi ini akan menggunakan metode mengambil keuntungan multi-level, yaitu ketika keuntungan mengambang mencapai 5%, mode mengambil keuntungan aktif tingkat pertama diaktifkan. Setelah 100% ditarik dari titik tertinggi keuntungan mengambang, ambil keuntungan dan posisi dekat; ketika keuntungan mengambang mencapai 10%, mode mengambil keuntungan aktif tingkat kedua diaktifkan. Setelah 50% ditarik dari titik tertinggi keuntungan mengambang, ambil keuntungan aktif dan posisi dekat; Ketika keuntungan mengambang mencapai 20%, pengambilan keuntungan aktif tiga tingkat diaktifkan. Setelah 20% ditarik dari titik tertinggi, mode mengambang dan posisi dekat.

  • Mendefinisikan rel atas

  • Mendefinisikan rel bawah

  • Tentukan rata-rata bergerak

  • Posisi panjang terbuka: harga penutupan lebih besar dari rel atas, dan rel atas lebih besar dari rata-rata bergerak

  • Posisi pendek terbuka: harga penutupan lebih rendah dari rel bawah, dan rel bawah lebih kecil dari rata-rata bergerak

  • Posisi panjang ditutup: Harga penutupan lebih rendah dari jalur bawah, atau harga penutupan lebih rendah dari rata-rata bergerak

  • Posisi pendek ditutup: Harga penutupan lebih besar dari rel atas, atau harga penutupan lebih besar dari rata-rata bergerak

  • Posisi panjang tingkat 1 mengambil keuntungan: harga tertinggi setelah membuka posisi lebih besar atau sama dengan harga pembukaan dikalikan dengan tingkat awal keuntungan pertama, dan harga terendah lebih kecil dari atau sama dengan harga tertinggi setelah membuka posisi dikurangi keuntungan variabel dikalikan dengan tingkat pertama mengambil keuntungan nilai pemicu

  • Posisi panjang tingkat 2 mengambil keuntungan: harga tertinggi setelah membuka posisi lebih besar atau sama dengan harga pembukaan dikalikan dengan tingkat awal keuntungan kedua, dan harga terendah lebih kecil dari atau sama dengan harga tertinggi setelah membuka posisi dikurangi keuntungan variabel dikalikan dengan tingkat kedua mengambil keuntungan nilai pemicu

  • Level 3 posisi panjang mengambil keuntungan: harga tertinggi setelah membuka posisi lebih besar dari atau sama dengan harga pembukaan dikalikan dengan tingkat ketiga dari awal keuntungan, dan harga terendah kurang dari atau sama dengan harga tertinggi setelah membuka posisi dikurangi keuntungan variabel dikalikan dengan tingkat ketiga mengambil keuntungan nilai pemicu

  • Posisi pendek tingkat 1 mengambil keuntungan: harga terendah setelah pembukaan posisi kurang dari atau sama dengan harga pembukaan dikalikan dengan tingkat awal keuntungan pertama, dan harga tertinggi lebih besar dari atau sama dengan harga terendah setelah pembukaan posisi ditambah keuntungan variabel dikalikan dengan nilai pemicu mengambil keuntungan tingkat pertama.

  • Posisi pendek tingkat 2 mengambil keuntungan: harga terendah setelah pembukaan posisi kurang dari atau sama dengan harga pembukaan dikalikan dengan tingkat awal keuntungan kedua, dan harga tertinggi lebih besar dari atau sama dengan harga terendah setelah pembukaan posisi ditambah keuntungan variabel dikalikan dengan nilai pemicu mengambil keuntungan tingkat kedua.

  • Posisi pendek tingkat 3 mengambil keuntungan: harga terendah setelah membuka posisi kurang dari atau sama dengan harga pembukaan dikalikan dengan tingkat awal keuntungan ketiga, dan harga tertinggi lebih besar dari atau sama dengan harga terendah setelah membuka posisi ditambah keuntungan yang mengambang dikalikan dengan tingkat ketiga mengambil keuntungan nilai pemicu

  • Posisi panjang Stop Loss: Harga penutupan kurang dari atau sama dengan harga pembukaan dikalikan dengan faktor stop loss

  • Posisi pendek Stop Loss: Harga penutupan kurang dari atau sama dengan harga pembukaan dikalikan dengan faktor stop loss

Kode Strategi

Berdasarkan logika strategi di atas, kita dapat menerapkan strategi ini pada platform FMZ Quant.fmz.com> Login > Dashboard > Strategy Library > New Strategy > Klik pada menu drop-down di sudut kanan atas untuk memilih Bahasa Saya, mulai menulis strategi, dan perhatikan komentar dalam kode di bawah ini.

Pertama, parameter yang perlu digunakan dalam strategi: panjang garis rata-rata, rentang stop loss, parameter take profit, dll, semuanya didefinisikan sebagai parameter eksternal untuk memfasilitasi debugging dan optimasi tes.

/ / Define parameters
LENGTH := 100; // moving average parameter
STOP_LOSS := 3; // Stop Loss range

// Define the take profit parameter
STARTPER1 := 5; // Level 1 tracking take profit, start from profit reaches 5%
STOPPER1 := 100; // Level 1 tracking take profit, profit retracement 100% triggers it
STARTPER2 := 10; // Level 2 tracking take profit, start from profit reaches 10%
STOPPER2 := 50; // Level 2 tracking take profit, profit retracement 50% trigger it
STARTPER3 := 20; // Level 3 tracking take profit, start from profit reaches 20%
STOPPER3 := 20; // Level 3 tracking take profit, profit retracement 20% trigger

Selanjutnya, tetapkan kisaran harga berdasarkan harga hari ini dan kemarin, dan fluktuasi harga kemarin. Melalui kisaran harga ini dan hubungan posisi relatif dengan moving average, tidak hanya sinyal pembelian dan penjualan posisi terbuka dapat dilacak dengan baik, tetapi juga mengurangi jumlah posisi terbuka dalam periode kejutan dan besarnya penarikan juga.

/ / Define the upper and lower intervals
NN := BARSLAST(DATE <> REF(DATE, 1)) + 1; // current number of cycles
TODAY_OPEN := VALUEWHEN(NN = 1, O); // Opening price of the day
TODAY_HIGH := HHV(H, NN); // The highest price of the day
TODAY_LOW := LLV(L, NN); // lowest price of the day
YESTERDAY_HIGH := REF(TODAY_HIGH, NN); // Yesterday's highest price
YESTERDAY_LOW := REF(TODAY_LOW, NN); // yesterday's lowest price
BAND := YESTERDAY_HIGH - YESTERDAY_LOW; // Yesterday amplitude
UPPERLINE : TODAY_OPEN + BAND; // upper line
LOWERLINE : TODAY_OPEN - BAND; // lower line
MYMA:MA(CLOSE, LENGTH); // Moving average

Kemudian, ini adalah kode logika untuk posisi pembukaan dan penutupan. Ketika harga penutupan lebih besar dari rel atas dan rel atas lebih besar dari rata-rata bergerak, buka posisi panjang; ketika harga penutupan lebih rendah dari rel bawah dan rel bawah lebih kecil dari rata-rata bergerak, buka posisi pendek; kondisi posisi penutupan berlawanan dengan kondisi posisi pembukaan: ketika harga penutupan kurang dari rel bawah, atau harga penutupan kurang dari rata-rata bergerak, tutup posisi panjang; ketika harga penutupan lebih besar dari rel atas, atau harga penutupan lebih besar dari rata-rata bergerak, tutup posisi pendek.

// open the position
C > UPPERLINE AND UPPERLINE > MYMA, BK; // Open long position
C < LOWERLINE AND LOWERLINE < MYMA, SK; // Open short position

// close the position
C < LOWERLINE OR C < MYMA, SP; // Close long position
C > UPPERLINE OR C > MYMA, BP; // Close short position

Akhirnya, ini adalah bagian stop-loss dan take-profit yang kami sebutkan dalam artikel ini. Apakah itu posisi panjang atau pendek untuk mengambil keuntungan, itu dibagi menjadi tiga tahap. Setiap tahap disesuaikan secara otomatis sesuai dengan fluktuasi harga pasar saat ini dan profitabilitas. Dan penyesuaian ini diatur untuk parameter eksternal, Anda dapat membuat penyesuaian halus sesuai dengan kondisi pasar yang berbeda dan status varietas.

Stop loss juga merupakan bagian dari strategi yang perlu kita pertimbangkan, karena tidak mungkin menghasilkan uang dengan membuka posisi apapun. terkadang pasar bertentangan dengan harapan kita, jadi stop loss sangat diperlukan. stop loss dari artikel ini sederhana dan kekerasan, yaitu, ketika floating loss mencapai tingkat tertentu, semua posisi akan ditutup.

// long position take profit
BKHIGH >= BKPRICE * (1 + 0.01 * STARTPER1) AND LOW <= BKHIGH - (BKHIGH - BKPRICE) * 0.01 * STOPPER1, SP;  // level 1
BKHIGH >= BKPRICE * (1 + 0.01 * STARTPER2) AND LOW <= BKHIGH - (BKHIGH - BKPRICE) * 0.01 * STOPPER2, SP;  // level 2
BKHIGH >= BKPRICE * (1 + 0.01 * STARTPER3) AND LOW <= BKHIGH - (BKHIGH - BKPRICE) * 0.01 * STOPPER3, SP;  // level 3

// short position take profit
SKLOW <= SKPRICE * (1 - 0.01 * STARTPER1) AND HIGH >= SKLOW + (SKPRICE - SKLOW) * 0.01 * STOPPER1, BP;  // level 1
SKLOW <= SKPRICE * (1 - 0.01 * STARTPER2) AND HIGH >= SKLOW + (SKPRICE - SKLOW) * 0.01 * STOPPER2, BP;  // level 2
SKLOW <= SKPRICE * (1 - 0.01 * STARTPER3) AND HIGH >= SKLOW + (SKPRICE - SKLOW) * 0.01 * STOPPER3, BP;  // level 3

// stop loss
C <= BKPRICE * (1 - STOP_LOSS * 0.01), SP;  // long position
C >= SKPRICE * (1 + STOP_LOSS * 0.01), BP;  // short position

Selain itu, kami juga menetapkan metode delegasi pesanan, serta penyaringan sinyal, untuk membuat pemrosesan lebih lengkap.

// Set the order commission method
SETSIGPRICETYPE(BK,NEW_ORDER);
SETSIGPRICETYPE(SK,NEW_ORDER);
SETSIGPRICETYPE(BP,NEW_ORDER);
SETSIGPRICETYPE(SP,NEW_ORDER);

// Set the signal filtering method
AUTOFILTER;

Strategi backtest

Lingkungan pengujian

  • Varietas perdagangan: indeks rebar
  • Waktu: 22 Februari 2015 ~ 18 September 2019
  • Siklus: satu jam
  • Slippage: 2 pips untuk harga posisi pembukaan dan penutupan
  • Biaya: 2 kali dari standar pertukaran normal

img

Laporan kinerja

img

Kurva dana

img

Strategi Salin

Klik untuk menyalin sumber strategi penuh tanpa mengkonfigurasihttps://www.fmz.com/strategy/166753


Berkaitan

Lebih banyak