Reversal Dynamic Pivot Points Eksponensial Strategi Moving Average

Penulis:ChaoZhang, Tanggal: 2023-12-08 11:37:36
Tag:

img

Gambaran umum

Strategi Reversal Dynamic Pivot Points Exponential Moving Average menggabungkan reversal trading dan level resistance support yang dinamis. Strategi ini menggunakan osilator Stochastic untuk mengidentifikasi titik pembalikan pasar dan menghitung support/resistance harian berdasarkan harga tinggi, rendah dan dekat hari sebelumnya. Strategi ini akan long atau short ketika kedua strategi reversal dan pivot point menghasilkan sinyal beli atau jual. Strategi ini cocok untuk trading jangka menengah.

Logika Strategi

Strategi Pembalikan

Strategi pembalikan didasarkan pada alasan bahwa ketika pasar menjadi overbought atau oversold, harga cenderung kembali ke kisaran nilai. Secara khusus strategi pembalikan ini mengikuti aturan Ulf Jensen:

Pergi panjang ketika close telah lebih tinggi dari close sebelumnya selama 2 hari berturut-turut dan garis Slow K 9 hari di bawah 50; Pergi pendek ketika close telah lebih rendah dari close sebelumnya selama 2 hari berturut-turut dan garis Fast K 9 hari di atas 50.

Strategi Titik Pivot Dinamis

Strategi titik pivot dinamis menghitung level support dan resistance hari ini berdasarkan harga tinggi, rendah dan dekat hari sebelumnya.

Titik Pivot = (tinggi + rendah + dekat) / 3

Dukungan 1 = Titik Pivot - (Tinggi - Titik Pivot)

Resistensi 1 = Titik Pivot + (titik Pivot - rendah)

Ini pergi panjang ketika dekat lebih tinggi dari Resistance 1 dan pergi pendek ketika dekat lebih rendah dari Support 1.

Sinyal ganda

Strategi ini menggabungkan strategi pembalikan dan titik pivot dinamis. Ini hanya memasuki posisi ketika sinyal dari kedua strategi sejajar. Ini membantu menyaring beberapa sinyal palsu dan meningkatkan stabilitas.

Keuntungan

Keuntungan terbesar dari strategi ini adalah menggabungkan kekuatan dari kedua strategi pembalikan dan S / R dinamis - dapat mendapatkan keuntungan dari pembalikan tren utama dan juga mengidentifikasi tingkat dukungan dan resistensi utama.

Juga, strategi memiliki beberapa parameter dan mudah diterapkan dan dioptimalkan.

Risiko

Strategi ini juga memiliki risiko berikut:

  • Kegagalan pembalikan - harga mungkin terlalu meluas dan terus tren meskipun sinyal pembalikan.

  • Pelanggaran level support/resistance - harga dapat menembus level S/R yang dihitung sehingga menghasilkan sinyal yang salah.

  • Mekanisme sinyal ganda terlalu konservatif, kehilangan run.

Pengendalian:

  • Perbaiki parameter, gabungkan faktor lain untuk mengkonfirmasi pembalikan.

  • Gunakan stop loss untuk mengendalikan kerugian.

  • Sesuaikan aturan untuk memungkinkan lebih banyak peluang perdagangan.

Peluang Peningkatan

Strategi ini dapat ditingkatkan di bidang berikut:

  1. Uji kombinasi parameter Stochastic yang berbeda untuk meningkatkan sensitivitas dalam mengidentifikasi pembalikan.

  2. Uji rata-rata bergerak yang berbeda atau indikator jangka panjang untuk mengukur tren keseluruhan dengan lebih baik.

  3. Tambahkan faktor lain untuk menentukan struktur pasar, misalnya indikator volume.

  4. Mengoptimalkan aturan sinyal ganda untuk menangkap lebih banyak perdagangan.

  5. Menggabungkan stop loss untuk mengelola risiko.

Kesimpulan

Strategi Reversal Dynamic Pivot Points Exponential Moving Average menggabungkan kekuatan dari reversal trading dan analisis resistance support yang dinamis. Strategi ini dapat mendapatkan keuntungan dari titik balik tren utama dan juga mengukur arah intraday terhadap level kunci. Dengan memanfaatkan mekanisme sinyal ganda, strategi ini memiliki stabilitas yang baik dalam menyaring perdagangan palsu. Strategi dapat lebih dioptimalkan dengan menyesuaikan parameter, menguji filter tambahan, dll untuk meningkatkan kinerja.


/*backtest
start: 2023-11-07 00:00:00
end: 2023-12-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/03/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// This Pivot points is calculated on the current day.
// Pivot points simply took the high, low, and closing price from the previous period and 
// divided by 3 to find the pivot. From this pivot, traders would then base their 
// calculations for three support, and three resistance levels. The calculation for the most 
// basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and 
// resistance levels.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

DPP() =>
    pos = 0
    xHigh  = security(syminfo.tickerid,"D", high[1])
    xLow   = security(syminfo.tickerid,"D", low[1])
    xClose = security(syminfo.tickerid,"D", close[1])
    vPP = (xHigh+xLow+xClose) / 3
    vR1 = vPP+(vPP-xLow)
    vS1 = vPP-(xHigh - vPP)
    pos := iff(close > vR1, 1,
             iff(close < vS1, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Dynamic Pivot Point", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDPP = DPP()
pos = iff(posReversal123 == 1 and posDPP == 1 , 1,
	   iff(posReversal123 == -1 and posDPP == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Lebih banyak