Strategi ini mengenal pasti trend menggunakan purata bergerak, mengambil keuntungan pada kelipatan ATR tetap, dan secara dinamik saiz kedudukan berdasarkan ATR. Ia bertujuan untuk menunggang trend untuk keuntungan sambil mengawal risiko.
Strategi ini menggunakan Purata Bergerak Sederhana panjang N untuk menentukan arah trend. Ia pergi panjang apabila SMA pendek melintasi di atas SMA panjang, dan pergi pendek apabila melintasi di bawah.
Selepas kemasukan, sasaran keuntungan ditetapkan pada kelipatan ATR tetap dari harga kemasukan, contohnya Sasaran keuntungan = Harga kemasukan + ATR * Faktor untuk jangka panjang. Keuntungan diambil apabila harga mencapai sasaran keuntungan.
Strategi ini juga mengukur kedudukan secara bertentangan dengan ATR, yang mewakili turun naik pasaran.
MA mengenal pasti trend, membolehkan trend mengikuti.
ATR keuntungan mengambil keuntungan daripada trend sambil mengelakkan pembalikan.
Ukuran kedudukan dinamik menguruskan risiko mengikut turun naik pasaran.
Faktor keuntungan dan parameter saiz yang boleh disesuaikan.
Stop loss boleh mengurangkan risiko.
MA lag boleh menyebabkan entri lewat. parameter yang lebih sensitif boleh diuji.
Pergolakan ATR boleh menyebabkan sasaran keuntungan terlalu kecil atau terlalu besar.
Volatiliti yang berlebihan membawa kepada kedudukan yang terlalu kecil yang mengehadkan keuntungan.
Kekurangan stop loss berisiko kehilangan yang tidak terkawal.
Pemilihan simbol yang buruk, contohnya aset turun naik rendah, boleh menyebabkan prestasi yang kurang.
Uji kombinasi parameter yang berbeza untuk tetapan optimum.
Meningkatkan logik kemasukan dengan menambah penunjuk lain sebagai penapis.
Penyelidikan mengambil keuntungan dinamik dan berhenti kerugian untuk fleksibiliti.
Menguruskan kedudukan berdasarkan penunjuk turun naik.
Tambah mekanisme masuk semula untuk memanjangkan tempoh penahan.
Strategi ini mengenal pasti trend dengan purata bergerak, mengambil keuntungan pada kelipatan ATR dan kedudukan saiz oleh ATR. Ia mempunyai beberapa trend berikut keupayaan dan risiko boleh diselaraskan melalui parameter. Tetapi pilihan parameter dan masalah sasaran keuntungan wujud. Penambahbaikan lanjut boleh dibuat melalui pengoptimuman, hentian kerugian untuk menjadikan strategi lebih mantap.
/*backtest start: 2023-09-10 00:00:00 end: 2023-09-17 00:00:00 period: 5m basePeriod: 1m 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/ // © dongyun //@version=4 strategy("利润目标止损的移动平均线", overlay=true) period = input(80,'') ptper = input(252,'') ptfactor = input(12,'') sizeper = input(20, '') trend = 0.0 signal = 0 size = 1.0 investment = 100000 atrange = 0.0 ptrange = 0.0 stoph = 0.0 stopl = 0.0 if sizeper != 0 atrange := atr(sizeper) if atrange == 0 or sizeper == 0 size := 1 else size := investment/atrange * 0.1 trend := sma(close,period) if signal != 1 and nz(trend[1]) < nz(trend[2]) and trend > nz(trend[1]) strategy.entry('long',strategy.long, comment='open_long') signal := 1 else signal := nz(signal[1]) if signal != -1 and nz(trend[1]) > nz(trend[2]) and trend < nz(trend[1]) strategy.entry('short',strategy.short, comment='open_short') signal := -1 else if signal == 0 signal := nz(signal[1]) ptrange := atr(ptper) if strategy.position_size > 0 strategy.exit("exit_long", "long", qty = strategy.position_size, limit = close + ptfactor*ptrange , comment='trail_long') else if strategy.position_size < 0 strategy.exit("exit_short", "short", qty = abs(strategy.position_size), limit = close - ptfactor*ptrange, comment='trail_short')