ChartArt

MACD + Stochastic, Double Strategy (by ChartArt)

This strategy combines the classic stochastic strategy to buy when the stochastic is oversold with a classic MACD strategy to buy when the MACD histogram value goes above the zero line. Only difference to the classic stochastic is a default setting of 71 for overbought (classic setting 80) and 29 for oversold (classic setting 20).

Therefore this strategy goes long if the MACD histogram goes above zero and the stochastic indicator detects a oversold condition (value below 29). If the inverse logic is true, the strategy goes short (stochastic overbought condition with a value above 71 and the MACD histogram falling below the zero line value).

Please be aware that this pure double strategy using simply two classic indicators does not have any stop loss or take profit money management logic.

All trading involves high risk; past performance is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not actually been executed, the results may have under- or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
نص برمجي مفتوح المصدر

قام مؤلف هذا النص البرمجي بنشره وجعله مفتوح المصدر، بحيث يمكن للمتداولين فهمه والتحقق منه، وهو الأمر الذي يدخل ضمن قيم TradingView. تحياتنا للمؤلف! يمكنك استخدامه مجانًا، ولكن إعادة استخدام هذا الكود في منشور تحكمه قواعد الموقع. يمكنك جعله مفضلاً لاستخدامه على الرسم البياني.

إخلاء المسؤولية

لا يُقصد بالمعلومات والمنشورات أن تكون، أو تشكل، أي نصيحة مالية أو استثمارية أو تجارية أو أنواع أخرى من النصائح أو التوصيات المقدمة أو المعتمدة من TradingView. اقرأ المزيد في شروط الاستخدام.

هل تريد استخدام هذا النص البرمجي على الرسم البياني؟
//@version=2
strategy("MACD + Stochastic, Double Strategy (by ChartArt)", shorttitle="CA_-_MACD_Stoch_Strat", overlay=true)

// ChartArt's MACD + Stochastic Strategy
//
// Version 1.0
// Idea by ChartArt on February 24, 2016.
//
// This strategy combines the classic stochastic
// strategy to buy when the stochastic is oversold
// with a classic MACD strategy to buy when the
// MACD histogram value goes above the zero line.
//
// Only difference to the classic stochastic is a
// default setting of 71 for overbought
// (classic setting 80) and 29 for oversold
// (classic setting 20).
//
// This strategy goes long if the MACD histogram
// goes above zero and the stochastic indicator
// detects a oversold condition (value below 29).
// If the inverse logic is true, the strategy
// goes short (oversold condition value above 71).
//
// This pure double strategy does not have any
// stop loss or take profit money management logic.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/
// 
//  __             __  ___       __  ___ 
// /  ` |__|  /\  |__)  |   /\  |__)  |  
// \__, |  | /~~\ |  \  |  /~~\ |  \  |  
// 
// 

// Input
fastMAlen = input(12, minval=1, title="MACD fast moving average")
slowMAlen = input(26,minval=1, title="MACD slow moving average")
signalMACDlen = input(9,minval=1, title="MACD signal line moving average")
StochLength = input(14, minval=1, title="Stochastic Length")
OverBoughtOverSold = input(71, title="Overbought Level (Oversold = 100 - Overbought")
switch=input(true, title="Enable MACD Bar Color?")

// MACD Calculation
MACD = ema(close, fastMAlen) - ema(close, slowMAlen)
signalMACD = ema(MACD, signalMACDlen)
delta = MACD - signalMACD
fastMA = ema(close,fastMAlen)
slowMA = ema(close,slowMAlen)
veryslowMA = sma(close, 100)

// Stochastic Calculation
OverBought = OverBoughtOverSold
OverSold = 100-OverBought
smoothK = input(3, title="Smoothing of Stochastic %K ")
smoothD = input(2, title="Moving Average of Stochastic %K")
k = sma(stoch(close, high, low, StochLength), smoothK)
d = sma(k, smoothD)

// Colors
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
barcolor(switch?bartrendcolor:na)

// Strategy
if (not na(k) and not na(d))
    if (crossover(k,d) and k < OverSold and crossover(delta, 0))
        strategy.entry("Stoch_L__MACD_L", strategy.long, comment="Stoch_L_+_MACD_L")
    if (crossunder(k,d) and k > OverBought and crossunder(delta, 0))
        strategy.entry("Stoch_S__MACD_S", strategy.short, comment="Stoch_S_+_MACD_S")

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