
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.
Sinyal perdagangan strategi ini berasal dari penilaian gabungan dari titik tinggi dan rendah harga dan beberapa indikator. Logika spesifiknya adalah:
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.
Periksa MACD untuk level.
Periksa indikator PSAR untuk menentukan arah tren.
Periksa indikator tren yang dibuat oleh ATR dan MA untuk menentukan arah tren.
Periksa indikator Elliott Wave untuk mengkonfirmasi arah tren.
Jika 5 kondisi di atas menunjuk ke arah yang sama, menghasilkan sinyal over atau under.
Rasio risiko-pengembalian yang tinggi, hingga 1:30.
Faktor keuntungan rata-rata tinggi, biasanya antara 1,5 dan 2,5.
Kombinasi dari beberapa indikator, dapat secara efektif memfilter terobosan palsu.
Kemenangan lebih rendah, hanya 10%-20%.
Ada beberapa risiko penarikan diri dan penarikan diri.
Efektivitas indikator akan dipengaruhi oleh kondisi pasar.
“Saya tidak tahu apa yang terjadi”, katanya.
Tindakan yang disesuaikan:
Meningkatkan modal transaksi untuk menyeimbangkan tingkat kemenangan.
Kendala yang terjadi adalah:
Parameter indikator disesuaikan dengan pasar yang berbeda.
“Saya tidak tahu apa yang harus saya lakukan, saya tidak tahu apa yang harus saya lakukan”, katanya.
Parameter indikator tes berdasarkan berbagai cryptocurrency dan lingkungan pasar.
Meningkatkan strategi stop loss, stop loss, dan pengelolaan dana.
Meningkatkan tingkat keberhasilan dengan menggunakan metode pembelajaran mesin.
Meningkatkan indikator emosi sosial untuk memfilter sinyal perdagangan.
Pertimbangkan untuk mengkonfirmasi indikator dalam periode waktu yang lebih lama.
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.
/*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)