Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

Welcome Guests
Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.
Search the Community
Showing results for tags 'macd'.
Found 10 results

MAMA Combo This is one of my earlier inventions. Maybe "invention" is not the precise word to describe this, it is more like a concoction... because I did not "invent" the indicators, I merely combined them together in one presentation. This indicator should be called MAMACD Combo, but I thought MAMA Combo sounds more catchy. ;) This is a basic run of the mill MACD indicator, with a Fast Moving Average overlaid on top. I have created an oscillating black and white panel in the background; when the MACD value crosses below the MACD average, the panel will turn black, and white in the reverse direction. (you can adjust the panel height with BG.height in Study Format) The Fast Moving Average is the Red Light / Green Light indicator. It serves as an early warning to impending moves. You can see the code and description here: http://www.traderslaboratory.com/forums/f46/redlightgreenlight5848.html#post63641 This indicator works best in a fast fractal chart. eg. 2 minutes ES. Let me know if you have questions or suggestions. Enjoy! MAMA_Combo.txt
 7 replies

 easylanguage
 macd

(and 2 more)
Tagged with:

In this article we will discuss about a widespread, wellknown key element of technical analysis. Why do you think technical analysis especially some elements work so well for financial markets? Why do you think Fibonacci levels are usually strictly followed? Because thousands and billions of traders and computer programs for trading use these elements. This way everybody acts the same at the same time… This is why we decided to present in the category of technical analysis, the most used and wellknown methods of predicting financial evolution. These methods are easy to understand and are very efficient. We will discuss about the MACD indicator. We will find out what MACD means is and how it is calculated. We will use it in our charts and we will see how it acts. We will discover how useful the MACD indicator is and, at the end, we will draw the conclusions. We will use the MACD indicator daily in our analyzing and trading system. What is MACD? Developed by Gerald Appel, Moving Average Convergence/Divergence (MACD) is one of the simplest and most reliable indicators available. MACD uses moving averages, which are lagging indicators, to include some trendfollowing characteristics. These lagging indicators are turned into a momentum oscillator by subtracting the longer moving average from the shorter moving average. The resulting plot forms a line that oscillates above and below zero, without any upper or lower limits. MACD is a centered oscillator and the guidelines for using centered oscillators apply. 1. How is it calculated? The most popular formula for the "standard" MACD is the difference between a security's 26day and 12day Exponential Moving Averages (EMAs). This is the formula that is used in many popular technical analysis programs, and quoted in most technical analysis books on the subject. Appel and others have since tinkered with these original settings to come up with a MACD that is better suited for faster or slower securities. Using shorter moving averages will produce a quicker, more responsive indicator, while using longer moving averages will produce a slower indicator, less prone to whipsaws. For our purposes in this article, the traditional 12/26 MACD will be used for explanations. Later in the indicator series, we will address the use of different moving averages in calculating MACD. Of the two moving averages that make up MACD, the 12day EMA is the faster and the 26day EMA is the slower. Closing prices are used to form the moving averages. Usually, a 9day EMA of MACD is plotted along side to act as a trigger line. A bullish crossover occurs when MACD moves above its 9day EMA, and a bearish crossover occurs when MACD moves below its 9day EMA. The histogram represents the difference between MACD and its 9day EMA. The histogram is positive when MACD is above its 9day EMA and negative when MACD is below its 9day EMA. MACD measures the difference between two Exponential Moving Averages (EMAs). A positive MACD indicates that the 12day EMA is trading above the 26day EMA. A negative MACD indicates that the 12day EMA is trading below the 26day EMA. If MACD is positive and rising, then the gap between the 12day EMA and the 26day EMA is widening. This indicates that the rateofchange of the faster moving average is higher than the rateofchange for the slower moving average. Positive momentum is increasing, indicating a bullish period for the price plot. If MACD is negative and declining further, then the negative gap between the faster moving average (blue) and the slower moving average (red) is expanding. Downward momentum is accelerating, indicating a bearish period of trading. MACD centerline crossovers occur when the faster moving average crosses the slower moving average. 2. Chart examples for Dow and emini S&P 500. a. In the next imagine we have the evolution between March and July 2006. After analyzing the histogram step by step, observing he histogram going below and above zero and correlating the new information with the ones about the trend lines we realize that we could have performed numerous positive transaction in this period. Analyze each setup… b. Another example is for the time period January – April 2005. we have the same setups and resembling profiles. c. We have here 5 clear patterns to follow and make profit. 3. Conclusions 1. Correctly used and followed, the MACD along other technical analysis and astrological analysis methods can offer complex and correct information for profitable transactions. 2. Trading methods based only on MACD can be found and can work very well. These methods can be harmoniously correlated with other methods of financial analysis resulting in a complete and complex trading system approaching financial reality. 3. We often use MACD amongst other various methods of analysis that we will describe later. Dharmik Team

a lot of negative writing is shown for moving average crossover. but i've had a fair degree of success using a combination of 18sma,20sma,3sma,5sma on a 15 minute emini s&p. wonder if anyone still uses them? seem to be most effective when they converge on a s/r level.thank you.figaro

// Author: aaa // from: MARKPLEX Code Divergence // http://markplex.com/tutorial4.php // version: 1.0 // Date: 20100501 // added: // divergence on top + // Line.Color.Top + Line.Color.Bot + Line.Size + Plot.MACD in inputs [/url] PS : Stochastic Divergence TrendLine here http://www.traderslaboratory.com/forums/f46/stochasticdivergencetrendline7244.html MACD DIVERGENCE TRENDLINE.ELD MACD Divergence TrendLines.pla MACD Divergence TrendLine.txt

I am looking to determine if its possible to determine the slope or angle of the MACD, fast line on a chart. Trying to determine if there is a way to determine what this would be, and how to program this into an indicator.

Following on the great work done by aaa on the divergence indicator; I wanted to know if someone could potentially help in creating an indicator which shows negative or reverse divergence. The attached indicator is a slight tweak from aaa's, and shows regular divergence only. The attached images show the negative divergence. // StochRSI Divergence TrendLine // Author: MARKPLEX // http://markplex.com/tutorial4.php // version: 1.0 // Author: aaa // version: 2.0 // Date: 20091129 // added: // divergence on top + // Line.Color.Top + Line.Color.Bot + Line.Size + Plot.Sto in inputs // inputs: // RSILength(9), StochLength(18), KLength(6), DLength(3), OverSold(20), OverBought(80), Length(20), LeftStrength(3), RightStrength(3), Line.Color.Top(yellow), Line.Color.Bot(white), Line.Size(2), Plot.stochrsi(1), AlertOn.Off(1); // variables: // DToscK(0), DToscD(0), oPivotPrice1(0), oPivotBar1(0), oPivotPrice2(0), oPivotBar2(0), oPivotPrice11(0), oPivotBar11(0), oPivotPrice12(0), oPivotBar12(0); value1 = FastKCustomEasy(RSI(C, RSILength),StochLength); DToscK = average(value1,KLength); DToscD = average(DToscK,DLength); Condition1 = Pivot( DToscK, Length, LeftStrength, RightStrength, 1, 1, oPivotPrice1, oPivotBar1 ) <> 1 AND ( oPivotBar1  RightStrength ) = 0 ; Condition11 = Pivot( DToscK, Length, LeftStrength, RightStrength, 1, 1, oPivotPrice11, oPivotBar11 ) <> 1 AND ( oPivotBar11  RightStrength ) = 0 ; Condition2 = Pivot( DToscK, Length, LeftStrength, RightStrength, 2, 1, oPivotPrice2, oPivotBar2 ) <> 1; Condition12 = Pivot( DToscK, Length, LeftStrength, RightStrength, 2, 1, oPivotPrice12, oPivotBar12 ) <> 1; If Condition1 and Condition2 // added condition2 = referecne future data AND L[oPivotBar2] >= L[oPivotBar1] AND DToscK[oPivotBar2] < DToscK[oPivotBar1] then Begin Value2 = TL_New(D[oPivotBar2], T[oPivotBar2], L[oPivotBar2], D[oPivotBar1], T[oPivotBar1], L[oPivotBar1]); TL_SetColor( Value2, Line.Color.Bot ); TL_SetSize( Value2, Line.Size ); if AlertOn.Off <> 0 then Alert( "Divergence in Bottom" ); End; If Condition11 and Condition12 // added condition12 referecne future data AND H[oPivotBar12] <= H[oPivotBar11] AND DToscK[oPivotBar12] > DToscK[oPivotBar11] then Begin Value12 = TL_New(D[oPivotBar12], T[oPivotBar12], H[oPivotBar12], D[oPivotBar11], T[oPivotBar11], H[oPivotBar11]); TL_SetColor( Value12, Line.Color.Top ); TL_SetSize( Value12, Line.Size ); if AlertOn.Off <> 0 then Alert( "Divergence in Top" ); End; condition3 = Pivot( DToscK, Length, LeftStrength, RightStrength, 1, 1, oPivotPrice1, oPivotBar1 ) <> 1 AND ( oPivotBar1  RightStrength ) = 0 ; condition32 = Pivot( DToscK, Length, LeftStrength, RightStrength, 1, 1, oPivotPrice11, oPivotBar11 ) <> 1 AND ( oPivotBar11  RightStrength ) = 0 ; condition4 = Pivot( DToscK, Length, LeftStrength, RightStrength, 2, 1, oPivotPrice2, oPivotBar2 ) <> 1; condition42 = Pivot( DToscK, Length, LeftStrength, RightStrength, 2, 1, oPivotPrice12, oPivotBar12 ) <> 1; If Condition3 and condition4 AND L[oPivotBar2] >= L[oPivotBar1] AND DToscK[oPivotBar2] < DToscK[oPivotBar1] then Begin Value2 = TL_New_SELF(D[oPivotBar2], T[oPivotBar2], DToscK[oPivotBar2], D[oPivotBar1], T[oPivotBar1], DToscK[oPivotBar1]); TL_SetColor( Value2, Line.Color.Bot ); TL_SetSize( Value2, Line.Size ); End; If Condition32 and Condition42 AND H[oPivotBar12] <= H[oPivotBar11] AND DToscK[oPivotBar12] > DToscK[oPivotBar11] then Begin Value12 = TL_New_SELF(D[oPivotBar12], T[oPivotBar12], DToscK[oPivotBar12], D[oPivotBar11], T[oPivotBar11], DToscK[oPivotBar11]); TL_SetColor( Value12, Line.Color.Top ); TL_SetSize( Value12, Line.Size ); End; Plot1( DToscK, "stochrsi", blue ); plot2( 20, "oversold", white); plot3(80, "overbought", white);

Ergodic (Double Weighted) Based on a concept by William Blau as described in his book Momentum, Direction, and Divergence the Ergodic Oscillator (EO) is a double smoothed index with a signal line. The Ergodic is intended to act like a stochastic indicator without the "compression" often seen with stochastics at extremes. As a result, the Ergodic helps to register long trends in prices. Note: This EasyLanguage indicator was written in MultiCharts. I have not tested it in other compatible programs. Please refer to your users manual for importation instructions. Ergodic Double Weighted.txt ERG_Double_Weighted_(MultiCharts).pla

Here is a fast MACD using a Hull Moving Average and a Fractal Moving Average. The FastMACD dots change color when they breach outside their Bollinger Bands (which you can't see). I have taken from other coder's work, so full credit goes to them. I have simply added the faster MAs and incorporated the BBs. This indicator came about just by experimenting. So try an idea out......you never know It seems to pick the highs and lows nicely. I have coded it with a standard MACD so I can see divergences. You are quite welcome to add or remove anything and post it if you think it has merit. The indicator also has a gapless code added which will take into account opening gaps on intraday charts. I use this with BluRay's Paintbars (Similar to the Heikin Ashi), Double Stochastics and The Gapless Squeeze (here): http://www.traderslaboratory.com/forums/f46/gaplesssqueeze6161.html#post68059 Here is the code: {**************FMA Function******************} // generates very smooth and responsive moving average // copyright 2008 John McCormick // feel free to copy and use this code royalty free // as long as you don't remove the above acknowledgement // Inputs: Price(numericseries), Length(numericsimple); Vars: j(0), workinglen(maxlist(1,absvalue(Length))), peak(workinglen/3), tot(0), divisor(0); Array: val[100](0); if workinglen>100 then workinglen=100; // use larger array to handle lengths over 100 tot=0; divisor=0; for j=1 to floor(workinglen+1) begin if j<=peak then val[j]=j/peak else val[j]=(workinglen+1j)/(workinglen+1peak); tot=tot+price[j1]*val[j]; divisor=divisor+val[j]; end; if divisor<>0 then FMA_smooth=tot/divisor; {jtHMA  Hull Moving Average Function} {Author: Atavachron} {May 2005} Inputs: price(NumericSeries), length(NumericSimple); Vars: halvedLength(0), sqrRootLength(0); { Original equation is:  waverage(2*waverage(close,period/2)waverage(close,period), SquareRoot(Period) Implementation below is more efficient with lengthy Weighted Moving Averages. In addition, the length needs to be converted to an integer value after it is halved and its square root is obtained in order for this to work with Weighted Moving Averaging } if ((ceiling(length / 2)  (length / 2)) <= 0.5) then halvedLength = ceiling(length / 2) else halvedLength = floor(length / 2); if ((ceiling(SquareRoot(length))  SquareRoot(length)) <= 0.5) then sqrRootLength = ceiling(SquareRoot(length)) else sqrRootLength = floor(SquareRoot(length)); Value1 = 2 * WAverage(price, halvedLength); Value2 = WAverage(price, length); Value3 = WAverage((Value1  Value2), sqrRootLength); jtHMA = Value3; {***************FastMACD Function********************** inputs: Price( numericseries ), FastLength( numericsimple ), { this input assumed to be a constant >= 1 } SlowLength( numericsimple ) ; { this input assumed to be a constant >= 1 } MACD_HMA_FMA = jthma( Price, FastLength )  FMA_smooth( Price, SlowLength ) ; { ** Copyright (c) 2001  2009 TradeStation Technologies, Inc. All rights reserved. ** ** TradeStation reserves the right to modify or overwrite this analysis technique with each release. ** } {******************FastMACD Indicator*************} inputs: price(close), fastlength (12), slowlength (26), signal (9), BBstDv(1), DirColor(True), BBColorUp(White), BBColorDn(Magenta), ZeroColor(DarkCyan); VARS: BB_Macd(0), MyMACD(0), Avg(0), SDev(0), Alert_Msg(" "), Upper_Band(0), Lower_Band(0), BBColor(0), Cross_Up(False), Cross_Dn(False); // gapless day transitions  John McCormick May 2008 Vars: RelO(0), // Relative Open RelH(0), // Relative High RelL(0), // Relative low RelC(0), // Relative Close gap(0), // the opening gap (modified by the gap coefficient) GapCoef(1.0), // Gap Coefficient Accum(0); // The sum of all the daily gaps if currentsession(0)<>currentsession(0)[1] or date<>date[1] then begin gap=GapCoef*(OC[1]); Accum=Accum+gap; end; if BarType<=1 then //Valid only for Tick or Intraday begin RelO = OAccum; RelC = CAccum; RelH = HAccum; RelL = LAccum; end else begin RelO = O; RelC = C; RelH = H; RelL = L; end; // Gapless  end Var: GL_Price(0); GL_price = RelC; If Price=open then GL_price = RelO; If Price=high then GL_price = RelH; If Price=low then GL_price = RelL; BB_Macd = FMA_smooth(MACD_HMA_FMA(GL_price, FastLength, SlowLength),3)*0.5 ;//added xaverage to smooth 'bumps' MyMACD = MACD( GL_price, FastLength, SlowLength )*1.5 ; //Avg = FMA_smooth( BB_Macd, Signal); Avg = XAverage( MyMACD,Signal ) ; SDev = StandardDev( BB_Macd, Signal, 1); Upper_Band = ( Avg + BBStDv * SDev ); Lower_Band = ( Avg  BBStDv * SDev ); //******************************************************// // SubGraph plot logic. // //******************************************************// if DirColor=True then begin If BB_Macd > BB_Macd[1] then BBColor = BBColorUp else BBColor = BBColorDn; If Cross_Up = False then if BB_Macd > Upper_Band then begin Cross_Up = True; Cross_Dn = False; BBColor = Cyan; If CheckAlert then Alert( "BB cross up " + Alert_Msg ); end; If Cross_Dn = False then if BB_Macd < Lower_Band then begin Cross_Up = False; Cross_Dn = True; BBColor = Yellow; If CheckAlert then Alert( "BB cross down " + Alert_Msg ); end; Plot1( BB_Macd, "BBMACD" ,BBColor ); Plot2(Avg, "Signal",Cyan); Plot4( 0, "Zero_Line", ZeroColor ); Plot3(MyMACD, "MACD", green,2); end else setplotcolor(1,green); @SK_FAST_MACDBB.ELD

I have attached a simple indicator that easily lets me know how many pips or points to the moving average. I am determined to get all the money i have lost trading against the trend. I came up with this to help me decide how much room there is. For me it is easier to quickly look and see if it is worth it. I'm sure that this could be improved. Right now it is a simple ma, function can be changed other moving averages, or indicators. It could even be implemented to show the actual amount next to candle on chart, using the same concept as ticks to go. Anyway. enjoy. I'm sure that there must be already something like this out there . I didn't bother looking because it was easy enough to write it. I also have it scaled for 4 decimals. DISTANCETOMA.ELD