ایم اے سی ڈی اور ایس ایم اے 200 کمبو حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-09-11 17:32:34
ٹیگز:

یہ حکمت عملی کلاسیکی MACD اشارے کو 200 پیریڈ SMA چلتی اوسط کے ساتھ مل کر ٹریڈنگ سگنل تیار کرتی ہے۔

خاص طور پر ، یہ طویل ہوجاتا ہے جب ایم اے سی ڈی ہسٹوگرام اور رفتار دونوں 0 سے اوپر ہوتے ہیں ، تیز ایم اے سست ایم اے سے اوپر ہوتا ہے۔ 200 پیریڈ ایس ایم اے سے اوپر کی قیمت تیزی سے تعصب کے لئے دوسرے فلٹر کی حیثیت سے کام کرتی ہے۔ مخالف منطق شارٹس کو متحرک کرتی ہے۔

اس حکمت عملی کا فائدہ یہ ہے کہ قلیل مدتی رجحان اور تال کے لئے ایم اے سی ڈی اور طویل مدتی رجحان کی سمت کے لئے ایس ایم اے کا استعمال کیا جاتا ہے۔ مجموعہ درستگی کو بہتر بناتا ہے اور وِپساؤ سے بچتا ہے۔ تاہم ، ایم اے سی ڈی اور ایس ایم اے دونوں کے پیچھے رہ جانے والے مسائل ہیں اور وہ فوری طور پر الٹ پھیر کا پتہ نہیں لگا سکتے ہیں۔

خلاصہ میں ، ایم اے سی ڈی اور ایس ایم اے 200 کمبو حکمت عملی درمیانی اور طویل مدتی ہولڈنگ کے لئے موزوں ہے۔ یہ مؤثر طریقے سے اہم رجحان کی تبدیلی کے نکات کو پکڑتا ہے۔ لیکن اشارے کے اشاروں کے وقت پر توجہ دینے کی ضرورت ہے تاکہ چوٹیوں / نیچے کا پیچھا نہ کیا جاسکے۔


/*backtest
start: 2023-08-11 00:00:00
end: 2023-09-10 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("MACD + SMA 200 Strategy (by ChartArt)", shorttitle="CA_-_MACD_SMA_strategy", overlay=true)

// ChartArt's MACD + SMA 200 Strategy
//
// Version 1.0
// Idea by ChartArt on November 30, 2015.
//
// Here is a combination of the MACD with the
// slow moving average SMA 200 as a strategy.
//
// This strategy goes long if the MACD histogram
// and the MACD momentum are both above zero and
// the fast MACD moving average is above the
// slow MACD moving average. As additional long filter
// the recent price has to be above the SMA 200.
// If the inverse logic is true, the strategy
// goes short. For the worst case there is a
// max intraday equity loss of 50% filter.


// Input
source = input(close)
fastLength = input(12, minval=1, title="MACD fast moving average")
slowLength=input(26,minval=1, title="MACD slow moving average")
signalLength=input(9,minval=1, title="MACD signal line moving average")
veryslowLength=input(200,minval=1, title="Very slow moving average")
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Moving Averages?")
switch3=input(true, title="Enable Background Color?")

// Calculation
fastMA = sma(source, fastLength)
slowMA = sma(source, slowLength)
veryslowMA = sma(source, veryslowLength)
macd = fastMA - slowMA
signal = sma(macd, signalLength)
hist = macd - signal

// Colors
MAtrendcolor = change(veryslowMA) > 0 ? green : red
trendcolor = fastMA > slowMA and change(veryslowMA) > 0 and close > slowMA ? green : fastMA < slowMA and change(veryslowMA) < 0 and close < slowMA ? red : blue
bartrendcolor = close > fastMA and close > slowMA and close > veryslowMA and change(slowMA) > 0 ? green : close < fastMA and close < slowMA and close < veryslowMA and change(slowMA) < 0 ? red : blue
backgroundcolor = slowMA > veryslowMA and crossover(hist, 0) and macd > 0 and fastMA > slowMA and close[slowLength] > veryslowMA ? green : slowMA < veryslowMA and crossunder(hist, 0) and macd < 0 and fastMA < slowMA and close[slowLength] < veryslowMA ? red : na
bgcolor(switch3?backgroundcolor:na,transp=80)
barcolor(switch1?bartrendcolor:na)

// Output
F=plot(switch2?fastMA:na,color=trendcolor)
S=plot(switch2?slowMA:na,color=trendcolor,linewidth=2)
V=plot(switch2?veryslowMA:na,color=MAtrendcolor,linewidth=4)
fill(F,V,color=gray)

// Strategy
buyprice = low
sellprice = high
cancelLong = slowMA < veryslowMA
cancelShort = slowMA > veryslowMA

if (cancelLong)
    strategy.cancel("MACDLE")

if crossover(hist, 0) and macd > 0 and fastMA > slowMA and close[slowLength] > veryslowMA 
    strategy.entry("MACDLE", strategy.long, stop=buyprice, comment="Bullish")

if (cancelShort)
    strategy.cancel("MACDSE")

if crossunder(hist, 0) and macd < 0 and fastMA < slowMA and close[slowLength] < veryslowMA 
    strategy.entry("MACDSE", strategy.short, stop=sellprice, comment="Bearish")

maxIdLossPcnt = input(50, "Max Intraday Loss(%)", type=float)
// strategy.risk.max_intraday_loss(maxIdLossPcnt, strategy.percent_of_equity)

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

مزید