Strategi Kemasukan Purata Pergerakan Golden Cross


Tarikh penciptaan: 2023-11-01 16:42:41 Akhirnya diubah suai: 2023-11-01 16:42:41
Salin: 0 Bilangan klik: 813
1
fokus pada
1141
Pengikut

Strategi Kemasukan Purata Pergerakan Golden Cross

Gambaran keseluruhan

Strategi masukan garis rata-rata silang emas adalah strategi untuk menghasilkan isyarat perdagangan berdasarkan isyarat silang atau isyarat turun naik pada purata bergerak. Apabila ia melintasi purata bergerak jangka panjang di atas rata-rata bergerak jangka pendek, ia menghasilkan isyarat silang emas bermulut. Apabila ia melintasi purata bergerak jangka pendek di bawah rata-rata bergerak jangka panjang, ia menghasilkan isyarat silang mati kosong.

Strategi masukan garisan rata-rata silang emas membolehkan anda bebas memilih parameter garisan rata-rata silang. Untuk kesan visual, saya telah memetakan banyak purata bergerak Fibonacci dari 1 hingga 987, tetapi untuk penggunaan praktikal, hanya perlu memilih beberapa garisan rata-rata, melihat apakah ada isyarat silang yang jelas, dan kemudian memasukkan parameter ini ke dalam tetapan kedudukan panjang atau pendek.

Sebagai contoh, kedudukan panjang atau pendek yang ditetapkan dalam strategi ini adalah:

Isyarat berbilang kepala: 34 hari EMA bersilang 144 hari EMA

Isyarat kepala kosong:
55 hari di bawah SMA dan 144 hari di EMA

Seperti yang dapat dilihat, strategi ini bebas untuk memadankan parameter 4 garis rata yang berbeza, boleh memilih EMA atau SMA.

Tetapan warna lalai: Garis rata-rata ke atas berwarna hijau Garis purata turun berwarna merah

Tetapan Fibonacci secara default: Garis purata harian 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181

Tetapan default untuk visualisasi sejajar: 50, 100, 150, 200 hari rata-rata

Tetapan lalai untuk kedudukan panjang atau pendek: Isyarat berbilang kepala: 34 hari EMA bersilang 144 hari EMA

Isyarat kepala kosong: 55 hari di bawah SMA dan 144 hari di EMA

Prinsip

Logik teras strategi ini adalah untuk menghasilkan isyarat dagangan berdasarkan tanda silang dua purata bergerak.

Di antaranya, purata bergerak adalah petunjuk teknikal yang digunakan untuk menganalisis trend pasaran. Ia mengira purata harga penutupan dalam tempoh tertentu, yang dapat menyaring turun naik pasaran dengan berkesan. Purata bergerak dibahagikan kepada purata bergerak sederhana (SMA) dan purata bergerak indeks (EMA).

SMA adalah purata aritmetik mudah untuk harga penutupan dalam satu tempoh. EMA adalah purata bergerak indeks yang lebih baik untuk harga penutupan, memberikan berat yang lebih tinggi kepada harga terkini. EMA dapat bertindak balas lebih cepat terhadap perubahan harga.

Apabila garis purata jangka pendek melintasi garis purata jangka panjang, ia dianggap sebagai trend pasaran yang bertukar menjadi bullish, menghasilkan isyarat beli. Ini dikenali sebagai putaran silang emas. Sebaliknya, apabila garis purata jangka pendek melintasi garis purata jangka panjang, ia dianggap sebagai trend pasaran yang bertukar menjadi bearish, menghasilkan isyarat jual. Ini dikenali sebagai putaran silang kematian.

Fleksibiliti strategi ini adalah bahawa parameter 4 garis rata boleh ditetapkan secara bebas. Parameter lalai adalah 34 hari EMA memakai 144 hari EMA sebagai isyarat multihead, 55 hari EMA memakai 144 hari EMA sebagai isyarat kosong.

Selain itu, strategi ini memetakan purata bergerak dari pelbagai set Fibonacci, yang membolehkan perubahan trend dilihat dari dimensi masa yang lebih banyak. Pada masa yang sama, garis rata-rata 50, 100, 150, dan 200 hari yang biasa digunakan juga telah dipetakan. Garis rata-rata ini adalah rujukan, dan penting untuk masuk ke parameter garis rata-rata silang yang dimasukkan ke dalam kotak tetapan untuk kedudukan panjang atau pendek.

Kelebihan

Kelebihan strategi ini adalah:

  1. Menggunakan purata bergerak untuk menyaring bunyi pasaran dan mengenal pasti arah trend

  2. Isyarat dagangan dari persilangan linear mempunyai kebolehpercayaan tertentu

  3. Anda boleh memilih kombinasi garis purata panjang dan pendek, parameter pengoptimuman

  4. Garis purata yang digabungkan dengan pelbagai tempoh yang berbeza untuk mengenal pasti trend dalam dimensi masa yang lebih besar

  5. EMA dan SMA boleh digunakan secara serentak, memilih parameter terbaik berdasarkan ciri-ciri varieti

  6. Imej intuitif secara visual, dapat dilihat dengan jelas melalui perpaduan garisan merata berwarna

  7. Mudah, mudah dipelajari dan sesuai untuk pemula

  8. Fleksibiliti untuk digunakan dalam pelbagai jenis, mempunyai kebolehgunaan yang agak universal

Risiko

Strategi ini mempunyai beberapa risiko:

  1. Dalam pasaran yang bergolak, garis rata boleh menghasilkan banyak isyarat ketidakpastian, yang menyebabkan perdagangan garis super pendek, meningkatkan frekuensi perdagangan dan beban yuran.

  2. Parameter yang dipilih tidak sesuai boleh menyebabkan isyarat yang salah, anda harus memilih kombinasi garis rata panjang dan panjang yang sesuai dan mengesahkan kesannya.

  3. Apabila trend berbalik, isyarat persilangan garis rata akan terlewat dan tidak dapat bertindak balas terhadap perubahan harga.

  4. Persaingan rata-rata tidak dapat sepenuhnya mengelakkan kerugian, dan perlu menetapkan titik berhenti yang munasabah.

  5. Untuk mengelakkan kecocokan kurva yang disebabkan oleh pengoptimuman berlebihan. Kestabilan parameter harus diuji dalam kitaran pasaran yang berbeza.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Uji kombinasi garis purata panjang dan panjang yang berbeza untuk mencari parameter terbaik yang boleh dikaji berulang kali berdasarkan data sejarah.

  2. Cuba menyesuaikan jenis garis rata-rata, bandingkan perbezaan kesan antara SMA dan EMA. Trend varieti lebih jelas untuk memilih SMA, turun naik varieti lebih kuat untuk memilih EMA.

  3. Gabungan dengan petunjuk lain seperti KDJ, MACD dan penapis isyarat palsu, meningkatkan kualiti isyarat.

  4. Tambah strategi hentikan kerugian untuk mengawal risiko kerugian tunggal. Anda boleh menetapkan hentikan bergerak atau mengesan hentikan kerugian.

  5. Mengoptimumkan strategi pengurusan wang, seperti menyesuaikan kedudukan mengikut keadaan penarikan balik, dan lain-lain, untuk mengawal risiko keseluruhan.

  6. Uji kestabilan dalam pelbagai jenis dan dalam pelbagai kitaran, menilai parameter kecergasan. Jika perlu, parameter boleh disesuaikan dengan jenis.

ringkaskan

Strategi masukan garisan rata-rata golden cross secara keseluruhan adalah strategi pengesanan trend yang sangat dipercayai. Ia menggunakan garisan rata-rata yang mudah dilihat sebagai isyarat perdagangan, dan dapat disesuaikan dengan pelbagai jenis dengan pengoptimuman parameter.

Kod sumber strategi
/*backtest
start: 2022-10-25 00:00:00
end: 2023-10-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Options360 : Fibonacci MAI (Moving Averages Input) beta 10/15/22
// © Options360 original public release = 2/25/23
// * This script uses altered pieces of code from my @Options360 "Fibonacci MA7" indicator*
// 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811
////
strategy(title="Fibonacci Moving Averages Input", shorttitle = "FibMAI", overlay=true)

src = input(ohlc4, 'source')
//
string  GRP = "Long or Short Settings"
exponential1 = input(true, title="long EMA or SMA", tooltip="EMA checked or SMA unchecked", group = GRP)
long = input.int(34, minval=1, title="long", tooltip="Signal Moving average long input")
long1 = exponential1 ? ta.ema(src, long) : ta.sma(src, long)

exponential2 = input(true, title="crossover EMA or SMA", tooltip="EMA checked or SMA unchecked")
longer = input.int(144, minval=1, title="crossover", tooltip="Crossed over Moving average long input")
long2 = exponential2 ? ta.ema(src, longer) : ta.sma(src, longer)

exponential3 = input(true, title="short EMA or SMA", tooltip="EMA checked or SMA unchecked")
short = input.int(55, minval=1, title="short", tooltip="Signal Moving average short input")
short1 = exponential3 ? ta.ema(src, short) : ta.sma(src, short)

exponential4 = input(false, title="crossunder EMA or SMA", tooltip="EMA checked or SMA unchecked")
shorter = input.int(144, minval=1, title="crossunder", tooltip="Crossed under Moving average short input")
short2 = exponential4 ? ta.ema(src, shorter) : ta.sma(src, shorter)
//
string  GRP2 = "Visual FibMA Settings"
exponential = input(true, title="Fib EMA or SMA", tooltip="EMA checked or SMA unchecked", group = GRP2)
//
smaplot11 = input (true, title="MA1")
len11 = input.int(1, minval=1, title="ma Length")
out11 = exponential ? ta.ema(src, len11) : ta.sma(src, len11)
up11 = out11 > out11[1]
down11 = out11 < out11[1]
mycolor11 = up11 ? #3cfe12 : down11 ? #ff0202 : #008eff
plot(out11 and smaplot11 ? out11 :na, title="1", color=mycolor11, linewidth=1)

smaplot18 = input (true, title="MA2")
len18 = input.int(2, minval=1, title="ma Length")
out18 = exponential ? ta.ema(src, len18) : ta.sma(src, len18)
up18 = out18 > out18[1]
down18 = out18 < out18[1]
mycolor18 = up18 ? #3cfe12 : down18 ? #ff0202 : #008eff
plot(out18 and smaplot18 ? out18 :na , title="2", color=mycolor18, linewidth=1)

smaplot13 = input (true, title="MA3")
len13 = input.int(3, minval=1, title="ma Length")
out13 = exponential ? ta.ema(src, len13) : ta.sma(src, len13)
up13 = out13 > out13[1]
down13 = out13 < out13[1]
mycolor13 = up13 ? #3cfe12 : down13 ? #ff0202 : #008eff
plot(out13 and smaplot13 ? out13 :na , title="3", color=mycolor11, linewidth=1)

smaplot9 = input (true, title="MA5")
len9 = input.int(5, minval=1, title="ma Length")
out9 = exponential ? ta.ema(src, len9) : ta.sma(src, len9)
up9 = out9 > out9[1]
down9 = out9 < out9[1]
mycolor9 = up9 ? #3cfe12 : down9 ? #ff0202 : #008eff
plot(out9 and smaplot9 ? out9 :na , title="5", color=mycolor9, linewidth=1)

smaplot8 = input (true, title="MA8")
len8 = input.int(8, minval=1, title="ma Length")
out8 = exponential ? ta.ema(src, len8) : ta.sma(src, len8)
up8 = out8 > out8[1]
down8 = out8 < out8[1]
mycolor8 = up8 ? #3cfe12 : down8 ? #ff0202 : #008eff
plot(out8 and smaplot8 ? out8 :na , title="8", color=mycolor8, linewidth=1)

smaplot7 = input (true, title="MA13")
len7 = input.int(13, minval=1, title="ma Length")
out7 = exponential ? ta.ema(src, len7) : ta.sma(src, len7)
up7 = out7 > out7[1]
down7 = out7 < out7[1]
mycolor7 = up7 ? #3cfe12 : down7 ? #ff0202 : #008eff
plot(out7 and smaplot7 ? out7 :na , title="13", color=mycolor7, linewidth=1)

smaplot = input (true, title="MA21")
len = input.int(21, minval=1, title="ma Length")
out = exponential ? ta.ema(src, len) : ta.sma(src, len)
up = out > out[1]
down = out < out[1]
mycolor = up ? #3cfe12 : down ? #ff0202 : #008eff
plot(out and smaplot ? out :na, title="21", color=mycolor, linewidth=1)

smaplot2 = input (true, title="MA34")
len2 = input.int(34, minval=1, title="ma Length")
out2 = exponential ? ta.ema(src, len2) : ta.sma(src, len2)
up2 = out2 > out2[1]
down2 = out2 < out2[1]
mycolor2 = up2 ? #3cfe12 : down2 ? #ff0202 : #008eff
plot(out2 and smaplot2 ? out2 :na , title="34", color=mycolor2, linewidth=1)

smaplot3 = input (true, title="MA55")
len3 = input.int(55, minval=1, title="ma Length")
out3 = exponential ? ta.ema(src, len3) : ta.sma(src, len3)
up3 = out3 > out3[1]
down3 = out3 < out3[1]
mycolor3 = up3 ? #3cfe12 : down3 ? #ff0202 : #008eff
plot(out3 and smaplot3 ? out3 :na, title="55", color=mycolor3, linewidth=1)

smaplot4 = input (true, title="MA89")
len4 = input.int(89, minval=1, title="ma Length")
out4 = exponential ? ta.ema(src, len4) : ta.sma(src, len4)
up4 = out4 > out4[1]
down4 = out4 < out4[1]
mycolor4 = up4 ? #3cfe12 : down4 ? #ff0202 : #008eff
plot(out4 and smaplot4 ? out4 :na , title="89", color=mycolor4, linewidth=1)

smaplot5 = input (true, title="MA144")
len5 = input.int(144, minval=1, title="ma Length")
out5 = exponential ? ta.ema(src, len5) : ta.sma(src, len5)
up5 = out5 > out5[1]
down5 = out5 < out5[1]
mycolor5 = up5 ? #3cfe12 : down5 ? #ff0202 : #008eff
plot(out5 and smaplot5 ? out5 :na, title="144", color=mycolor5, linewidth=1)

smaplot6 = input (true, title="MA233")
len6 = input.int(233, minval=1, title="ma Length")
out6 = exponential ? ta.ema(src, len6) : ta.sma(src, len6)
up6 = out6 > out6[1]
down6 = out6 < out6[1]
mycolor6 = up6 ? #3cfe12 : down6 ? #ff0202 : #008eff
plot(out6 and smaplot6 ? out6 :na , title="233", color=mycolor6, linewidth=1)

smaplot10 = input (true, title="MA377")
len10 = input.int(377, minval=1, title="ma Length")
out10 = exponential ? ta.ema(src, len10) : ta.sma(src, len10)
up10 = out10 > out10[1]
down10 = out10 < out10[1]
mycolor10 = up10 ? #3cfe12 : down10 ? #ff0202 : #008eff
plot(out10 and smaplot10 ? out10 :na , title="377", color=mycolor10, linewidth=1)

smaplot14 = input (true, title="MA610")
len14 = input.int(610, minval=1, title="ma Length")
out14 = exponential ? ta.ema(src, len14) : ta.sma(src, len14)
up14 = out14 > out14[1]
down14 = out14 < out14[1]
mycolor14 = up14 ? #3cfe12 : down14 ? #ff0202 : #008eff
plot(out14 and smaplot14 ? out14 :na , title="610", color=mycolor14, linewidth=1)

smaplot15 = input (true, title="MA987")
len15 = input.int(987, minval=1, title="ma Length")
out15 = exponential ? ta.ema(src, len15) : ta.sma(src, len15)
up15 = out15 > out15[1]
down15 = out15 < out15[1]
mycolor15 = up15 ? #3cfe12 : down15 ? #ff0202 : #008eff
plot(out15 and smaplot15 ? out15 :na , title="987", color=mycolor15, linewidth=1)

smaplot16 = input (true, title="MA1597")
len16 = input.int(1597, minval=1, title="ma Length")
out16 = exponential ? ta.ema(src, len16) : ta.sma(src, len16)
up16 = out16 > out16[1]
down16 = out16 < out16[1]
mycolor16 = up16 ? #3cfe12 : down16 ? #ff0202 : #008eff
plot(out16 and smaplot16 ? out16 :na , title="1597", color=mycolor16, linewidth=1)

smaplot17 = input (true, title="MA2584")
len17 = input.int(2584, minval=1, title="ma Length")
out17 = exponential ? ta.ema(src, len17) : ta.sma(src, len17)
up17 = out17 > out17[1]
down17 = out17 < out17[1]
mycolor17 = up17 ? #3cfe12 : down17 ? #ff0202 : #008eff
plot(out17 and smaplot17 ? out17 :na , title="2584", color=mycolor17, linewidth=1)

smaplot19 = input (true, title="MA4181")
len19 = input.int(4181, minval=1, title="ma Length")
out19 = exponential ? ta.ema(src, len19) : ta.sma(src, len19)
up19 = out19 > out19[1]
down19 = out19 < out19[1]
mycolor19 = up19 ? #3cfe12 : down19 ? #ff0202 : #008eff
plot(out19 and smaplot19 ? out19 :na , title="4181", color=mycolor19, linewidth=1)
//
string  GRP3 = "Visual MA Settings"
exponential5 = input(false, title="EMA or SMA", tooltip="EMA checked or SMA unchecked", group = GRP3)

smaplot50 = input (true, title="MA50")
len50 = input.int(50, minval=1, title="ma Length")
ma50 = exponential5 ? ta.ema(src, len50) : ta.sma(src, len50)
up50 = ma50 > ma50[1]
down50 = ma50 < ma50[1]
mycolor50 = up50 ? #3cfe12 : down50 ? #ff0202 : #008eff
plot(ma50 and smaplot50 ? ma50 :na , title="50", color=mycolor50, linewidth=1)

smaplot100 = input (true, title="MA100")
len100 = input.int(100, minval=1, title="ma Length")
ma100 = exponential5 ? ta.ema(src, len100) : ta.sma(src, len100)
up100 = ma100 > ma100[1]
down100 = ma100 < ma100[1]
mycolor100 = up100 ? #3cfe12 : down100 ? #ff0202 : #008eff
plot(ma100 and smaplot100 ? ma100 :na , title="100", color=mycolor100, linewidth=1)

smaplot150 = input (true, title="MA150")
len150 = input.int(150, minval=1, title="ma Length")
ma150 = exponential5 ? ta.ema(src, len150) : ta.sma(src, len150)
up150 = ma150 > ma150[1]
down150 = ma150 < ma150[1]
mycolor150 = up150 ? #3cfe12 : down150 ? #ff0202 : #008eff
plot(ma150 and smaplot150 ? ma150 :na , title="150", color=mycolor150, linewidth=1)

smaplot200 = input (true, title="MA200")
len200 = input.int(200, minval=1, title="ma Length")
ma200 = exponential5 ? ta.ema(src, len200) : ta.sma(src, len200)
up200 = ma200 > ma200[1]
down200 = ma200 < ma200[1]
mycolor200 = up200 ? #3cfe12 : down200 ? #ff0202 : #008eff
plot(ma200 and smaplot200 ? ma200 :na , title="200", color=mycolor200, linewidth=1)
//
if (ta.crossover(long1, long2))
	strategy.entry("maL", strategy.long, comment="maLong")
if (ta.crossunder(short1, short2))
	strategy.entry("maS", strategy.short, comment="maShort")
////