Strategi tinggi dan rendah mata uang kripto berdasarkan beberapa indikator


Tanggal Pembuatan: 2023-12-29 14:16:16 Akhirnya memodifikasi: 2023-12-29 14:16:16
menyalin: 0 Jumlah klik: 652
1
fokus pada
1621
Pengikut

Strategi tinggi dan rendah mata uang kripto berdasarkan beberapa indikator

Ringkasan

Strategi ini adalah strategi tinggi-rendah yang cocok untuk pasar cryptocurrency. Strategi ini menggunakan beberapa indikator seperti MACD, PSAR, ATR, Elliott Wave, dan lain-lain untuk melakukan perdagangan pada periode waktu yang lebih tinggi seperti 1 jam, 4 jam, atau 1 hari. Strategi ini memiliki keuntungan karena tingkat pengembalian risiko yang tinggi, dengan rata-rata faktor keuntungan 1,5 hingga 2,5.

Prinsip Strategi

Sinyal perdagangan strategi ini berasal dari penilaian gabungan dari titik tinggi dan rendah harga dan beberapa indikator. Logika spesifiknya adalah:

  1. Periksa apakah ada kisaran harga tinggi dan rendah pada garis K, yaitu, tinggi dengan inovasi yang terus menerus tinggi, rendah dengan inovasi yang terus menerus rendah.

  2. Periksa MACD untuk level.

  3. Periksa indikator PSAR untuk menentukan arah tren.

  4. Periksa indikator tren yang dibuat oleh ATR dan MA untuk menentukan arah tren.

  5. Periksa indikator Elliott Wave untuk mengkonfirmasi arah tren.

Jika 5 kondisi di atas menunjuk ke arah yang sama, menghasilkan sinyal over atau under.

Keunggulan Strategis

  1. Rasio risiko-pengembalian yang tinggi, hingga 1:30.

  2. Faktor keuntungan rata-rata tinggi, biasanya antara 1,5 dan 2,5.

  3. Kombinasi dari beberapa indikator, dapat secara efektif memfilter terobosan palsu.

Risiko Strategis

  1. Kemenangan lebih rendah, hanya 10%-20%.

  2. Ada beberapa risiko penarikan diri dan penarikan diri.

  3. Efektivitas indikator akan dipengaruhi oleh kondisi pasar.

  4. “Saya tidak tahu apa yang terjadi”, katanya.

Tindakan yang disesuaikan:

  1. Meningkatkan modal transaksi untuk menyeimbangkan tingkat kemenangan.

  2. Kendala yang terjadi adalah:

  3. Parameter indikator disesuaikan dengan pasar yang berbeda.

  4. “Saya tidak tahu apa yang harus saya lakukan, saya tidak tahu apa yang harus saya lakukan”, katanya.

Arah optimasi

  1. Parameter indikator tes berdasarkan berbagai cryptocurrency dan lingkungan pasar.

  2. Meningkatkan strategi stop loss, stop loss, dan pengelolaan dana.

  3. Meningkatkan tingkat keberhasilan dengan menggunakan metode pembelajaran mesin.

  4. Meningkatkan indikator emosi sosial untuk memfilter sinyal perdagangan.

  5. Pertimbangkan untuk mengkonfirmasi indikator dalam periode waktu yang lebih lama.

Meringkaskan

Strategi ini secara keseluruhan adalah strategi perdagangan beresiko tinggi dan berpenghasilan tinggi yang cocok untuk cryptocurrency. Keuntungannya adalah tingkat pengembalian risiko yang tinggi, yang dapat menghasilkan faktor keuntungan rata-rata yang lebih tinggi. Risiko utamanya adalah tingkat kemenangan yang rendah, yang membutuhkan daya tahan psikologis yang kuat.

Kode 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)