Sumber dimuat naik... memuat...

Strategi mengambil keuntungan peratusan pelbagai peringkat

Penulis:Kebaikan, Dicipta: 2019-09-25 16:24:31, Dikemas kini: 2023-11-07 20:44:48

img

Ringkasan

Stanley Kroll menyebut dalam bukunya Kroll on Futures Trading Strategy bahawa kaedah mengambil keuntungan beliau dibahagikan kepada tiga bahagian: apabila harga sasaran dicapai, satu pertiga kedudukan akan ditutup; satu pertiga lagi kedudukan akan ditutup apabila rintangan jangka panjang dan harga sokongan adalah pecah; satu pertiga terakhir kedudukan akan mengikuti trend sehingga kerugian berhenti dicetuskan.

Strategi yang dikongsi oleh artikel ini adalah berdasarkan prinsip ini. Garis purata bergerak digunakan sebagai arah trend. Hubungan antara harga penutupan, harga tertinggi dan harga terendah digunakan sebagai isyarat untuk membuka kedudukan. Di bawah premis bahawa trend harga tidak berubah dengan ketara, secara proaktif mengambil keuntungan dalam kumpulan mengikut peratusan.

Kenapa kita perlu stop loss dan mengambil keuntungan?

Terdapat pepatah lama dalam dunia perdagangan: semua orang tahu bagaimana untuk membuka kedudukan, hanya profesional yang tahu bagaimana untuk menutup kedudukan. Seperti kata-kata ini menunjukkan, bagaimana untuk meninggalkan pasaran adalah faktor utama perdagangan, kerana apabila anda membuka kedudukan, anda hanya perlu menilai sama ada trend pasaran bermula. Tetapi setelah anda melompat ke pasaran, anda perlu menilai sama ada trend itu bertukar atau tidak, dan anda perlu mengawal risiko setiap masa. Saya percaya bahawa banyak peniaga telah mengalami pasaran roller coaster, anda melompat ke kereta api dan berakhir dengan keuntungan kecil atau bahkan kerugian.

Secara ringkasnya, kedudukan penutupan tidak lebih daripada dua keadaan: mengambil keuntungan dan menghentikan kerugian. Sebagai contoh, jika anda bernasib baik, harga mula meningkat selepas membeli. Pada masa ini, anda mesti mempertimbangkan masalah mengambil keuntungan. Jika tidak, kita hanya boleh membuat wang pada look, tidak mengambil keuntungan di tempat yang betul, dan akhirnya kehilangan. Jika anda tidak bernasib baik, harga akan mula jatuh tidak lama selepas pembelian. Pada masa ini, anda harus mempertimbangkan stop loss, atau anda harus mempertimbangkan pilihan stop loss sebelum anda membuka kedudukan, jika tidak, kerugian kecil akan mengumpulkan kerugian besar.

Dari sudut pandang statistik, kebanyakan kedudukan kerugian akan kembali ke harga kos di pasaran masa depan. Walau bagaimanapun, jika anda menghadapi kemungkinan kecil trend terbalik yang besar, anda mungkin kehilangan semua keuntungan sebelumnya atau bahkan keseluruhan dana. Oleh itu, untuk pelabur runcit kami, kami boleh membuat keuntungan besar; kami boleh membuat keuntungan kecil; kami boleh melakukan kerugian kecil, tetapi kami tidak boleh kehilangan wang yang besar.

Logik strategi

Kadang-kadang apabila kita secara intuitif mengambil keuntungan, mungkin terdapat gelombang besar pergerakan harga pasaran yang kita hanya mendapat sejumlah kecil daripadanya. Walaupun ia bukan transaksi yang gagal, akan ada sejenis penyesalan dari mental, jadi strategi ini akan menggunakan kaedah mengambil keuntungan berbilang peringkat, iaitu apabila keuntungan terapung mencapai 5%, mod mengambil keuntungan aktif peringkat pertama diaktifkan. Setelah 100% dikeluarkan dari titik tertinggi keuntungan terapung, ambil keuntungan dan tutup kedudukan; apabila keuntungan terapung mencapai 10%, mod mengambil keuntungan aktif peringkat kedua diaktifkan. Setelah 50% ditarik balik dari titik tertinggi keuntungan terapung, ambil keuntungan dan tutup kedudukan; Apabila keuntungan terapung mencapai 20%, pengambilan keuntungan aktif tiga peringkat diaktifkan. Setelah 20% dikeluarkan dari titik tertinggi keuntungan terapung, mod terapung dan menutup kedudukan.

  • Tentukan rel atas

  • Tentukan rel bawah

  • Tentukan purata bergerak

  • Posisi panjang terbuka: harga penutupan lebih besar daripada rel atas, dan rel atas lebih besar daripada purata bergerak

  • Posisi pendek terbuka: harga penutupan adalah lebih rendah daripada rel bawah, dan rel bawah adalah lebih kecil daripada purata bergerak

  • Posisi panjang ditutup: Harga penutupan lebih rendah daripada trek bawah, atau harga penutupan lebih rendah daripada purata bergerak

  • Posisi pendek ditutup: Harga penutupan lebih besar daripada rel atas, atau harga penutupan lebih besar daripada purata bergerak

  • Tahap 1 kedudukan panjang mengambil keuntungan: harga tertinggi selepas pembukaan kedudukan adalah lebih besar daripada atau sama dengan harga pembukaan dikalikan dengan tahap pertama keuntungan permulaan, dan harga terendah adalah kurang daripada atau sama dengan harga tertinggi selepas pembukaan kedudukan dikurangkan keuntungan terapung dikalikan dengan tahap pertama mengambil keuntungan nilai pencetus

  • Tahap 2 kedudukan panjang mengambil keuntungan: harga tertinggi selepas membuka kedudukan adalah lebih besar daripada atau sama dengan harga pembukaan dikalikan dengan tahap kedua keuntungan permulaan, dan harga terendah adalah kurang daripada atau sama dengan harga tertinggi selepas membuka kedudukan dikurangkan keuntungan terapung dikalikan dengan nilai pemicu keuntungan tahap kedua

  • Tahap 3 kedudukan panjang mengambil keuntungan: harga tertinggi selepas membuka kedudukan adalah lebih besar daripada atau sama dengan harga pembukaan dikalikan dengan tahap ketiga keuntungan permulaan, dan harga terendah adalah kurang daripada atau sama dengan harga tertinggi selepas membuka kedudukan dikurangkan keuntungan terapung dikalikan dengan nilai pemicu keuntungan tahap ketiga

  • Tahap 1 kedudukan pendek mengambil keuntungan: harga terendah selepas membuka kedudukan adalah kurang daripada atau sama dengan harga pembukaan dikalikan dengan tahap awal keuntungan pertama, dan harga tertinggi adalah lebih besar daripada atau sama dengan harga terendah selepas membuka kedudukan ditambah dengan keuntungan terapung dikalikan dengan nilai pemicu mengambil keuntungan peringkat pertama.

  • Posisi pendek peringkat 2 mengambil keuntungan: harga terendah selepas membuka kedudukan adalah kurang daripada atau sama dengan harga pembukaan dikalikan dengan tahap keuntungan permulaan kedua, dan harga tertinggi adalah lebih besar daripada atau sama dengan harga terendah selepas membuka kedudukan ditambah keuntungan terapung dikalikan dengan nilai pemicu keuntungan peringkat kedua.

  • Tahap 3 kedudukan pendek mengambil keuntungan: harga terendah selepas membuka kedudukan adalah kurang daripada atau sama dengan harga pembukaan dikalikan dengan tahap ketiga keuntungan permulaan, dan harga tertinggi adalah lebih besar daripada atau sama dengan harga terendah selepas membuka kedudukan ditambah keuntungan terapung dikalikan dengan nilai pemicu keuntungan peringkat ketiga

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

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

Kod strategi

Berdasarkan logik strategi di atas, kita boleh melaksanakan strategi ini di platform FMZ Quant.fmz.com> Login > Dashboard > Strategy Library > New Strategy > Klik pada menu drop-down di sudut kanan atas untuk memilih Bahasa Saya, mula menulis strategi, dan memberi perhatian kepada komen dalam kod di bawah.

Pertama, parameter yang perlu digunakan dalam strategi: panjang garis purata, julat stop loss, parameter mengambil keuntungan, dan lain-lain, semuanya ditakrifkan sebagai parameter luaran untuk memudahkan debugging dan pengoptimuman ujian.

/ / 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

Seterusnya, tetapkan julat harga berdasarkan harga hari ini dan semalam, dan turun naik harga semalam. Melalui julat harga ini dan hubungan kedudukan relatif dengan purata bergerak, bukan sahaja isyarat membeli dan menjual kedudukan terbuka boleh dikesan dengan baik, tetapi juga mengurangkan bilangan kedudukan terbuka dalam tempoh kejutan dan besarnya pengeluaran 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, ia adalah kod logik untuk membuka dan menutup kedudukan. Apabila harga penutupan lebih besar daripada rel atas dan rel atas lebih besar daripada purata bergerak, buka kedudukan panjang; apabila harga penutupan lebih rendah daripada rel bawah dan rel bawah lebih kecil daripada purata bergerak, buka kedudukan pendek; keadaan kedudukan penutupan adalah bertentangan dengan keadaan kedudukan pembukaan: apabila harga penutupan kurang daripada rel bawah, atau harga penutupan kurang daripada purata bergerak, tutup kedudukan panjang; apabila harga penutupan lebih besar daripada rel atas, atau harga penutupan lebih besar daripada purata bergerak, tutup kedudukan 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, ia adalah bahagian stop-loss dan mengambil keuntungan yang kami sebutkan dalam artikel ini. Sama ada ia adalah kedudukan panjang atau pendek untuk mengambil keuntungan, ia dibahagikan kepada tiga peringkat. Setiap peringkat disesuaikan secara automatik mengikut turun naik harga pasaran semasa dan keuntungan. Dan pelarasan ini ditetapkan kepada parameter luaran, anda boleh membuat pelarasan halus mengikut keadaan pasaran yang berbeza dan status pelbagai.

Stop loss juga merupakan sebahagian daripada strategi yang perlu kita pertimbangkan, kerana mustahil untuk membuat wang dengan membuka mana-mana kedudukan. Kadang-kadang pasaran bertentangan dengan jangkaan kita, jadi stop loss adalah sangat diperlukan. Stop loss artikel ini adalah mudah dan kekerasan, iaitu, apabila kerugian terapung mencapai tahap tertentu, semua kedudukan 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

Di samping itu, kami juga menetapkan kaedah penghantaran pesanan, serta penapisan isyarat, untuk membuat pemprosesan 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;

Ujian belakang strategi

Kawasan ujian

  • Pelbagai dagangan: indeks rebar
  • Masa: 22 Februari 2015 ~ 18 September 2019
  • Kitaran: satu jam
  • Slippage: 2 pips untuk harga pembukaan dan penutupan kedudukan
  • Bayaran: 2 kali daripada standard pertukaran biasa

img

Laporan prestasi

img

Kurva dana

img

Strategi Salin

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


Berkaitan

Lebih lanjut