French CAC 40 Index is in up trend. It is trading above all the three simple moving averages say 20 day, 50 day and 100 day, same is true for 200 day moving average. The RSI is heading towards the overbought zone say above 70 level. The slow Stochastics has entered the overbought zone say above the 80 level. MACD is all ready above the zero line. All this shows that the bulls are dominant and the up trend will remain intact though some correction may take place.
This blog shares technical, views and data about different Currencies, Gold, Silver, Oil and Indexes.
Currency Rates
Ad Sense
26 January 2011
25 January 2011
Shanghai Stock Exchange Composite Index
The Shanghai Stock Exchange Composite Index has fallen in down trend. It is trading blow all the simple moving averages say 50 day, 100 day and 200 day, The down trend is confirmed by making lower lows and lower highs. The RSI is making lower lows and is below the 50 level. MACD has crossed the signal line and trading blow the zero line.Slow Stochastics is also making lower highs and is in oversold region. The bulls have lost fight in the hands of bears. The next support level is at 2564.
22 January 2011
Tokyo Nikkei Average Index
via StockCharts.com
The Nikkei is correcting. It has been in up trend since September 2010. Recently the RSI has touched the 70 level and started to fall down and currently at 45.27. MACD has crossed the signal line below. Slow stochastic has dropped from the over bought region and is below 50 level. All are the bearish signs. The correction can be deeper. If Nikkei breaks below the support provided by the 50 day simple moving average at 10204.81 then the next support will be at 9896.79 by 200 day simple moving average. The overall structure of Nikkei is positive and there is no reason of worry until it breaks through the support provided by 200 day simple moving average.
The Nikkei is correcting. It has been in up trend since September 2010. Recently the RSI has touched the 70 level and started to fall down and currently at 45.27. MACD has crossed the signal line below. Slow stochastic has dropped from the over bought region and is below 50 level. All are the bearish signs. The correction can be deeper. If Nikkei breaks below the support provided by the 50 day simple moving average at 10204.81 then the next support will be at 9896.79 by 200 day simple moving average. The overall structure of Nikkei is positive and there is no reason of worry until it breaks through the support provided by 200 day simple moving average.
Labels:
correction,
MACD,
moving average,
Nikkei,
resistance,
RSI,
support
21 January 2011
Review On Nasdaq Composite Index
Nasdaq Composite Weekly Chart
I n the weekly chart, the Nasdaq composite is trading in strong up trend. The RSI(14) is returning from the overbought region; the 70 level and now is at 68.20, the slow stochastics is also in the overbought region. The MACD histogram is also sloping down. Volumes are decreasing. All this show some correction is possible.
Nasdaq Composite Daily Chart
The above observation ,”A small correction is possible” is confirmed by the daily chart of Nasdaq Composite. The RSI(14) has dipped below the 70 level and is at 55.94 level and the MACD has crossed below signal line. The slow Stochastic has also dipped blow the 80 level, the overbought level. All this conclude that correction has started. The price has broken the support given by the 20 day simple moving average in intra day basis. The next support is at 2621.32 by 50 day simple moving average.
Labels:
MACD,
nasdaq composite,
resistance,
RSI,
simple moving average,
support
20 January 2011
Gold Forming Triple Top Chart Pattern
The Gold is forming Triple top chart pattern from 9 Nov 2010 to 3 Jan 2011. This is bearish chart pattern. The Gold is trading at 1369.68 on closing basis, there is strong resistance at the level of 1395.04 posed by the 20 and 50 day simple moving averages. The support is at 1346.76 by the 100 day simple moving average.
The RSI(14) is forming descending high or in down trend, trading below 50 level, which is bearish sign. The same is true for MACD. MACD has crossed blow signal line and is trading below zero level.
All this confirms that there is still weakness left in gold.
Advanced Trend Lines with S & R
This AFL draws support and resistance lines with trend lines. Just save it in your custom folder of Amibroker and drag and drop in blank pane.
_SECTION_BEGIN("Advanced Trend Lines");
function GetXSupport(Lo, Percentage, Back)
{
return ((BarCount - 1) - LastValue(TroughBars(Lo, Percentage,Back)));
}
function GetYSupport(Lo, Percentage, Back)
{
return (LastValue(Trough(Lo, Percentage, back)));
}
function GetXResistance(Hi, Percentage, Back)
{
return ((BarCount - 1) -LastValue(PeakBars(Hi, Percentage, Back)));
}
function GetYResistance(Hi, Percentage, Back)
{
return (LastValue(Peak(Hi, Percentage, Back)));
}
function TD_Supply(P)
{
return ( P > Ref(P, 1) AND P > Ref(P, -1) AND P > Ref(C, -2));
}
function TD_Demand(P)
{
return ( P < Ref(P, 1) AND P < Ref(P, -1) AND P < Ref(C, -2));
}
////////////////////////////////////////////////////////////////////////
//Parameters
Percentage = Param("Percentage", 1.5, 0.01, 100. ,0.01);
DrawAllLines = ParamToggle("Draw All Lines?", "No|Yes");
Lines = Param("Lines?", 1, 1, BarCount-2);
DrawR = ParamList("Resistance Points", "Off|High to High|High to Low", 1);
DrawS = ParamList("Support Points", "Off|Low to Low|Low to High", 1);
ShowTDP = ParamToggle("Show TD Pionts", "No|Yes", 1);
AllOrDownR = ParamToggle("Resistance Direction", "All|Down");
AllOrUpS = ParamToggle("Support Direction", "All|Up");
ShowSR = ParamToggle("Show Vert S/R","No|Yes", 1);
SRPer = Param("S/R Percentage", 3, 1);
SRBack = Param("S/R Back", 5, 1);
str = "";
Res = Sup = 0;
Con = 1;
////////////////////////////////////////////////////////////////////////
Main = C;
Con = ConS = ConR = 1;
if(DrawS=="Low to Low")
{
Support1 = L;
Support2 = L;
}
else
{
Support1 = L;
Support2 = H;
}
if(DrawR=="High to High")
{
Resistance1 = H;
Resistance2 = H;
}
else
{
Resistance1 = H;
Resistance2 = L;
}
////////////////////////////////////////////////////////////////////////
//Plotting Area
Plot(Main, "", IIf(C>O,colorGreen, colorRed), styleCandle);
if(DrawAllLines)
for(i = 2; i<=Lines+1; i++)
{
if(DrawS!="Off")
{
x0 = GetXSupport(Support1, Percentage, i);
x1 = GetXSupport(Support2, Percentage, i-1);
y0 = GetYSupport(Support1, Percentage, i);
y1 = GetYSupport(Support2, Percentage, i-1);
x = LineArray(x0, y0, x1, y1, 1);
if(AllOrUpS) ConS = StrToNum(NumToStr(y0 < y1));
if(Con AND ConS)
Plot(x, "", IIf(LastValue(C) < LastValue(x), colorBlue,colorLightBlue),
styleLine|styleThick);
}
if(DrawR!="Off")
{
x0 = GetXResistance(Resistance1, Percentage, i);
x1 = GetXResistance(Resistance2, Percentage, i-1);
y0 = GetYResistance(Resistance1, Percentage, i);
y1 = GetYResistance(Resistance2, Percentage, i-1);
x = LineArray(x0, y0, x1, y1, 1);
if(AllOrDownR) ConR = y0 > y1;
if(Con AND ConR)
Plot(x, "", IIf(LastValue(C) < LastValue(x), colorBlue,colorLightBlue),
styleLine|styleThick);
}
}
else
{
if(DrawS!="Off")
{
x0 = GetXSupport(Support1, Percentage, Lines+1);
x1 = GetXSupport(Support2, Percentage, Lines);
y0 = GetYSupport(Support1, Percentage, Lines+1);
y1 = GetYSupport(Support2, Percentage, Lines);
x = LineArray(x0, y0, x1, y1, 1 );
Sup = LastValue(LinRegSlope(x, Lines+1));
if(AllOrUpS) ConS = y0 < y1;
if(Con AND ConS)
Plot(x, "", IIf(LastValue(C) < LastValue(x), colorBlue,colorLightBlue),
styleLine|styleThick);
}
if(DrawR!="Off")
{
x0 = GetXResistance(Resistance1, Percentage, Lines+1);
x1 = GetXResistance(Resistance2, Percentage, Lines);
y0 = GetYResistance(Resistance1, Percentage, Lines+1);
y1 = GetYResistance(Resistance2, Percentage, Lines);
x = LineArray(x0, y0, x1, y1, 1 );
Res = LastValue(LinRegSlope(x, Lines+1));
if(AllOrDownR) ConR = y0 > y1;
if(Con AND ConR)
Plot(x, "", IIf(LastValue(C) < LastValue(x), colorBlue,colorLightBlue),
styleLine|styleThick);
}
str = "\nR Slope=("+Res+"), S Slope=("+Sup+")";
}
if(ShowTDP)
{
PlotShapes(TD_Supply(H)*shapeSmallCircle, colorRed, 0, H, H*.001);
PlotShapes(TD_Demand(L)*shapeSmallCircle, colorGreen, 0, L, -L*.001);
}
if(ShowSR)
{
for(i=1; i<=SRBack; i++)
{
x0 = GetXSupport(L, SRPer, i);
x1 = BarCount-1;
y0 = GetYSupport(L, SRPer, i);
x = LineArray(x0, y0, x1, y0, 0);
Plot(x, "", IIf(LastValue(C) > x, colorDarkGreen, colorDarkRed),
styleLine|styleDashed|styleThick);
x0 = GetXResistance(H, SRPer, i);
y0 = GetYResistance(H, SRPer, i);
x = LineArray(x0, y0, x1, y0, 0);
Plot(x, "", IIf(LastValue(C) > x, colorDarkGreen, colorDarkRed),
styleLine|styleDashed|styleThick);
}
}
Title =FullName()+" ({{NAME}})\n{{DATE}}\n"+"Open: "+O+", Hi: "+H+", Lo: "+L+",
Close: "+C+StrFormat(" (%.2f %.2f\%)", C-Ref(C, -1), SelectedValue(ROC(C,
1)))+str;
_SECTION_END();
_SECTION_BEGIN("Advanced Trend Lines");
function GetXSupport(Lo, Percentage, Back)
{
return ((BarCount - 1) - LastValue(TroughBars(Lo, Percentage,Back)));
}
function GetYSupport(Lo, Percentage, Back)
{
return (LastValue(Trough(Lo, Percentage, back)));
}
function GetXResistance(Hi, Percentage, Back)
{
return ((BarCount - 1) -LastValue(PeakBars(Hi, Percentage, Back)));
}
function GetYResistance(Hi, Percentage, Back)
{
return (LastValue(Peak(Hi, Percentage, Back)));
}
function TD_Supply(P)
{
return ( P > Ref(P, 1) AND P > Ref(P, -1) AND P > Ref(C, -2));
}
function TD_Demand(P)
{
return ( P < Ref(P, 1) AND P < Ref(P, -1) AND P < Ref(C, -2));
}
////////////////////////////////////////////////////////////////////////
//Parameters
Percentage = Param("Percentage", 1.5, 0.01, 100. ,0.01);
DrawAllLines = ParamToggle("Draw All Lines?", "No|Yes");
Lines = Param("Lines?", 1, 1, BarCount-2);
DrawR = ParamList("Resistance Points", "Off|High to High|High to Low", 1);
DrawS = ParamList("Support Points", "Off|Low to Low|Low to High", 1);
ShowTDP = ParamToggle("Show TD Pionts", "No|Yes", 1);
AllOrDownR = ParamToggle("Resistance Direction", "All|Down");
AllOrUpS = ParamToggle("Support Direction", "All|Up");
ShowSR = ParamToggle("Show Vert S/R","No|Yes", 1);
SRPer = Param("S/R Percentage", 3, 1);
SRBack = Param("S/R Back", 5, 1);
str = "";
Res = Sup = 0;
Con = 1;
////////////////////////////////////////////////////////////////////////
Main = C;
Con = ConS = ConR = 1;
if(DrawS=="Low to Low")
{
Support1 = L;
Support2 = L;
}
else
{
Support1 = L;
Support2 = H;
}
if(DrawR=="High to High")
{
Resistance1 = H;
Resistance2 = H;
}
else
{
Resistance1 = H;
Resistance2 = L;
}
////////////////////////////////////////////////////////////////////////
//Plotting Area
Plot(Main, "", IIf(C>O,colorGreen, colorRed), styleCandle);
if(DrawAllLines)
for(i = 2; i<=Lines+1; i++)
{
if(DrawS!="Off")
{
x0 = GetXSupport(Support1, Percentage, i);
x1 = GetXSupport(Support2, Percentage, i-1);
y0 = GetYSupport(Support1, Percentage, i);
y1 = GetYSupport(Support2, Percentage, i-1);
x = LineArray(x0, y0, x1, y1, 1);
if(AllOrUpS) ConS = StrToNum(NumToStr(y0 < y1));
if(Con AND ConS)
Plot(x, "", IIf(LastValue(C) < LastValue(x), colorBlue,colorLightBlue),
styleLine|styleThick);
}
if(DrawR!="Off")
{
x0 = GetXResistance(Resistance1, Percentage, i);
x1 = GetXResistance(Resistance2, Percentage, i-1);
y0 = GetYResistance(Resistance1, Percentage, i);
y1 = GetYResistance(Resistance2, Percentage, i-1);
x = LineArray(x0, y0, x1, y1, 1);
if(AllOrDownR) ConR = y0 > y1;
if(Con AND ConR)
Plot(x, "", IIf(LastValue(C) < LastValue(x), colorBlue,colorLightBlue),
styleLine|styleThick);
}
}
else
{
if(DrawS!="Off")
{
x0 = GetXSupport(Support1, Percentage, Lines+1);
x1 = GetXSupport(Support2, Percentage, Lines);
y0 = GetYSupport(Support1, Percentage, Lines+1);
y1 = GetYSupport(Support2, Percentage, Lines);
x = LineArray(x0, y0, x1, y1, 1 );
Sup = LastValue(LinRegSlope(x, Lines+1));
if(AllOrUpS) ConS = y0 < y1;
if(Con AND ConS)
Plot(x, "", IIf(LastValue(C) < LastValue(x), colorBlue,colorLightBlue),
styleLine|styleThick);
}
if(DrawR!="Off")
{
x0 = GetXResistance(Resistance1, Percentage, Lines+1);
x1 = GetXResistance(Resistance2, Percentage, Lines);
y0 = GetYResistance(Resistance1, Percentage, Lines+1);
y1 = GetYResistance(Resistance2, Percentage, Lines);
x = LineArray(x0, y0, x1, y1, 1 );
Res = LastValue(LinRegSlope(x, Lines+1));
if(AllOrDownR) ConR = y0 > y1;
if(Con AND ConR)
Plot(x, "", IIf(LastValue(C) < LastValue(x), colorBlue,colorLightBlue),
styleLine|styleThick);
}
str = "\nR Slope=("+Res+"), S Slope=("+Sup+")";
}
if(ShowTDP)
{
PlotShapes(TD_Supply(H)*shapeSmallCircle, colorRed, 0, H, H*.001);
PlotShapes(TD_Demand(L)*shapeSmallCircle, colorGreen, 0, L, -L*.001);
}
if(ShowSR)
{
for(i=1; i<=SRBack; i++)
{
x0 = GetXSupport(L, SRPer, i);
x1 = BarCount-1;
y0 = GetYSupport(L, SRPer, i);
x = LineArray(x0, y0, x1, y0, 0);
Plot(x, "", IIf(LastValue(C) > x, colorDarkGreen, colorDarkRed),
styleLine|styleDashed|styleThick);
x0 = GetXResistance(H, SRPer, i);
y0 = GetYResistance(H, SRPer, i);
x = LineArray(x0, y0, x1, y0, 0);
Plot(x, "", IIf(LastValue(C) > x, colorDarkGreen, colorDarkRed),
styleLine|styleDashed|styleThick);
}
}
Title =FullName()+" ({{NAME}})\n{{DATE}}\n"+"Open: "+O+", Hi: "+H+", Lo: "+L+",
Close: "+C+StrFormat(" (%.2f %.2f\%)", C-Ref(C, -1), SelectedValue(ROC(C,
1)))+str;
_SECTION_END();
Labels:
afl,
Amibroker,
resistance,
support,
trend lines
14 January 2011
Murrey Math Price Lines
Click to enlarge image.
Use it as an indicator on price chart in Amibroker. The line will show reversal points on the chart.
_SECTION_BEGIN("Murrey Math Price Lines");
/*
// $Archive: /AFL.root/AFL/YofaTrader/Custom/Murrey Math Price
Lines.afl.cs $
// $Date: 08.03.29 22:57 $
// $Modtime: 08.03.29 22:52 $
// $Revision: 15 $
// $Workfile: Murrey Math Price Lines.afl.cs $
*/
ParamShowLevel=ParamList("Show harmonic levels", "1/8|1/4|1/2", 1 );
ParamShowLabel=ParamStyle("Show harmonic labels", styleNoLabel, styleNoLabel);
if(Status("action") ==1) //indicator
{
LastVisibleIndex = LastValue(Status("lastvisiblebarindex"));
if (LastVisibleIndex > BarCount -1) //to avoid errors is case of cursor is behind the last bar
LastVisibleIndex = BarCount-1;
TotalVisibleBars = LastVisibleIndex -
LastValue(Status("firstvisiblebarindex")) + 1;
}
else
{
LastVisibleIndex = BarCount -1;
TotalVisibleBars = BarCount;
}
HHScreen = HHV(High, TotalVisibleBars);
LLScreen = LLV(Low, TotalVisibleBars);
PRScreen = HHScreen[LastVisibleIndex] - LLScreen[LastVisibleIndex]; //Price range
PriceRangeVisible = PRScreen * 1.1;
MiddleVisible = (HHScreen[LastVisibleIndex] + LLScreen[LastVisibleIndex]) /2;
HighestVisible= MiddleVisible + PriceRangeVisible / 2;
LowestVisible = MiddleVisible - PriceRangeVisible / 2;
SquareBase = 0.1953125;
if (HighestVisible > 0.390625)
{ SquareBase = 1.5625; }
if (HighestVisible > 1.5625)
{ SquareBase = 3.125; }
if (HighestVisible > 3.125)
{ SquareBase = 6.25; }
if (HighestVisible > 6.25)
{ SquareBase = 12.5; }
if (HighestVisible > 25)
{ SquareBase = 100; }
if (HighestVisible > 250)
{ SquareBase = 1000; }
if (HighestVisible > 2500)
{ SquareBase = 10000; }
if (HighestVisible > 25000)
{ SquareBase = 100000; }
ShowLevel = 1;
PriceStep = SquareBase / 8;
while ( PriceRangeVisible / 4 <= PriceStep AND ShowLevel < 4)
{
PriceStep = PriceStep / 8;
ShowLevel++;
}
//Lowest,highest harmonic value to show on the panel
LowerValue = floor(LowestVisible / PriceStep) * PriceStep;
HigherValue = ceil(HighestVisible / PriceStep) * PriceStep;
Octave1PriceStep = SquareBase / 8;
Octave2PriceStep = SquareBase / 64 ;
Octave3PriceStep = SquareBase / 512;
Harmonic = LowerValue;
//iterate from low to high values
while( Harmonic <= HigherValue )
{
style = styleDashed; // 1/8, 3/8, 5/8, 7/8 lines of any level
color = colorGreen; //1/8, 7/8
if ((Harmonic / PriceStep) % 8 == 1 OR (Harmonic / PriceStep) % 8 == 7)
color = colorYellow; // 3/8, 5/8
if (ParamShowLevel != "1/8")
style = styleNoLine;
if ((Harmonic / PriceStep) % 2 == 0) // 1/4, 3/4 lines of any level
{
style = styleDashed;
color = colorPink;
if (ParamShowLevel == "1/2")
style = styleNoLine;
}
if ((Harmonic / PriceStep) % 4 == 0) // 1/2 line of any level
{
style = styleDashed;
color = colorBlue;
}
if ((Harmonic / PriceStep) % 8 == 0) // 1/1 line of Baby level
{
color = colorBlue;
style = styleLine;
if ((Harmonic / Octave3PriceStep) % 64 == 0) // 1/1 line of Minor level
{
style = styleThick; // 1/1 /Level Minor
}
}
if (style != styleNoLine) //if there is a line to plot... (avoid printing unused labels)
{
style = style + ParamShowLabel;
Plot( Harmonic, "", color, style);
}
Harmonic = Harmonic + PriceStep;
}
_SECTION_END();
Subscribe to:
Posts (Atom)




