
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.
Isyarat dagangan strategi ini datang dari penilaian komposit mengenai titik tinggi dan rendah harga dan beberapa petunjuk. Logiknya ialah:
Untuk menilai apakah terdapat rentang harga tinggi rendah pada garis K, iaitu, inovasi berterusan pada titik tinggi dan inovasi berterusan pada titik rendah.
Semak MACD pada tahap garisan lurus.
Semak petunjuk PSAR untuk menentukan arah trend.
Semak ATR dan MA untuk menentukan arah trend.
Periksa arah trend pada indikator Elliott Wave.
Jika 5 syarat di atas menunjuk ke arah yang sama, menghasilkan isyarat lebih atau kurang.
Rasio ganjaran risiko tinggi, sehingga 1:30.
Factor keuntungan purata tinggi, biasanya antara 1.5 dan 2.5.
Kombinasi pelbagai penunjuk, boleh menyaring penembusan palsu dengan berkesan.
Keputusan yang lebih rendah, hanya 10% -20%
Terdapat risiko penarikan balik dan penarikan balik.
Kesan penunjuk ini akan dipengaruhi oleh keadaan pasaran.
Ia memerlukan ketahanan mental yang lebih kuat.
Langkah-langkah yang diambil:
Meningkatkan modal dagangan untuk mengimbangi kadar kemenangan.
Kaedah ini juga boleh digunakan untuk menjimatkan wang.
Menyesuaikan parameter penunjuk mengikut pasaran yang berbeza.
“Saya tidak tahu apa-apa tentang apa yang berlaku, tetapi saya tahu apa yang berlaku.
Parameter penunjuk ujian mengikut pelbagai cryptocurrency dan persekitaran pasaran.
Meningkatkan strategi penangguhan kerugian dan pengoptimuman pengurusan wang.
Meningkatkan kadar kemenangan dengan menggunakan kaedah pembelajaran mesin.
Menambah penapis isyarat perdagangan untuk penunjuk emosi sosial.
Pertimbangkan pengesahan indikator jangka masa ganda.
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.
/*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)