Strategi tinggi dan rendah mata wang kripto berdasarkan pelbagai penunjuk


Tarikh penciptaan: 2023-12-29 14:16:16 Akhirnya diubah suai: 2023-12-29 14:16:16
Salin: 0 Bilangan klik: 652
1
fokus pada
1621
Pengikut

Strategi tinggi dan rendah mata wang kripto berdasarkan pelbagai penunjuk

Gambaran keseluruhan

Strategi ini adalah strategi tinggi rendah yang sesuai untuk pasaran cryptocurrency. Ia menggunakan pelbagai petunjuk seperti MACD, PSAR, ATR, Elliott Wave, dan lain-lain untuk berdagang dalam jangka masa yang lebih tinggi seperti 1 jam, 4 jam atau 1 hari.

Prinsip Strategi

Isyarat dagangan strategi ini datang dari penilaian komposit mengenai titik tinggi dan rendah harga dan beberapa petunjuk. Logiknya ialah:

  1. Untuk menilai apakah terdapat rentang harga tinggi rendah pada garis K, iaitu, inovasi berterusan pada titik tinggi dan inovasi berterusan pada titik rendah.

  2. Semak MACD pada tahap garisan lurus.

  3. Semak petunjuk PSAR untuk menentukan arah trend.

  4. Semak ATR dan MA untuk menentukan arah trend.

  5. Periksa arah trend pada indikator Elliott Wave.

Jika 5 syarat di atas menunjuk ke arah yang sama, menghasilkan isyarat lebih atau kurang.

Kelebihan Strategik

  1. Rasio ganjaran risiko tinggi, sehingga 1:30.

  2. Factor keuntungan purata tinggi, biasanya antara 1.5 dan 2.5.

  3. Kombinasi pelbagai penunjuk, boleh menyaring penembusan palsu dengan berkesan.

Risiko Strategik

  1. Keputusan yang lebih rendah, hanya 10% -20%

  2. Terdapat risiko penarikan balik dan penarikan balik.

  3. Kesan penunjuk ini akan dipengaruhi oleh keadaan pasaran.

  4. Ia memerlukan ketahanan mental yang lebih kuat.

Langkah-langkah yang diambil:

  1. Meningkatkan modal dagangan untuk mengimbangi kadar kemenangan.

  2. Kaedah ini juga boleh digunakan untuk menjimatkan wang.

  3. Menyesuaikan parameter penunjuk mengikut pasaran yang berbeza.

  4. “Saya tidak tahu apa-apa tentang apa yang berlaku, tetapi saya tahu apa yang berlaku.

Arah pengoptimuman

  1. Parameter penunjuk ujian mengikut pelbagai cryptocurrency dan persekitaran pasaran.

  2. Meningkatkan strategi penangguhan kerugian dan pengoptimuman pengurusan wang.

  3. Meningkatkan kadar kemenangan dengan menggunakan kaedah pembelajaran mesin.

  4. Menambah penapis isyarat perdagangan untuk penunjuk emosi sosial.

  5. Pertimbangkan pengesahan indikator jangka masa ganda.

ringkaskan

Strategi ini secara keseluruhannya adalah strategi perdagangan berisiko tinggi dan berpendapatan tinggi yang sesuai untuk cryptocurrency. Kelebihannya adalah bahawa kadar pulangan risiko yang tinggi, dapat memperoleh faktor keuntungan purata yang lebih tinggi. Risiko utamanya adalah kadar kemenangan yang rendah, memerlukan daya tahan psikologi yang kuat. Arah pengoptimuman seterusnya boleh dilakukan dari pelbagai dimensi seperti menyesuaikan parameter, mengoptimumkan pengurusan dana, meningkatkan peluang kemenangan.

Kod sumber strategi
/*backtest
start: 2023-12-21 00:00:00
end: 2023-12-28 00:00:00
period: 45m
basePeriod: 5m
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/
// © SoftKill21

//@version=4
strategy("Crypto strategy high/low", overlay=true)
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)
//sar
start = input(0.02)
increment = input(0.02)
maximum = input(0.2)
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
	firstTrendBar = false
	SAR := nextBarSAR
	if bar_index == 1
		float prevSAR = na
		float prevEP = na
		lowPrev = low[1]
		highPrev = high[1]
		closeCur = close
		closePrev = close[1]
		if closeCur > closePrev
			uptrend := true
			EP := high
			prevSAR := lowPrev
			prevEP := high
		else
			uptrend := false
			EP := low
			prevSAR := highPrev
			prevEP := low
		firstTrendBar := true
		SAR := prevSAR + start * (prevEP - prevSAR)
	if uptrend
		if SAR > low
			firstTrendBar := true
			uptrend := false
			SAR := max(EP, high)
			EP := low
			AF := start
	else
		if SAR < high
			firstTrendBar := true
			uptrend := true
			SAR := min(EP, low)
			EP := high
			AF := start
	if not firstTrendBar
		if uptrend
			if high > EP
				EP := high
				AF := min(AF + increment, maximum)
		else
			if low < EP
				EP := low
				AF := min(AF + increment, maximum)
	if uptrend
		SAR := min(SAR, low[1])
		if bar_index > 1
			SAR := min(SAR, low[2])
	else
		SAR := max(SAR, high[1])
		if bar_index > 1
			SAR := max(SAR, high[2])
	nextBarSAR := SAR + AF * (EP - SAR)


// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal

CCI = input(20)
ATR = input(5)
Multiplier=input(1,title='ATR Multiplier')
original=input(true,title='original coloring')
thisCCI = cci(close, CCI)
lastCCI = nz(thisCCI[1])
bufferDn= high + Multiplier * sma(tr,ATR)
bufferUp= low - Multiplier * sma(tr,ATR)
if (thisCCI >= 0 and lastCCI < 0) 
    bufferUp := bufferDn[1]
if (thisCCI <= 0 and lastCCI > 0) 
    bufferDn := bufferUp[1]

if (thisCCI >= 0)
    if (bufferUp < bufferUp[1])
        bufferUp := bufferUp[1]
else
    if (thisCCI <= 0)
        if (bufferDn > bufferDn[1])
            bufferDn := bufferDn[1]
x=0.0
x:=thisCCI >= 0 ?bufferUp:thisCCI <= 0 ?bufferDn:x[1]
swap=0.0

swap:=x>x[1]?1:x<x[1]?-1:swap[1]

swap2=swap==1?color.lime:color.red
swap3=thisCCI >=0 ?color.lime:color.red
swap4=original?swap3:swap2

//elliot wave
srce = input(close, title="source")
sma1length = input(5)
sma2length = input(35)
UsePercent = input(title="Show Dif as percent of current Candle", type=input.bool, defval=true)
smadif=iff(UsePercent,(sma(srce, sma1length) - sma(srce, sma2length)) / srce * 100, sma(srce, sma1length) - sma(srce, sma2length))
col=smadif <= 0 ? color.red : color.green

longC = high > high[1] and high[1] > high[2] and close[2] > high[3] and hist > 0 and uptrend and smadif < 0 and swap4==color.lime 
//longC = high > high[1] and high[1] > high[2] and high[2] > high[3] and high[3] > high[4] and close[4] > high[5]
shortC = low < low[1] and low[1] < low[2] and close[2] < low[3] and hist < 0 and not uptrend and  smadif > 0 and swap4==color.red 
//shortC = low < low[1] and low[1] < low[2] and low[2] < low[3] and low[3] < low[4] and close[4] < low[5]

tp=input(0.15, title="tp")
sl=input(0.005, title="sl")


strategy.entry("long",1,when=longC)
strategy.entry("short",0,when=shortC)

strategy.exit("x_long", "long" ,loss = close * sl / syminfo.mintick, profit = close * tp / syminfo.mintick , alert_message = "closelong")
//strategy.entry("short",0, when= loss = close * sl / syminfo.mintick)

strategy.exit("x_short", "short" , loss = close * sl / syminfo.mintick, profit  = close * tp / syminfo.mintick,alert_message = "closeshort")
//strategy.entry("long",1, when = loss = close * sl / syminfo.mintick)

//strategy.close("long",when= hist < 0)
//strategy.close("short", when= hist > 0)