Strategi Menghadapi EMAherokuapp Dinamik


Tarikh penciptaan: 2023-12-07 17:20:44 Akhirnya diubah suai: 2023-12-07 17:20:44
Salin: 0 Bilangan klik: 621
1
fokus pada
1619
Pengikut

Strategi Menghadapi EMAherokuapp Dinamik

Gambaran keseluruhan

Strategi ini menggabungkan EMA dan RSI untuk mengenal pasti peluang penyesuaian garis pendek bitcoin. Ia menggunakan EMA sebagai grafik utama dan RSI sebagai penunjuk penilaian tambahan untuk mencari bentuk penyesuaian yang lebih jelas. Ia menghasilkan isyarat perdagangan apabila harga jatuh atau kembali ke EMA. Ia mempunyai kawalan berhenti dan berhenti yang boleh dioptimumkan dengan parameter.

Prinsip Strategi

Strategi ini menggunakan garis EMA 50 kitaran dan RSI 25 kitaran. Garis EMA dianggap sebagai indikator grafik utama, RSI digunakan untuk menilai overbought dan oversold dan membantu menghasilkan isyarat perdagangan. Isyarat jual dihasilkan apabila harga dari atas ke bawah melanggar garis EMA; Isyarat beli dihasilkan apabila harga dari bawah ke atas melanggar garis EMA dan isyarat RSI menunjukkan isyarat bukan overbought (jika nilai RSI kurang dari 70).

Selepas perdagangan masuk, strategi menetapkan kedudukan hentian dan hentian pada masa yang sama. Jarak hentian boleh ditetapkan, secara default 5.1%, dan jarak hentian juga boleh ditetapkan, secara default 9.6%. Ini dapat mengurangkan nilai maksimum kerugian tunggal dengan berkesan.

Secara keseluruhan, strategi ini bergantung kepada bentuk garis EMA, ditambah dengan indikator RSI untuk mengelakkan overbought dan oversold, dan mempunyai kawalan stop loss yang sesuai untuk penangkapan BT Bitcoin Short Line Adjustment.

Analisis kelebihan

Strategi ini mempunyai beberapa kelebihan:

  1. Isyarat strategi lebih jelas dan tidak menghasilkan terlalu banyak kesalahan masuk secara rawak. Penggunaan gabungan EMA dan RSI menjadikan isyarat lebih jelas dan boleh dipercayai dan tidak hanya bergantung pada satu petunjuk.

  2. Kaedah ini dapat mengawal setiap kerugian secara berkesan dan merupakan kaedah kawalan risiko yang sangat penting.

  3. Parameter strategi boleh dioptimumkan. Panjang EMA, Panjang RSI dan sebagainya adalah parameter yang boleh disesuaikan, pengguna dapat mencari kombinasi parameter terbaik untuk pasaran yang berbeza.

  4. Kaedah ini membenarkan pengembalian. Anda boleh menetapkan jangka masa pengembalian secara langsung dalam kaedah untuk mengesahkan kaedah.

Analisis risiko

Strategi ini juga mempunyai beberapa risiko, terutamanya dari aspek berikut:

  1. BT Bitcoin pasaran yang kuat, penutupan mungkin ditembusi. Walaupun strategi yang ditetapkan untuk menghentikan, tetapi dalam Bitcoin pasaran yang besar, harga bergerak lebih besar, garis penutupan mungkin akan langsung ditembusi. Ini akan membawa kerugian yang lebih besar.

  2. Risiko penarikan balik. Strategi tidak mempertimbangkan kawalan penarikan balik secara keseluruhan. Strategi akan menghasilkan beberapa penarikan balik jika menghadapi keadaan penyesuaian yang lebih lama.

  3. Kesan isyarat berkurang dalam keadaan pasaran besar. Dalam keadaan pasaran besar yang lebih liar, harga BTC akan mempunyai pergerakan gelombang yang lebih besar dan lebih lama. Apabila isyarat jangka pendek berkurang, ia mudah ditiru.

Mengenai risiko ini, langkah-langkah berikut boleh diambil untuk mengawal dan mengurangkannya:

  1. Pelancaran penghalang kerugian yang sewajarnya. Jika ia adalah keadaan yang besar, jarak penghalang kerugian boleh dilepaskan dengan sewajarnya, seperti meluas hingga kira-kira 10%, untuk mengelakkan penghalang kerugian terlalu mudah ditembusi.

  2. Penapisan indikator lain. Anda boleh memasukkan indikator trend seperti susunan multi-kepala rata-rata, untuk mengelakkan penggunaan strategi ini dalam jangka masa panjang.

  3. Kumpulan parameter yang dioptimumkan. Ia boleh menguji tetapan parameter pada peringkat pasaran yang berbeza, membina pelbagai kombinasi parameter, dan menukar parameter apabila keadaan berlaku untuk meningkatkan kualiti isyarat.

Arah pengoptimuman

Strategi ini juga mempunyai ruang untuk pengoptimuman yang lebih lanjut, terutamanya dari segi berikut:

  1. Tambah kawalan penarikan balik keseluruhan. Anda boleh menetapkan peratusan penarikan balik maksimum, seperti 20%, dan apabila penarikan balik itu dicapai, anda boleh berhenti berdagang untuk mengelakkan kerugian yang berlebihan.

  2. Peningkatan kawalan frekuensi pembukaan kedudukan. Anda boleh mengehadkan bilangan pembukaan kedudukan dalam satu unit masa strategi, seperti maksimum dua kali sejam, untuk mengelakkan perdagangan yang terlalu kerap.

  3. Tetapan parameter yang dioptimumkan. Uji kombinasi parameter di bawah keadaan pasaran yang berbeza, bina beberapa templat parameter, pilih parameter yang sesuai mengikut keadaan semasa semasa, untuk meningkatkan kesan strategi.

  4. Penggunaan dalam kombinasi dengan indikator lain. Strategi ini boleh digunakan dalam kombinasi dengan indikator lain seperti trend, kadar turun naik, dan sebagainya untuk membentuk asas masuk sistem perdagangan yang lebih komprehensif dan dipercayai.

ringkaskan

Secara keseluruhannya, strategi ini bergantung kepada penyesuaian jangka pendek BTC, menggunakan EMA dan RSI untuk menghasilkan isyarat perdagangan yang lebih jelas, dan mempunyai kawalan hentian dan hentian untuk memanfaatkan peluang penipuan yang dibawa oleh slippage jangka pendek BT. Tetapi strategi ini lebih sesuai sebagai alat bantu garis pendek, dan lebih berkesan apabila digunakan dengan kombinasi strategi lain, yang dapat menghasilkan keuntungan tambahan yang lebih stabil.

Kod sumber strategi
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 1h
basePeriod: 15m
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/
// © mmoiwgg

//@version=4
strategy(title="EMA+RSI Pump & Drop Swing Sniper (With Alerts & SL+TP) - Strategy", shorttitle="EMA+RSI Swing Strategy", overlay=true)
emaLength = input(title="EMA Length", type=input.integer, defval=50, minval=0)
emarsiSource = input(close, title="EMA+RSI Source")
condSource = input(high, title="Long+Short Condition Source")
emaVal = ema(emarsiSource, emaLength)
rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0)
rsiVal = rsi(emarsiSource, rsiLength)

//Safety 
emaLength2 = input(title="Safety EMA Length", type=input.integer, defval=70, minval=0)
emaSource2 = input(close, title="Safety EMA Source")
ema = ema(emaSource2, emaLength2)
emaColorSource2 = close
emaBSource2 = close

// Backtest+Dates
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2019, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
showDate  = input(defval = true, title = "Show Date Range", type = input.bool)
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)        // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest end window
window()  => time >= start and time <= finish ? true : false       // create function - add window() to entry/exit/close

// Conditions
exit_long = crossover(emaVal, condSource)
longCond = crossunder(emaVal, condSource) and close > ema

//Stoploss + TakeProfit
sl = input(0.051, step=0.001, title="Stop Loss")
tp = input(0.096, step=0.001, title="Take Profit")

// Plots Colors
colors = emarsiSource > emaVal and rsiVal > 14 ? color.green : color.red
emaColorSource = input(close, title="Line Color Source")
emaBSource = input(close, title="Line Color B Source")

// Plots
plot(ema, color=emaColorSource2[1] > ema and emaBSource2 > ema ? color.green : color.red, linewidth=1)
plot(emaVal, color=emaColorSource[1] > emaVal and emaBSource > emaVal ? color.green : color.red, linewidth=3)
plotcandle(open, high, low, close, color=colors)


//Strategy Entry+Exits
strategy.entry("long",1,when=window() and longCond)
strategy.close("long",when=window() and exit_long)
strategy.exit("long tp/sl", "long", profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick)