3 10 Strategi penandaan kontur oscillator Strategi penandaan kontur oscillator Strategi penandaan kontur oscillator Strategi penandaan kontur oscillator Strategi penandaan kontur oscillator Strategi penandaan kontur oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator Strategi penandaan indikator oscillator
Indikator inti dari strategi ini adalah MACD, yang terdiri dari rata-rata bergerak cepat dan rata-rata bergerak lambat. Garis cepat adalah rata-rata bergerak sederhana 3 hari, dan garis lambat adalah rata-rata bergerak sederhana 10 hari. Perbedaan antara keduanya membentuk garis MACD.
Selain itu, strategi ini menggabungkan hubungan antara volume beli dan volume jual untuk setiap garis K untuk menilai kekuatan relatif dari posisi jual beli di pasar. Metode spesifiknya adalah: volume beli = volume x (harga tutup - harga terendah) ÷ (harga tertinggi - harga terendah); volume jual = volume x (harga tertinggi - harga tutup) ÷ (harga tertinggi - harga terendah). Jika volume beli secara signifikan lebih besar dari volume jual, ini menunjukkan bahwa garis akar K berakhir dengan posisi beli yang lebih kuat, ini adalah sinyal beli.
Dengan menggabungkan indikator MACD dan analisis volume transaksi, strategi ini dapat secara efektif menilai hubungan penawaran dan permintaan pasar dan arah pending momentum. Strategi ini juga akan memverifikasi apakah harga berada di daerah kunci, apakah MACD efektif berbalik, dan apakah perbedaan volume transaksi dalam posisi beli dan jual cukup besar, sehingga menyaring beberapa kebisingan dari operasi dorongan, memastikan masuknya kemungkinan dan efisiensi tinggi.
Keunggulan terbesar dari strategi ini adalah penghakiman yang sepenuhnya menggabungkan hubungan penawaran dan permintaan pasar. Garis pilar MACD dapat secara efektif menilai kontras kekuatan pasar dan arah tren pasar; analisis perbedaan volume transaksi dapat dengan jelas mengidentifikasi kekuatan dominan pasar.
Risiko di atas dapat dihindari dengan cara berikut: menilai dengan akurat tren utama pasar, menghindari menggunakan strategi ini di dalam piring goyah; memperhatikan informasi pasar, mengidentifikasi situasi di mana volume transaksi ditarik oleh manusia; menyesuaikan parameter dengan hati-hati, dapat mengambil saran dari lembaga profesional.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Secara keseluruhan, ada banyak ruang untuk mengoptimalkan strategi ini, dan investor dapat melakukan penyesuaian dan perbaikan sesuai dengan situasi mereka dan lingkungan pasar, sehingga strategi ini lebih efektif.
3 10 strategi penandaan kontur vibrator berhasil mengintegrasikan analisis MACD, perbandingan volume transaksi, dan validasi filter multi-syarat. Ini memiliki kemampuan yang kuat untuk menilai hubungan pasokan dan permintaan dan arah tren pasar, sementara mekanisme pengendalian risiko terintegrasi. Strategi ini memiliki ruang optimasi yang luas, prospek aplikasi yang luas, layak untuk pertimbangan dan penelitian mendalam investor.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("3 10 Oscillator Profile Flagging", shorttitle="3 10 Oscillator Profile Flagging", overlay=true)
signalBiasValue = input(title="Signal Bias", defval=0.26)
macdBiasValue = input(title="MACD Bias", defval=0.8)
shortLookBack = input( title="Short LookBack", defval=3)
longLookBack = input( title="Long LookBack", defval=10)
takeProfit = input( title="Take Profit", defval=0.75)
stopLoss = input( title="Stop Loss", defval=0.5)
fast_ma = ta.sma(close, 3)
slow_ma = ta.sma(close, 10)
macd = fast_ma - slow_ma
signal = ta.sma(macd, 16)
hline(0, "Zero Line", color = color.black)
buyVolume = volume*((close-low)/(high-low))
sellVolume = volume*((high-close)/(high-low))
buyVolSlope = buyVolume - buyVolume[1]
sellVolSlope = sellVolume - sellVolume[1]
signalSlope = ( signal - signal[1] )
macdSlope = ( macd - macd[1] )
//plot(macdSlope, color=color.red, title="Total Volume")
//plot(signalSlope, color=color.green, title="Total Volume")
intrabarRange = high - low
getLookBackSlope(lookBack) => signal - signal[lookBack]
getBuyerVolBias(lookBack) =>
j = 0
for i = 1 to lookBack
if buyVolume[i] > sellVolume[i]
j += 1
j
getSellerVolBias(lookBack) =>
j = 0
for i = 1 to lookBack
if sellVolume[i] > buyVolume[i]
j += 1
j
getVolBias(lookBack) =>
float b = 0
float s = 0
for i = 1 to lookBack
b += buyVolume[i]
s += sellVolume[i]
b > s
getSignalBuyerBias(lookBack) =>
j = 0
for i = 1 to lookBack
if signal[i] > signalBiasValue
j += 1
j
getSignalSellerBias(lookBack) =>
j = 0
for i = 1 to lookBack
if signal[i] < ( 0 - signalBiasValue )
j += 1
j
getSignalNoBias(lookBack) =>
j = 0
for i = 1 to lookBack
if signal[i] < signalBiasValue and signal[i] > ( 0 - signalBiasValue )
j += 1
j
getPriceRising(lookBack) =>
j = 0
for i = 1 to lookBack
if close[i] > close[i + 1]
j += 1
j
getPriceFalling(lookBack) =>
j = 0
for i = 1 to lookBack
if close[i] < close[i + 1]
j += 1
j
getRangeNarrowing(lookBack) =>
j = 0
for i = 1 to lookBack
if intrabarRange[i] < intrabarRange[i + 1]
j+= 1
j
getRangeBroadening(lookBack) =>
j = 0
for i = 1 to lookBack
if intrabarRange[i] > intrabarRange[i + 1]
j+= 1
j
bool isNegativeSignalReversal = signalSlope < 0 and signalSlope[1] > 0
bool isNegativeMacdReversal = macdSlope < 0 and macdSlope[1] > 0
bool isPositiveSignalReversal = signalSlope > 0 and signalSlope[1] < 0
bool isPositiveMacdReversal = macdSlope > 0 and macdSlope[1] < 0
bool hasBearInversion = signalSlope > 0 and macdSlope < 0
bool hasBullInversion = signalSlope < 0 and macdSlope > 0
bool hasSignalBias = math.abs(signal) >= signalBiasValue
bool hasNoSignalBias = signal < signalBiasValue and signal > ( 0 - signalBiasValue )
bool hasSignalBuyerBias = hasSignalBias and signal > 0
bool hasSignalSellerBias = hasSignalBias and signal < 0
bool hasPositiveMACDBias = macd > macdBiasValue
bool hasNegativeMACDBias = macd < ( 0 - macdBiasValue )
bool hasBullAntiPattern = ta.crossunder(macd, signal)
bool hasBearAntiPattern = ta.crossover(macd, signal)
bool hasSignificantBuyerVolBias = buyVolume > ( sellVolume * 1.5 )
bool hasSignificantSellerVolBias = sellVolume > ( buyVolume * 1.5 )
// 7.48 Profit 52.5%
if ( hasSignificantBuyerVolBias and getPriceRising(shortLookBack) == shortLookBack and getBuyerVolBias(shortLookBack) == shortLookBack and hasPositiveMACDBias and hasBullInversion)
strategy.entry("Short1", strategy.short, qty=10)
strategy.exit("TPS", "Short1", limit=strategy.position_avg_price - takeProfit, stop=strategy.position_avg_price + stopLoss)
// 32.53 Profit 47.91%
if ( getPriceFalling(shortLookBack) and (getVolBias(shortLookBack) == false) and signalSlope < 0 and hasSignalSellerBias)
strategy.entry("Long1", strategy.long, qty=10)
strategy.exit("TPS", "Long1", limit=strategy.position_avg_price + takeProfit, stop=strategy.position_avg_price - stopLoss)