Sei sulla pagina 1di 7

///////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////
//****** MACD 5MIN,15MIN,30MIN,HOURLY,4HOURLY,DAILY, WEEKLY, MONTHLY & QUARTERLY
***************************************************
///////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
_SECTION_BEGIN("5Min");
TimeFrameSet(in5Minutes);
MACD_d=MACD(12, 26);
Signal_d=Signal(12, 26, 9);
Ind_day = WriteIf(Cross(MACD_d, Signal_d),"1.C.OverUp", WriteIf(Cross(Signal_d,
MACD_d),"3.C.OverDown", WriteIf(MACD_d >= Signal_d,"2.Up", WriteIf(Signal_d >
MACD_d,"4.Down","5.Neutral"))));
Ind_day_cColor = IIf(Cross(MACD_d, Signal_d), colorBrightGreen, IIf(Cross(Signal_d,
MACD_d), colorRed,IIf(MACD_d >= Signal_d, colorGreen, IIf(Signal_d > MACD_d,
colorDarkRed,colorDefault))));
AddTextColumn(Ind_day,"5Min ", 1, colorDefault, Ind_day_cColor);
TimeFrameRestore();
_SECTION_END();
_SECTION_BEGIN("15Min");
TimeFrameSet(in15Minutes);
MACD_d=MACD(12, 26);
Signal_d=Signal(12, 26, 9);
Ind_day = WriteIf(Cross(MACD_d, Signal_d),"1.C.OverUp", WriteIf(Cross(Signal_d,
MACD_d),"3.C.OverDown", WriteIf(MACD_d >= Signal_d,"2.Up", WriteIf(Signal_d >
MACD_d,"4.Down","5.Neutral"))));
Ind_day_cColor = IIf(Cross(MACD_d, Signal_d), colorBrightGreen, IIf(Cross(Signal_d,
MACD_d), colorRed,IIf(MACD_d >= Signal_d, colorGreen, IIf(Signal_d > MACD_d,
colorDarkRed,colorDefault))));
AddTextColumn(Ind_day,"15Min ", 1, colorDefault, Ind_day_cColor);
TimeFrameRestore();
_SECTION_END();
_SECTION_BEGIN("30Min");
TimeFrameSet(in15Minutes*2);
MACD_d=MACD(12, 26);
Signal_d=Signal(12, 26, 9);
Ind_day = WriteIf(Cross(MACD_d, Signal_d),"1.C.OverUp", WriteIf(Cross(Signal_d,
MACD_d),"3.C.OverDown", WriteIf(MACD_d >= Signal_d,"2.Up", WriteIf(Signal_d >
MACD_d,"4.Down","5.Neutral"))));
Ind_day_cColor = IIf(Cross(MACD_d, Signal_d), colorBrightGreen, IIf(Cross(Signal_d,
MACD_d), colorRed,IIf(MACD_d >= Signal_d, colorGreen, IIf(Signal_d > MACD_d,
colorDarkRed,colorDefault))));
AddTextColumn(Ind_day,"30Min ", 1, colorDefault, Ind_day_cColor);
TimeFrameRestore();
_SECTION_END();
_SECTION_BEGIN("Hourly");
TimeFrameSet(inHourly);
MACD_d=MACD(12, 26);
Signal_d=Signal(12, 26, 9);
Ind_day = WriteIf(Cross(MACD_d, Signal_d),"1.C.OverUp", WriteIf(Cross(Signal_d,
MACD_d),"3.C.OverDown", WriteIf(MACD_d >= Signal_d,"2.Up", WriteIf(Signal_d >
MACD_d,"4.Down","5.Neutral"))));
Ind_day_cColor = IIf(Cross(MACD_d, Signal_d), colorBrightGreen, IIf(Cross(Signal_d,
MACD_d), colorRed,IIf(MACD_d >= Signal_d, colorGreen, IIf(Signal_d > MACD_d,
colorDarkRed,colorDefault))));
AddTextColumn(Ind_day,"Hourly ", 1, colorDefault, Ind_day_cColor);
TimeFrameRestore();
_SECTION_END();
_SECTION_BEGIN("4Hourly");
TimeFrameSet(inHourly*4);
MACD_d=MACD(12, 26);
Signal_d=Signal(12, 26, 9);
Ind_day = WriteIf(Cross(MACD_d, Signal_d),"1.C.OverUp", WriteIf(Cross(Signal_d,
MACD_d),"3.C.OverDown", WriteIf(MACD_d >= Signal_d,"2.Up", WriteIf(Signal_d >
MACD_d,"4.Down","5.Neutral"))));
Ind_day_cColor = IIf(Cross(MACD_d, Signal_d), colorBrightGreen, IIf(Cross(Signal_d,
MACD_d), colorRed,IIf(MACD_d >= Signal_d, colorGreen, IIf(Signal_d > MACD_d,
colorDarkRed,colorDefault))));
AddTextColumn(Ind_day,"4Hrs ", 1, colorDefault, Ind_day_cColor);
TimeFrameRestore();
_SECTION_END();
_SECTION_BEGIN("Daily");
TimeFrameSet(inDaily);
MACD_d=MACD(12, 26);
Signal_d=Signal(12, 26, 9);
Ind_day = WriteIf(Cross(MACD_d, Signal_d),"1.C.OverUp", WriteIf(Cross(Signal_d,
MACD_d),"3.C.OverDown", WriteIf(MACD_d >= Signal_d,"2.Up", WriteIf(Signal_d >
MACD_d,"4.Down","5.Neutral"))));
Ind_day_cColor = IIf(Cross(MACD_d, Signal_d), colorBrightGreen, IIf(Cross(Signal_d,
MACD_d), colorRed,IIf(MACD_d >= Signal_d, colorGreen, IIf(Signal_d > MACD_d,
colorDarkRed,colorDefault))));
AddTextColumn(Ind_day,"Day ", 1, colorDefault, Ind_day_cColor);
TimeFrameRestore();
_SECTION_END();

_SECTION_BEGIN("Weekly");
TimeFrameSet(inWeekly);
MACD_w=MACD(12, 26);
Signal_w=Signal(12, 26, 9);
Ind_week = WriteIf(Cross(MACD_w, Signal_w),"1.C.OverUp", WriteIf(Cross(Signal_w,
MACD_w),"3.C.OverDown", WriteIf(MACD_w >= Signal_w,"2.Up", WriteIf(Signal_w >
MACD_w,"4.Down","5.Neutral"))));
Ind_week_cColor = IIf(Cross(MACD_w, Signal_w), colorBrightGreen,
IIf(Cross(Signal_w, MACD_w), colorRed,IIf(MACD_w >= Signal_w, colorGreen,
IIf(Signal_w > MACD_w, colorDarkRed,colorDefault))));
AddTextColumn(Ind_week,"Week ", 1, colorDefault, Ind_week_cColor);
TimeFrameRestore();
_SECTION_END();

_SECTION_BEGIN("Monthly");
TimeFrameSet(inmonthly);
MACD_m=MACD(12, 26);
Signal_m=Signal(12, 26, 9);
Ind_month = WriteIf(Cross(MACD_m, Signal_m),"1.C.OverUp", WriteIf(Cross(Signal_m,
MACD_m),"3.C.OverDown", WriteIf(MACD_m >= Signal_m,"2.Up", WriteIf(Signal_m >
MACD_m,"4.Down","5.Neutral"))));
Ind_month_cColor = IIf(Cross(MACD_m, Signal_m), colorBrightGreen,
IIf(Cross(Signal_m, MACD_m), colorRed,IIf(MACD_m >= Signal_m, colorGreen,
IIf(Signal_m > MACD_m, colorDarkRed,colorDefault))));
AddTextColumn(Ind_month,"Month ", 1, colorDefault, Ind_month_cColor);
TimeFrameRestore();
_SECTION_END();

_SECTION_BEGIN("Quarterly");
TimeFrameSet(inquarterly);
MACD_q=MACD(12, 26);
Signal_q=Signal(12, 26, 9);
Ind_quarter = WriteIf(Cross(MACD_q, Signal_q),"1.C.OverUp", WriteIf(Cross(Signal_q,
MACD_q),"3.C.OverDown", WriteIf(MACD_q >= Signal_q,"2.Up", WriteIf(Signal_q >
MACD_q,"4.Down","5.Neutral"))));
Ind_quarter_cColor = IIf(Cross(MACD_q, Signal_q), colorBrightGreen,
IIf(Cross(Signal_q, MACD_q), colorRed,IIf(MACD_q >= Signal_q, colorGreen,
IIf(Signal_q > MACD_q, colorDarkRed,colorDefault))));
AddTextColumn(Ind_quarter,"Quarterly ", 1, colorDefault, Ind_quarter_cColor);
TimeFrameRestore();
_SECTION_END();

macdtot=
IIf(MACD_d>=Signal_d, 1, 0)+
IIf(MACD_w>=Signal_w, 10, 0)+
IIf(MACD_m>=Signal_m, 100, 0)+
IIf(MACD_q>=Signal_q, 1000, 0);
AddColumn (macdtot, "MACDTotal", 1, colorDefault, colorDefault);

macdcont=
IIf(MACD_d>=Signal_d, 1, 0)+
IIf(MACD_w>=Signal_w, 1, 0)+
IIf(MACD_m>=Signal_m, 1, 0)+
IIf(MACD_q>=Signal_q, 1, 0);

AddColumn (macdcont, "MACDCount", 1, colorDefault, colorDefault);

Filter = 1;

----------------------------------------------------------------------------------

_SECTION_BEGIN(“5Minute”);
TimeFrameSet(in5Minute);
********
TimeFrameRestore();
_SECTION_END();

_SECTION_BEGIN(“15Minute”);
TimeFrameSet(in15Minute);
********
TimeFrameRestore();
_SECTION_END();

_SECTION_BEGIN(“Hourly”);
TimeFrameSet(inHourly);
********
TimeFrameRestore();
_SECTION_END();
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++

// Downloaded From www.WiseStockTrader.com


_SECTION_BEGIN("MTF MACD");

PlotOHLC(O,H,L,C,"",31,64);

Fast=Param("MA1",12);
Slow=Param("MA2",26);
sig=Param("MA3",9);

TimeFrameSet( in5Minute);
m5= MACD(Fast,Slow);
ms5=Signal(Fast,Slow,sig);
TimeFrameRestore();
cm5=TimeFrameExpand(m5,in5Minute,expandFirst);
cms5=TimeFrameExpand(ms5,in5Minute,expandFirst);
Co5=IIf(Cm5>Cms5,colorLime,colorOrange);

TimeFrameSet( in15Minute);
m15= MACD(Fast,Slow);
ms15=Signal(Fast,Slow,sig);
TimeFrameRestore();
cm15=TimeFrameExpand(m15,in15Minute,expandFirst);
cms15=TimeFrameExpand(ms15,in15Minute,expandFirst);
Co15=IIf(Cm15>Cms15,colorGreen,colorRed);

TimeFrameSet( in15Minute*2);
m30= MACD(Fast,Slow);
ms30=Signal(Fast,Slow,sig);
TimeFrameRestore();
cm30=TimeFrameExpand(m30,in15Minute*2,expandFirst);
cms30=TimeFrameExpand(ms30,in15Minute*2,expandFirst);
Co30=IIf(Cm30>Cms30,colorSkyblue,colorGrey40);

TimeFrameSet(inHourly);
m60= MACD(Fast,Slow);
ms60=Signal(Fast,Slow,sig);
TimeFrameRestore();
cm60=TimeFrameExpand(m60,inHourly,expandFirst);
cms60=TimeFrameExpand(ms60,inHourly,expandFirst);
Co60=IIf(Cm60>Cms60,colorAqua,colorCustom12);
ups=(Cm5>Cms5 OR Cm15>Cms15 OR Cm30>Cms30 OR Cm60>Cms60);
tot=(Cm5>Cms5 AND Cm15>Cms15 AND Cm30>Cms30 AND Cm60>Cms60);
dns= NOT ups ;
Filter=ups OR dns OR tot;
AddColumn(ups,"Macd up:",1);
AddColumn(dns,"Macd dn:",1);
AddColumn(tot,"Macd up in all TF:",1);
Comm2=
EncodeColor(colorLightYellow)+(""+in5Minute/60+"m:")+
WriteIf(Cm5>Cms5,EncodeColor(colorLime)+"
UP",WriteIf(Cm5<Cms5,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+" ~~"))+
EncodeColor(colorLightYellow)+(" "+in15Minute/60+"m:")+
WriteIf(Cm15>Cms15,EncodeColor(colorLime)+"
UP",WriteIf(Cm15<Cms15,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+"
~~"))+
EncodeColor(colorLightYellow)+(" "+2*in15Minute/60+"m:")+
WriteIf(Cm30>Cms30,EncodeColor(colorLime)+"
UP",WriteIf(Cm30<Cms30,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+"
~~"))+
EncodeColor(colorLightYellow)+(" "+4*in15Minute/60+"m:")+
WriteIf(Cm60>Cms60,EncodeColor(colorLime)+"
UP",WriteIf(Cm60<Cms60,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+"
~~"));
Title = EncodeColor(colorWhite)+ "MTF MACD" + " - " + Name() + " - " +
EncodeColor(colorAqua)+ Interval(2) + EncodeColor(colorWhite) +
" , "+ Date()+ "\n" +EncodeColor(colorYellow) +"Op-"+O+" "+"Hi-"+H+" "+"Lo-"+L+"
"+
"Cl-"+C+" "+ "Vol= "+ WriteVal(V)+ "\n" +Comm2;

RibbonThickness = Param("Ribbon Thickness", 3, 1, 7, 0.5);


Font = ParamList("Font:","Arial|Calibri|Futura|Tahoma|Times New
Roman",2);

function GfxConvertBarToPixelX(Bar)
{
lvb = Status("lastvisiblebar"); fvb = Status("firstvisiblebar");
pxchartleft = Status("pxchartleft"); pxchartwidth = Status("pxchartwidth");
return pxchartleft + Bar * pxchartwidth / (Lvb - fvb + 1);
}

procedure MultiRibbon(RibbonColor, Position, Label)


{
LineColor = colorBlack;
Position = RibbonThickness * Position;
x2 = Status("pxchartright");
y2 = Status("pxchartbottom");

RibbonColor =IIf(GfxConvertBarToPixelX(BarIndex()-Status("firstvisiblebarindex"))
> y2/1.5 *
(RibbonThickness/100) * 10 , RibbonColor, colorYellow);

Plot(0, "", LineColor, styleOwnScale | styleNoLabel, 0, 100);


Plot(Position, "", LineColor, styleOwnScale | styleNoLabel, 0, 100);
Plot(Position, "", RibbonColor, styleArea | styleOwnScale | styleNoLabel, 0,100);

GfxSetTextColor(colorWhite);
GfxSelectFont(Font, y2/1 * (RibbonThickness/180), 200);
GfxDrawText(Label, 8, y2 * 1.006 -(y2 * Position/100) , y2/1.6*
(RibbonThickness/100) * 10 , y2, 2 + 32 + 256);

MultiRibbon(co5,1, " MACD ("+in5Minute/60 +"-Min) ");


MultiRibbon(co15, 2, "MACD ("+in15Minute/60+"-Min)");
MultiRibbon(co30, 3, "MACD ("+in15Minute*2/60+"-Min)");
MultiRibbon(co60, 4, "MACD ("+in15Minute*4/60+"-Min)");
_SECTION_END();
///////////////////////////////////////////////////////////////////////////////////
//
// Downloaded From www.WiseStockTrader.com
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
/
/////////////////////******************************* Distinct-MACD
******************************************************************************/////
////////////////
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
/

TimeFrameSet( inWeekly );
_SECTION_BEGIN("Distinct MACD");

r11 = 12;
r22 = 26;
r33 = 9;

r1 = Optimize( "Fast avg", r11, 2, 200, 1 );


r2 = Optimize( "Slow avg", r22 , 2, 200, 1 );
r3 = Optimize( "Signal avg", r33 , 2, 200, 1 );

ml = MACD(r1, r2);
sl = Signal(r1,r2,r3);
hl =ml-sl;

Plot( ml = MACD(r1, r2), StrFormat(_SECTION_NAME()+"(%g,%g)", r1, r2),


ParamColor("MACD color", colorRed ), ParamStyle("MACD style"));
Plot( sl = Signal(r1,r2,r3), "Signal" + _PARAM_VALUES(), ParamColor("Signal color",
colorBlue ), ParamStyle("Signal style") );
Plot( ml-sl, "MACD Histogram", IIf( ml - sl > 0, colorBlue, colorRed ),
styleNoTitle | ParamStyle("Histogram style", styleHistogram | styleNoLabel,
maskHistogram ) );

Catagory_A =
(ml <=0
AND sl <=0
AND hl <=0
AND ml >= Ref(ml, -1)
AND hl >= Ref(hl, -1)
AND ml < sl);

Catagory_B =
(ml <=0
AND sl <=0
AND hl > 0
AND ml >= Ref(ml, -1)
AND sl >= Ref(sl, -1)
AND hl >= Ref(hl, -1)
AND ml >= sl);

Catagory_C =
(ml > 0
AND sl > 0
AND hl > 0
AND ml >= Ref(ml, -1)
AND sl >= Ref(sl, -1)
AND hl >= Ref(hl, -1)
AND ml >= sl);

Catagory_D =
(ml > 0
AND sl > 0
AND hl > 0
AND ml >= Ref(ml, -1)
AND hl < Ref(hl, -1)
AND ml >= sl);

Catagory_E =
(ml > 0
AND sl > 0
AND hl > 0
AND ml < Ref(ml, -1)
AND hl < Ref(hl, -1)
AND ml >= sl);

Catagory_F =
(ml > 0
AND sl > 0
AND hl <= 0
AND ml < Ref(ml, -1)
AND sl < Ref(sl, -1)
AND hl < Ref(hl, -1)
AND ml < sl);

Catagory_G =
(ml <= 0
AND sl <= 0
AND hl <= 0
AND ml < Ref(ml, -1)
AND sl < Ref(sl, -1)
AND hl < Ref(hl, -1)
AND ml < sl);

Catagory_H =
(ml <= 0
AND sl <= 0
AND hl <= 0
AND ml < Ref(ml, -1)
AND hl >= Ref(hl, -1)
AND ml < sl);

Filter =1;

AddTextColumn(WriteIf(Catagory_A >0,"1",""), "Catagory_A", 70, colorDefault,


IIf(Catagory_A >0,colorOrange, colorDefault));
AddTextColumn(WriteIf(Catagory_B >0,"2",""), "Catagory_B", 70, colorDefault,
IIf(Catagory_B >0,colorBrightgreen, colorDefault));
AddTextColumn(WriteIf(Catagory_C >0,"3",""), "Catagory_C", 70, colorDefault,
IIf(Catagory_C >0,colorgreen, colorDefault));
AddTextColumn(WriteIf(Catagory_D >0,"4",""), "Catagory_D", 70, colorDefault,
IIf(Catagory_D >0,colorDarkgreen, colorDefault));
AddTextColumn(WriteIf(Catagory_E >0,"5",""), "Catagory_E", 70, colorDefault,
IIf(Catagory_E >0,colorBlue, colorDefault));
AddTextColumn(WriteIf(Catagory_F >0,"6",""), "Catagory_F", 70, colorDefault,
IIf(Catagory_F >0,colorDarkblue, colorDefault));
AddTextColumn(WriteIf(Catagory_G >0,"7",""), "Catagory_G", 70, colorDefault,
IIf(Catagory_G >0,colorDarkRed, colorDefault));
AddTextColumn(WriteIf(Catagory_H >0,"8",""), "Catagory_H", 70, colorDefault,
IIf(Catagory_H >0,colorRed, colorDefault));

_SECTION_END();

TimeFrameRestore();

Potrebbero piacerti anche