Strategi ini menggunakan penunjuk Supertrend untuk menentukan titik masuk, pergi panjang atau pendek apabila penunjuk berbalik. Ia juga menetapkan tiga pesanan mengambil keuntungan pada keuntungan tetap 2%, 5% dan 10% untuk mengunci keuntungan pada tahap yang berbeza.
Strategi ini menggunakan penunjuk Supertrend untuk mengenal pasti arah trend. Supertrend berdasarkan Julat Benar Purata dan faktor pengganda. Apabila harga melebihi band atas, ia menandakan keadaan overbought dan apabila harga jatuh di bawah band bawah, ia menandakan keadaan oversold. Oleh itu, strategi ini mengesan pembalikan arah Supertrend untuk menentukan entri.
Secara khusus, apabila perubahan dalam Supertrend kurang daripada 0, ia menunjukkan penunjuk telah terbalik dari atas ke bawah, menghasilkan isyarat panjang. Apabila perubahan dalam Supertrend lebih besar daripada 0, penunjuk telah terbalik dari bawah ke atas, menghasilkan isyarat pendek. Apabila menerima isyarat panjang atau pendek, harga masuk direkodkan dan pesanan diletakkan.
Strategi ini juga menetapkan tiga pesanan mengambil keuntungan pada 2%, 5% dan 10% daripada harga kemasukan, untuk mengunci keuntungan sasaran tetap. Perkadaran pesanan ini ditetapkan pada 25%, 50% dan 25% masing-masing. Selepas isyarat kemasukan, pesanan mengambil keuntungan ini diletakkan secara serentak untuk menangkap keuntungan pada tahap yang berbeza.
Strategi ini mempunyai kelebihan berikut:
Menggunakan Supertrend untuk entri secara berkesan menangkap titik pembalikan trend untuk panjang / pendek yang tepat.
Rasio keuntungan mengambil berbilang membolehkan kunci keuntungan pada tahap yang berbeza, mengurangkan pengeluaran.
Sasaran keuntungan yang konservatif sebanyak 2%, 5% dan 10% mengelakkan kelebihan keuntungan yang membawa kepada kerugian yang lebih besar.
Logik yang mudah dan jelas, mudah difahami dan diubah suai, sesuai untuk pemula.
Strategi ini juga mempunyai beberapa risiko:
Parameter Supertrend yang tidak betul boleh menyebabkan isyarat pembalikan yang hilang, yang membawa kepada entri yang tidak tepat.
Tahap mengambil keuntungan konservatif mungkin kehilangan peluang untuk menjalankan keuntungan lebih lanjut.
Jurang dan pergerakan had boleh mencetuskan berhenti sebelum Supertrend menyesuaikan.
Tiada keadaan stop loss bermakna potensi kerugian tidak terhad.
Beberapa cara strategi boleh dioptimumkan:
Uji parameter Supertrend yang berbeza untuk meningkatkan kepekaan.
Tambah stop loss untuk mengehadkan kerugian maksimum.
Sesuaikan nisbah keuntungan dan kuantiti berdasarkan simbol dan jangka masa.
Tambah penapis untuk mengelakkan perdagangan berlebihan di pasaran yang terhad.
Mengoptimumkan penggunaan modal dengan menyesuaikan saiz perdagangan lalai untuk mengurangkan risiko setiap perdagangan.
Strategi ini adalah mudah dan praktikal secara keseluruhan. Ia menggunakan Supertrend untuk entri dan pelbagai pesanan mengambil keuntungan untuk mengunci keuntungan, mengawal risiko dengan berkesan. Tetapi terdapat ruang untuk penambahbaikan seperti menambah berhenti, mengoptimumkan parameter dan lain-lain yang menyediakan arah peningkatan masa depan. Ringkasnya, strategi ini sesuai untuk pemula untuk belajar dan mengamalkan perdagangan algoritma.
/*backtest start: 2023-01-01 00:00:00 end: 2024-01-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy( "Supertrend with TP", overlay=true ) // Supertrend Settings atrPeriod = input(10, "ATR Length") factor = input.float(3.0, "Factor", step = 0.01) // TP's tp1Open = input.bool(true, "TP1") tp1 = input.float(2.0, "TP Level (%)", step = 0.1) / 100 tp1Amount = input.int(25, "Amount (%)", step = 1) tp2Open = input.bool(true, "TP2") tp2 = input.float(5.0, "TP Level (%)", step = 0.1) / 100 tp2Amount = input.int(50, "Amount (%)", step = 1) tp3Open = input.bool(true, "TP3") tp3 = input.float(10.0, "TP Level (%)", step = 0.1) / 100 tp3Amount = input.int(25, "Amount (%)", step = 1) [_, direction] = ta.supertrend(factor, atrPeriod) entryPrice = 0.0 entryPrice := entryPrice[1] if ta.change(direction) < 0 strategy.entry("Long", strategy.long) entryPrice := close if ta.change(direction) > 0 strategy.entry("Short", strategy.short) entryPrice := close if (tp1Open) strategy.exit ("TP1", from_entry="Long", limit=entryPrice * (1 + tp1), qty_percent=tp1Amount) strategy.exit ("TP1", from_entry="Short", limit=entryPrice * (1 - tp1), qty_percent=tp1Amount) if (tp2Open) strategy.exit ("TP2", from_entry="Long", limit=entryPrice * (1 + tp2), qty_percent=tp2Amount) strategy.exit ("TP2", from_entry="Short", limit=entryPrice * (1 - tp2), qty_percent=tp2Amount) if (tp3Open) strategy.exit ("TP3", from_entry="Long", limit=entryPrice * (1 + tp3), qty_percent=tp3Amount) strategy.exit ("TP3", from_entry="Short", limit=entryPrice * (1 - tp3), qty_percent=tp3Amount)