Trend Mengikuti Strategi Memaksimumkan Untung


Tarikh penciptaan: 2023-10-11 14:38:40 Akhirnya diubah suai: 2023-10-11 14:38:40
Salin: 2 Bilangan klik: 657
1
fokus pada
1702
Pengikut

Gambaran keseluruhan

Strategi ini menggunakan pengiraan purata bergerak harga dan standard deviasi CHANNEL, membentuk tren naik turun yang dinamik, dan menggabungkan harga tertinggi dan harga terendah untuk membentuk tren tengah, untuk menentukan arah trend semasa. Strategi untuk berdagang mengikut perubahan trend apabila harga menembusi tren naik, turun ketika harga jatuh dari tren.

Prinsip Strategi

  1. Mengira basis purata bergerak mudah 20 hari sebagai garisan penanda aras
  2. Mengira close 20 hari standard deviation dev sebagai asas untuk jarak ke atas dan ke bawah lintasan
  3. Orbit tengah basis±2*dev menentukan upper dan lower
  4. Mengira purata harga tertinggi upper2 dan harga terendah lower2 dalam 20 hari terakhir basis2 sebagai garis tengah kedua
  5. Kedua-dua laluan di atas mengambil nilai purata MB sebagai laluan akhir
  6. Apabila tutup lebih besar daripada MB di tengah-tengah, ia adalah isyarat kenaikan, dan apabila MB lebih besar daripada tutup, ia adalah isyarat penurunan
  7. Mengambil keputusan berdasarkan isyarat dan mengambil arah yang lebih longgar untuk menjejaki trend

Analisis kelebihan

  1. Menggunakan saluran standard deviasi yang dinamik untuk menangkap trend perubahan harga dengan cepat
  2. Berikutan maklumat harga tertinggi dan terendah, garis tengah lebih bermakna
  3. Reka bentuk dual mid-track menjadikan isyarat lebih tepat dan boleh dipercayai
  4. Strategi yang ringkas, jelas dan mudah difahami
  5. Lebih sedikit parameter yang boleh dikonfigurasi, sesuai untuk pelbagai keadaan pasaran

Analisis risiko

  1. Berfikir tentang strategi hentikan kerugian untuk mengawal kerugian tunggal semasa melakukan perdagangan di atas atau di bawah landasan
  2. Frekuensi dagangan mungkin lebih tinggi, kesan bayaran perlu dipertimbangkan
  3. Parameter seperti parameter tempoh perlu dioptimumkan dengan berhati-hati untuk mengelakkan overfit
  4. Terdapat kemungkinan untuk isyarat perdagangan yang salah apabila trend berubah.
  5. Pengurusan kewangan yang baik diperlukan, tidak boleh menggunakan leverage yang terlalu tinggi

Arah pengoptimuman

  1. Anda boleh mempertimbangkan untuk menambah syarat penapisan untuk mengelakkan penembusan palsu
  2. Exit Stop Loss boleh ditetapkan berdasarkan ATR dan lain-lain
  3. Maklumat mengenai jumlah transaksi boleh digabungkan untuk mengesahkan kebolehpercayaan isyarat penembusan
  4. Parameter seperti kitaran pengiraan boleh dioptimumkan untuk lebih banyak keadaan pasaran
  5. Anda boleh pertimbangkan untuk menetapkan jumlah kedudukan terbuka untuk mengawal risiko kerugian tunggal.

ringkaskan

Strategi ini adalah jelas dan mudah difahami, menangkap trend melalui saluran dinamik, dan menghasilkan isyarat perdagangan yang digabungkan dengan reka bentuk pelbagai rel tengah, yang dapat mengesan arah trend dengan berkesan untuk berdagang, dan mendapat pulangan perdagangan yang lebih baik. Dalam penggunaan praktikal, anda perlu memberi perhatian kepada strategi hentikan kerugian, pengurusan wang, dan mengoptimumkan parameter untuk mendapatkan keuntungan yang stabil dalam jangka panjang.

Kod sumber strategi
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ErdemDemir

//@version=4
strategy("Lawyers Trend Pro Strategy", shorttitle="Lawyers Trend Pro Strategy", overlay=true)

src = close
mult = 2.0
basis = sma(src, 20)
dev = mult * stdev(src, 20)
upper = basis + dev
lower = basis - dev
offset = 0


lower2 = lowest(20)
upper2 = highest(20)
basis2 = avg(upper2, lower2)


MB= (basis+basis2)/2





col1=close>MB
col3=MB>close
colorE = col1 ? color.blue : col3 ? color.red : color.yellow
p3=plot(MB, color=colorE, linewidth=3)

// Deternine if we are currently LONG
isLong = false
isLong := nz(isLong[1], false)

// Determine if we are currently SHORT
isShort = false
isShort := nz(isShort[1], false)

// Buy only if the buy signal is triggered and we are not already long
buySignal = not isLong and crossover(close,MB)

// Sell only if the sell signal is triggered and we are not already short
sellSignal= not isShort and crossover(MB,close)
if (buySignal)
    isLong := true
    isShort := false

if (sellSignal)
    isLong := false
    isShort := true







/// LONG
strategy.entry("long", true , when = buySignal, comment="Open Long")

strategy.close("long", when=sellSignal, comment = "Close Long")

/// SHORT
strategy.entry("short", false,  when = sellSignal, comment="Open Short")

strategy.close("short", when=buySignal, comment = "Close Short")