Strategi ini didasarkan pada rata-rata linear transformasi-dispersi indikator ((CMO) untuk menilai perdagangan. Nilai mutlak CMO mewakili tingkat dispersi harga, strategi ini menilai overbought dan oversold dengan rata-rata tiga siklus nilai mutlak CMO, dan merupakan strategi perdagangan indikator guncangan khas.
Strategi ini didasarkan pada logika berikut:
Indeks CMO mencerminkan dinamika perubahan harga. Ukuran mutlaknya mewakili tingkat dispersi harga, di atas kisaran tertentu masuk ke zona overbought dan oversold. Strategi ini memanfaatkan karakteristik CMO ini, mengambil rata-rata multi-siklus untuk meluruskan kurva, menilai kondisi overbought dan oversold, dan merupakan strategi perdagangan goyangan khas.
Cara Mengatasinya:
Strategi ini dapat diperluas dalam beberapa dimensi:
Strategi ini menggunakan CMO untuk menentukan overbought dan oversold untuk melakukan trading berbalik, karena menggunakan rata-rata multi-siklus, dapat secara efektif meluruskan kurva dan menghindari sinyal yang salah. Indeks CMO sendiri memiliki dasar teoritis yang kuat dan dapat diandalkan untuk menentukan kondisi harga yang menyebar. Dengan parameter optimasi, strategi stop loss, dan lain-lain, dapat dioptimalkan menjadi strategi perdagangan indikator getaran yang lebih stabil.
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-14 07:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////7////////////
// Copyright by HPotter v1.0 21/02/2017
// This indicator plots the absolute value of CMO averaged over three
// different lengths. This indicator plots a classical-looking oscillator,
// which is really an averaged value based on three different periods.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="CMOabsav", shorttitle="CMOabsav")
Length1 = input(5, minval=1)
Length2 = input(10, minval=1)
Length3 = input(20, minval=1)
TopBand = input(58, minval=1)
LowBand = input(5, minval=0)
reverse = input(false, title="Trade reverse")
hline(0, color=green, linestyle=hline.style_dashed)
hline(TopBand, color=purple, linestyle=hline.style_solid)
hline(LowBand, color=red, linestyle=hline.style_solid)
xMom = close - close[1]
xMomabs = abs(close - close[1])
nSum1 = sum(xMom, Length1)
nSumAbs1 = sum(xMomabs, Length1)
nSum2 = sum(xMom, Length2)
nSumAbs2 = sum(xMomabs, Length2)
nSum3 = sum(xMom, Length3)
nSumAbs3 = sum(xMomabs, Length3)
nRes = abs(100 * (nSum1 / nSumAbs1 + nSum2 / nSumAbs2 + nSum3 / nSumAbs3 ) / 3)
pos = iff(nRes > TopBand, 1,
iff(nRes < LowBand, -1, nz(pos[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)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=blue, title="CMOabsav")