Strategi perdagangan kuantitatif ini adalah sistem perdagangan jangka panjang berdasarkan pelbagai penunjuk teknikal dan tindakan harga. Ia terutamanya menggunakan purata bergerak, SAR Parabolik, dan corak candlestick untuk mengenal pasti peluang pembelian yang berpotensi, sambil menggunakan pelbagai keadaan keluar untuk menguruskan risiko dan mengunci keuntungan.
Syarat kemasukan:
Pengurusan Risiko:
Syarat keluar:
Strategi ini meningkatkan ketepatan dan ketahanan perdagangan dengan menggabungkan beberapa penunjuk dan tindakan harga. SMA 200-periode digunakan untuk mengesahkan trend jangka panjang, lilin bearish berturut-turut mengenal pasti keadaan oversold jangka pendek, sementara SAR, SMA jangka pendek, dan corak Doji digunakan untuk menangkap perubahan sentimen pasaran dengan tepat pada masanya.
Analisis Multidimensional: Menggabungkan trend jangka panjang, keadaan oversold jangka pendek, dan pelbagai kriteria keluar untuk penilaian pasaran yang komprehensif.
Kawalan Risiko: Menggunakan peratusan stop-loss dan mengambil keuntungan tetap, mengawal risiko untuk setiap perdagangan dengan berkesan.
Fleksibiliti: Membolehkan pengguna mengoptimumkan strategi melalui penyesuaian parameter, menyesuaikan diri dengan persekitaran pasaran yang berbeza.
Keluar tepat pada masanya: Keadaan keluar berbilang memastikan penutupan kedudukan yang cepat semasa pembalikan pasaran, melindungi keuntungan.
Mengikuti trend: Memastikan trend jangka panjang menggunakan SMA 200-periode, meningkatkan kadar kejayaan perdagangan.
Pencegahan Overtrading: Mengehadkan bilangan lilin penurunan berturut-turut, mengelakkan kemasukan semasa aliran menurun yang melampau.
Risiko pecah palsu: Pasaran mungkin mengalami pemulihan jangka pendek diikuti dengan penurunan berterusan, yang membawa kepada isyarat palsu. Penyelesaian: Pertimbangkan untuk menambah pengesahan jumlah atau penunjuk momentum lain.
Sensitiviti Parameter: Prestasi strategi mungkin sangat sensitif terhadap pemilihan parameter. Penyelesaian: Melakukan pengujian balik data sejarah yang luas untuk mencari kombinasi parameter yang kukuh.
Kebergantungan persekitaran pasaran: Mungkin kurang berprestasi di pasaran yang berbeza. Penyelesaian: Pertimbangkan untuk menambah penapis persekitaran pasaran untuk menghentikan perdagangan apabila trend tidak jelas.
Slippage dan Komisen: Masuk dan keluar yang kerap dalam perdagangan sebenar boleh mengakibatkan kos transaksi yang tinggi. Penyelesaian: Mengoptimumkan kekerapan dagangan dan mempertimbangkan untuk meningkatkan tempoh penahan.
Terlalu bergantung pada Penunjuk Teknikal: mengabaikan faktor asas boleh menyebabkan prestasi yang buruk semasa acara utama. Penyelesaian: Sertakan analisis asas atau pertimbangkan untuk menghentikan perdagangan sebelum data ekonomi penting dikeluarkan.
Penyesuaian Parameter Dinamik: Melaksanakan penyesuaian parameter untuk menyesuaikan secara automatik tempoh purata bergerak dan parameter SAR berdasarkan turun naik pasaran.
Menggabungkan Analisis Volume: Memperkenalkan penunjuk jumlah seperti OBV atau CMF untuk mengesahkan kesahihan pergerakan harga.
Tambah penapisan persekitaran pasaran: Gunakan ATR atau penunjuk turun naik untuk mengenal pasti keadaan pasaran dan mengurangkan perdagangan semasa tempoh turun naik yang rendah.
Mengoptimumkan Logik Keluar: Pertimbangkan untuk menggunakan hentian belakang atau hentian dinamik berasaskan ATR untuk mendapatkan keuntungan yang lebih baik.
Mengintegrasikan Analisis Pelbagai Jangka Masa: Memastikan trend pada jangka masa yang lebih lama untuk meningkatkan ketepatan perdagangan.
Memperkenalkan Pembelajaran Mesin: Gunakan algoritma pembelajaran mesin untuk mengoptimumkan pemilihan parameter dan proses penjanaan isyarat.
Pertimbangkan Faktor Dasar: Mengintegrasikan kalendar ekonomi untuk menyesuaikan tingkah laku strategi sebelum peristiwa penting.
Meningkatkan Pengurusan Risiko: Melaksanakan saiz kedudukan dinamik, menyesuaikan saiz perdagangan berdasarkan ekuiti akaun dan turun naik pasaran.
Strategi perdagangan jangka panjang sinergi pelbagai penunjuk ini menyediakan sistem dagangan yang komprehensif dengan menggabungkan beberapa penunjuk teknikal dan tindakan harga. Ia mencari peluang oversold jangka pendek dalam trend kenaikan jangka panjang sambil menggunakan pelbagai keadaan keluar untuk pengurusan risiko. Keuntungan utama strategi ini terletak pada analisis pelbagai dimensi dan pengurusan risiko yang fleksibel, tetapi juga menghadapi cabaran seperti kepekaan parameter dan pergantungan persekitaran pasaran.
Dengan melaksanakan langkah-langkah pengoptimuman yang dicadangkan, seperti pelarasan parameter dinamik, menggabungkan analisis jumlah, dan penapisan persekitaran pasaran, strategi mempunyai potensi untuk meningkatkan ketahanan dan daya adaptasi.
/*backtest start: 2019-12-23 08:00:00 end: 2024-09-24 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Estrategia Long con 3 Velas Rojas y SL/TP + Parabolic SAR, Media Móvil y Doji", overlay=true) // Parámetros modificables lengthMA = input(200, title="Periodo de la Media Móvil") velas_rojas_apertura = input(3, title="Número de Velas Rojas para Apertura") velas_rojas_limite = input(6, title="Número Máximo de Velas Rojas Consecutivas") stopLossPercent = input(0.5, title="Porcentaje de Stop Loss (%)") / 100 takeProfitPercent = input(0.5, title="Porcentaje de Take Profit (%)") / 100 // Parámetros del Parabolic SAR sarStart = input.float(0.02, title="Parabolic SAR Start") sarIncrement = input.float(0.02, title="Parabolic SAR Increment") sarMaximum = input.float(0.2, title="Parabolic SAR Maximum") enableSARExit = input.bool(true, title="Activar Salida por Parabolic SAR") closeOnSARClose = input.bool(true, title="Cerrar al Cierre de Vela con Parabolic SAR") // Parámetros de la Media Móvil para salida lengthSMAExit = input(5, title="Periodo de la Media Móvil para Salida") enableSMAExit = input.bool(true, title="Activar Salida por Media Móvil") // Parámetros para la condición de cierre por velas doji enableDojiExit = input.bool(true, title="Activar Salida por Velas Doji") // Cálculo de la media móvil de 200 periodos ma200 = ta.sma(close, lengthMA) // Cálculo de la media móvil para salida maExit = ta.sma(close, lengthSMAExit) // Cálculo del Parabolic SAR sar = ta.sar(sarStart, sarIncrement, sarMaximum) // Contar las velas rojas consecutivas var int contador_velas_rojas = 0 contador_velas_rojas := close < open ? contador_velas_rojas + 1 : 0 // Condición para abrir una operación Long puedeAbrirOperacion = (contador_velas_rojas < velas_rojas_limite) condicion_long = (contador_velas_rojas >= velas_rojas_apertura) and (close > ma200) and puedeAbrirOperacion // Abrir operación Long si se cumplen las condiciones if (condicion_long) entryPrice = close stopLossPrice = entryPrice * (1 - stopLossPercent) takeProfitPrice = entryPrice * (1 + takeProfitPercent) strategy.entry("Compra", strategy.long) strategy.exit("Take Profit/Stop Loss", "Compra", limit=takeProfitPrice, stop=stopLossPrice) // Condición para cerrar la operación Long con Parabolic SAR sarCambiaDown = ta.crossunder(close, sar) // Cerrar operación Long si cambia la tendencia del Parabolic SAR y está activado if (strategy.position_size > 0 and enableSARExit) if (closeOnSARClose and sarCambiaDown[1]) strategy.close("Compra", comment="SAR Cambio al Cierre de Vela") else if (sarCambiaDown) strategy.close("Compra", comment="SAR Cambio") // Condición para cerrar la operación Long con Media Móvil y está activado al cierre de la vela smaExitCondition = close[1] < maExit[1] and close[0] > maExit[0] if (strategy.position_size > 0 and enableSMAExit) if (smaExitCondition) strategy.close("Compra", comment="Salida por Media Móvil al Cierre de Vela") // Condición para cerrar la operación Long con velas doji dojiCondition = math.abs(open - close) <= ((high - low) * 0.1) if (strategy.position_size > 0 and enableDojiExit) if (dojiCondition) strategy.close("Compra", comment="Salida por Doji") // Para mostrar la media móvil y el Parabolic SAR en el gráfico plot(ma200, color=color.blue, title="Media Móvil 200") plot(maExit, color=color.green, title="Media Móvil para Salida") plot(sar, color=color.red, style=plot.style_cross, title="Parabolic SAR")