Sumber dimuat naik... memuat...

Strategi Dagangan Ambil Keuntungan Dinamik dan Hentikan Kerugian Berdasarkan Tiga Lilin Bearish Berturut-turut dan Purata Bergerak

Penulis:ChaoZhang, Tarikh: 2024-05-09 16:42:35
Tag:SMAEMA

img

Ringkasan

Strategi dagangan ini berdasarkan corak tiga lilin penurunan berturut-turut dan sistem purata bergerak untuk menentukan isyarat dagangan. Apabila harga di atas purata bergerak 200 hari dan terdapat tiga lilin penurunan berturut-turut, ia membuka kedudukan panjang. Strategi ini menguruskan risiko dagangan melalui tahap keuntungan dan stop loss dinamik, yang ditentukan oleh kedudukan purata bergerak jangka pendek dan perubahan peratusan harga. Strategi ini hanya berdagang dalam julat masa yang ditentukan.

Prinsip Strategi

  1. Hitung bilangan lilin penurunan berturut-turut. Apabila jumlah yang ditentukan (default adalah 3) lilin penurunan berturut-turut muncul, ia dianggap isyarat panjang.
  2. Gunakan dua purata bergerak untuk membantu menentukan trend dan masa perdagangan, dengan tetapan lalai purata bergerak 10 hari dan 200 hari.
  3. Tetapkan tahap mengambil keuntungan dan stop loss yang dinamik. Tahap mengambil keuntungan adalah peratusan tertentu (default 1.5%) di atas harga masuk, dan tahap stop loss adalah peratusan tertentu (default 1%) di bawah harga masuk.
  4. Satu lagi syarat untuk menutup kedudukan adalah apabila kedudukan harga berbanding dengan purata bergerak 10 hari berubah.
  5. Strategi hanya berjalan dalam jangka masa tertentu, yang ditentukan oleh tarikh permulaan dan akhir.

Kelebihan Strategi

  1. Dengan menggabungkan corak harga dan sistem purata bergerak, ia boleh menangkap peluang trend dengan agak baik.
  2. Melalui tahap mengambil keuntungan dan stop loss yang dinamik, risiko dan ganjaran dapat dikawal dengan fleksibel.
  3. Menggunakan perubahan dalam kedudukan purata bergerak jangka pendek sebagai isyarat untuk menutup kedudukan boleh bertindak balas dengan cepat terhadap pembalikan harga tiba-tiba.
  4. Menentukan julat masa dagangan dapat mengelakkan dagangan semasa tempoh khas seperti penutupan pasaran atau cuti, mengurangkan risiko.

Risiko Strategi

  1. Corak lilin penurunan berturut-turut tidak dapat menentukan pembalikan trend sepenuhnya, dan mungkin terdapat situasi di mana harga terus meningkat selepas lilin penurunan berturut-turut, menyebabkan strategi gagal.
  2. Kadar keuntungan dan stop loss peratusan tetap mungkin tidak dapat bertindak balas terhadap turun naik pasaran yang dramatik. Apabila trendnya sangat kuat, tahap keuntungan boleh ditetapkan terlalu rendah, yang membawa kepada keluar awal; apabila turun naik meningkat, tahap stop loss mungkin terlalu dekat, yang membawa kepada berhenti yang kerap.
  3. Penghakiman kedudukan purata bergerak jangka pendek mungkin terlambat, terutamanya apabila harga berubah dengan cepat, dan peluang penutupan terbaik mungkin telah dilewatkan.
  4. Strategi ini tidak mempunyai langkah pengurusan kedudukan dan kawalan risiko. Titik kemasukan dan saiz kedudukan tetap, yang boleh membawa kepada risiko yang berlebihan dalam satu urus niaga.

Arahan Pengoptimuman Strategi

  1. Lebih banyak penunjuk teknikal boleh diperkenalkan untuk membantu penilaian, seperti MACD dan RSI, untuk meningkatkan kebolehpercayaan isyarat.
  2. Mengoptimumkan kaedah pengiraan tahap mengambil keuntungan dan berhenti kerugian, seperti menggunakan ATR atau turun naik untuk menyesuaikan secara dinamik, atau menggabungkan tahap sokongan dan rintangan untuk ditetapkan.
  3. Untuk isyarat penutupan, pertimbangkan untuk menggunakan lebih banyak syarat pengesahan, seperti perubahan dalam jumlah dagangan, nisbah kedudukan panjang-pendek, dan lain-lain, untuk mengelakkan isyarat palsu.
  4. Memperkenalkan pengurusan kedudukan dan langkah-langkah kawalan risiko, seperti menyesuaikan saiz kedudukan setiap transaksi mengikut baki akaun dan tahap risiko, dan menetapkan had risiko keseluruhan.
  5. Untuk tetapan parameter, seperti bilangan lilin penurunan berturut-turut dan tempoh purata bergerak, ujian pengoptimuman boleh dijalankan untuk mencari kombinasi parameter yang terbaik.

Ringkasan

Strategi perdagangan ini menentukan peluang perdagangan trend melalui corak lilin bearish berturut-turut dan sistem purata bergerak, sambil mengawal risiko melalui tahap keuntungan dan stop loss dinamik dan perubahan kedudukan purata bergerak jangka pendek. Strategi ini mempunyai logika yang jelas dan sesuai untuk peniaga yang bertujuan untuk menangkap trend jangka menengah hingga panjang. Walau bagaimanapun, strategi ini juga mempunyai beberapa batasan, seperti kebolehpercayaan isyarat, penetapan tahap keuntungan dan stop loss, dan pengurusan kedudukan, yang masih mempunyai ruang untuk pengoptimuman. Dalam aplikasi praktikal, adalah perlu untuk membuat penyesuaian dan penambahbaikan yang sesuai kepada strategi mengikut ciri pasaran dan keutamaan risiko peribadi, dan mengawal risiko dengan ketat.


/*backtest
start: 2023-05-09 00:00:00
end: 2024-05-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estrategia de Trading", overlay=true)

// Definir el número de cierres de velas decrecientes consecutivas
var int cierres_decrecientes_consecutivos = 0
num_cierres_decrecientes = input.int(3, title="Número de cierres decrecientes", minval=1)

// Definir el porcentaje de cambio para cerrar la operación
porcentaje_cierre_arriba = input.float(1.5, title="Porcentaje de cierre arriba (%)", step=0.1)
porcentaje_cierre_abajo = input.float(1.0, title="Porcentaje de cierre abajo (%)", step=0.1)

// Definir las medias móviles para el cierre de la operación
periodos_media_movil_cierre = input.int(10, title="Períodos de la media móvil para cierre")
periodos_media_movil_200 = input.int(200, title="Períodos de la media móvil de 200")

// Definir el rango de fechas para la simulación
start_date = timestamp(2024, 1, 1, 0, 0)
end_date = timestamp(2024, 12, 31, 23, 59)

// Calcular la media móvil para el cierre de la operación
sma_cierre = ta.sma(close, periodos_media_movil_cierre)
sma_200 = ta.sma(close, periodos_media_movil_200)

// Calcular si el precio está por encima o por debajo de la media móvil para el cierre de la operación
precio_por_encima_sma_cierre = close > sma_cierre
precio_por_debajo_sma_cierre = close < sma_cierre

// Calcular si se han producido num_cierres_decrecientes consecutivos
if (ta.change(close) < 0)
    cierres_decrecientes_consecutivos := cierres_decrecientes_consecutivos + 1
else
    cierres_decrecientes_consecutivos := 0

es_cierres_consecutivos = cierres_decrecientes_consecutivos >= num_cierres_decrecientes

// Definir condiciones de entrada y salida de la estrategia dentro del rango de fechas y con el precio por encima de la SMA de 200
condicion_entrada = es_cierres_consecutivos and close > sma_200
condicion_cierre_sma = (precio_por_encima_sma_cierre[1] and not precio_por_encima_sma_cierre) or (not precio_por_encima_sma_cierre[1] and precio_por_encima_sma_cierre)

// Calcular precios de salida basados en porcentajes
precio_salida_arriba = strategy.position_avg_price * (1 + porcentaje_cierre_arriba / 100)
precio_salida_abajo = strategy.position_avg_price * (1 - porcentaje_cierre_abajo / 100)

// Ejecutar operación en largo dentro del rango de fechas y con el precio por encima de la SMA de 200
if (condicion_entrada and strategy.opentrades == 0)
    strategy.entry("Long", strategy.long)

// Cerrar operación en largo si se cumple la condición de salida por cambio en el cruce de la media móvil dentro del rango de fechas
if (strategy.position_size > 0 and condicion_cierre_sma)
    strategy.close("Long")

// Cerrar operación en largo si el precio alcanza el porcentaje de cierre arriba o abajo dentro del rango de fechas
strategy.exit("Stop Loss", "Long", limit=precio_salida_arriba, stop=precio_salida_abajo)

// Plot para visualizar la media móvil para el cierre de la operación
plot(sma_cierre, color=color.red)

// Plot para visualizar la SMA de 200
plot(sma_200, color=color.blue)


Berkaitan

Lebih lanjut