Melangkaui Strategi Keuntungan Trailing Stop


Tarikh penciptaan: 2024-01-08 16:24:03 Akhirnya diubah suai: 2024-01-08 16:24:03
Salin: 0 Bilangan klik: 717
1
fokus pada
1617
Pengikut

Melangkaui Strategi Keuntungan Trailing Stop

Gambaran keseluruhan

Strategi Stop Loss Moving Over Profits adalah strategi perdagangan kuantitatif berdasarkan metrik yang melampaui. Strategi ini mencapai stop loss dan stop loss bergerak dengan membina syarat masuk dan keluar untuk kedudukan panjang dan pendek. Keuntungan strategi ini adalah bahawa keuntungan yang lebih tinggi dapat diperoleh dalam trend yang berterusan, sementara sebahagian besar keuntungan dapat dikunci melalui stop loss bergerak.

Prinsip Strategi

Strategi ini adalah strategi jenis pengesanan trend berdasarkan pencahayaan indikator. Pencahayaan indikator dapat menentukan arah trend harga. Apabila pencahayaan indikator berubah arah, ia menghasilkan isyarat beli dan jual. Secara khusus, jika pencahayaan indikator melintasi sumbu 0 di atas, ia menghasilkan isyarat beli; jika pencahayaan indikator melintasi sumbu 0 di bawah, ia menghasilkan isyarat jual.

Analisis kelebihan

Kelebihan terbesar dari strategi ini adalah gabungan penghakiman trend dan berhenti bergerak. Ia dapat menangkap trend dengan lebih tepat dengan melampaui penunjuk untuk menentukan arah trend dengan menerobos ke bawah pada paksi 0. Berhenti bergerak dapat mengunci sebahagian besar keuntungan ketika trend sedang berjalan.

Analisis risiko

Risiko terbesar strategi ini adalah sensitif terhadap kegagalan penembusan. Di kawasan penataan, melebihi petunjuk boleh menyebabkan penembusan palsu sehingga membuat kedudukan yang salah. Ia mudah ditanam. Selain itu, mekanisme penangguhan bergerak juga boleh berhenti terlalu awal dan terlepas tindakan seterusnya.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek: 1) menentukan parameter penunjuk yang melampaui dengan munasabah untuk mengelakkan isyarat palsu; 2) menambah mekanisme untuk menilai kebolehpercayaan penembusan, seperti meningkatkan isyarat jumlah transaksi; 3) mengoptimumkan parameter untuk berhenti bergerak, dengan memastikan keuntungan dan mengurangkan kemungkinan pengaliran; 4) menggunakan stop loss dinamik berdasarkan kadar turun naik untuk menggantikan stop loss statik; 5) menambah indikator lain dalam kombinasi untuk meningkatkan kestabilan strategi.

ringkaskan

Strategi stop loss dan profit bergerak melampaui keseluruhan adalah strategi pemantauan trend yang baik. Ia dapat menentukan arah trend dengan wajar, dan mempunyai mekanisme berhenti bergerak. Tetapi strategi ini juga lebih sensitif terhadap kegagalan pecah, terdapat risiko tertentu. Dengan menetapkan parameter pengoptimuman lanjut, peraturan penghakiman, mekanisme stop loss, dan sebagainya, strategi ini dapat diperbaiki dengan berkesan, menjadikannya strategi perdagangan kuantitatif yang stabil dan cekap.

Kod sumber strategi
/*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("ST Michael Moving TP", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15)

// Stop loss and profit amount
stop_loss = input(1500, title="Stop Loss Amount")
profit = input (15000, title="Profit Amount")
LongTrailProfit = input (0.91, title = "Long Trailing Profit Taking")
ShortTrailProfit = input (1.01, title = "Short Trailing Profit Taking")

atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)

[_, direction] = ta.supertrend(factor, atrPeriod)

long_condition = ta.change(direction) <0
short_condition = ta.change(direction) >0


stop_price_long = ta.valuewhen(long_condition, low[0]-stop_loss,0)
profit_price_long = ta.valuewhen(long_condition, high[0]+profit,0)
stop_price_short = ta.valuewhen(short_condition, high[0]+stop_loss,0)
profit_price_short = ta.valuewhen(short_condition, low[0]-profit,0)

atr=ta.atr(10)

intrade_long = strategy.position_size > 0
intrade_short = strategy.position_size < 0
exitConditionLong = (close < (close[1]*LongTrailProfit)) 
exitConditionShort = (close > (close[1]*ShortTrailProfit))

if (long_condition)
    strategy.entry("Long3", strategy.long)
if (intrade_long and exitConditionLong)
    strategy.close("Long3")

if (short_condition)
    strategy.entry("Short3", strategy.short)
if (intrade_short and exitConditionShort)
    strategy.close ("Short3")

if (strategy.position_size>0)
    strategy.exit("exit_long",from_entry="Long3",limit=profit_price_long,stop=stop_price_long)

if (strategy.position_size<0)
    strategy.exit("exit_short",from_entry="Short3",limit=profit_price_short,stop=stop_price_short)