// Downloaded From https://www.WiseStockTrader.com
_SECTION_BEGIN("MA10_30_50_Crossed");
// PlotShapes-1.afl
// Contoh perintah PlotShapes untuk shapeUpArrow
// dan shapeDownArrow 

Plot (C, "Close", colorBlack, styleCandle );
MA1 = MA(C,10);
EMA2 = EMA(C,30);
MA3 = MA(C,60);
MA4 = MA(C,200);
Plot (MA1,"MA 10", colorRed, styleThick, styleNoRescale );
Plot (EMA2, "EMA 30", colorBlue, styleDots, styleNoRescale );
Plot (MA3, "MA 60", colorGreen, styleNoRescale );
Plot (MA4, "MA 200", colorViolet,styleThick, styleNoRescale);

Buy = Cross (MA1,EMA2) ;
Sell = Cross (EMA2,MA1) ;

// membuat panah atas untuk sinyal Buy dengan warna
// hijau dengan jarak 24 pixel dibawah LOW
PlotShapes(shapeUpArrow*Buy,colorGreen,0,L,-24);

// membuat panah bawah untuk sinyal Sell dengan warna
// merah dengan jarak 24 pixel diatas HIGH
PlotShapes(shapeDownArrow*Sell,colorRed,0,H,-24);
_SECTION_END();

_SECTION_BEGIN("RSI");
SetChartOptions(0,0,chartGrid30|chartGrid70|styleNoRescale);
periods = Param( "Periods", 15, 1, 200, 1 );
Plot( RSI( periods), _DEFAULT_NAME(), ParamColor( "Color", colorRed ), ParamStyle("Style") );
_SECTION_END();

//Buy = Cross(MA(Close,10),EMA(Close,30));

_SECTION_BEGIN("Volume");
Vol = Volume/1; // sudah dalam satuan lot & tergantung setting vector
Vlp = Param("Volume lookback period",15,5,300,1);
Vrg = MA(Vol, Vlp); // rata-rata transaksi volume 15 harian

Total_Vol = Sum(Vol,15);
_SECTION_END();

_SECTION_BEGIN("Candle_stick");
// Formula MA10 & EMA30
Rata_rata = (H + L + C)/3;

// Jika close sedikit diatas EMA30/MA60/MA200
Close_vs_EMA30 = Close - EMA(Close,30);
Low_vs_EMA30 = Low - EMA(Close,30);
Close_vs_MA60 = Close - MA(Close,60);
Close_vs_MA200 = Close - MA(Close,200);

// Jika close sedikit dibawah EMA30/MA60/MA200
EMA30_vs_Close = EMA(Close,30)- Close;
MA60_vs_Close = MA(Close,60) - Close;
MA200_vs_Close = MA(Close,200) - Close;

// Besarnya tick disesuaikan dengan kebutuhan swing 
Tick=IIf(C<=200,1,
    IIf(C>200 AND C<=500,5,
    IIf(C>500 AND C<=2000,10,
    IIf(C>2000 AND C<=5000,25,
    IIf(C>5000,50,0)))));

// tembus MA10 tetapi mental di EMA30 dimana C<O
MA30_0 = Close<Open AND Close<MA(Close,10) AND MA(Close,10)>EMA(Close,30);
MA30_1 = Close==Low AND Close>EMA(Close,30) AND IIf(C<=200,Close_vs_EMA30<2*Tick,IIf(C>200 AND C<=500,Close_vs_EMA30<1*Tick,
                                                IIf(C>500 AND C<=2000,Close_vs_EMA30<1*Tick,IIf(C>2000 AND C<=5000,Close_vs_EMA30<1*Tick,
                                                IIf(C>5000,Close_vs_EMA30<1*Tick,0)))));

MA30_2 = Close==Low AND Close<EMA(Close,30) AND IIf(C<=200,EMA30_vs_Close<2*Tick,IIf(C>200 AND C<=500,EMA30_vs_Close<1*Tick,
                             IIf(C>500 AND C<=2000,EMA30_vs_Close<1*Tick,IIf(C>2000 AND C<=5000,EMA30_vs_Close<1*Tick,
                             IIf(C>5000,EMA30_vs_Close<1*Tick,0)))));

MA30_3 = Close>Low AND Close<EMA(Close,30) AND Low<EMA(Close,30) AND IIf(C<=200,EMA30_vs_Close<2*Tick,
                             IIf(C>200 AND C<=500,EMA30_vs_Close<1*Tick,
                             IIf(C>500 AND C<=2000,EMA30_vs_Close<1*Tick,IIf(C>2000 AND C<=5000,EMA30_vs_Close<1*Tick,
                             IIf(C>5000,EMA30_vs_Close<1*Tick,0)))));

MA30_4 = Close>Low AND Close>EMA(Close,30) AND Low>EMA(Close,30) AND IIf(C<=200,Low_vs_EMA30<2*Tick,
                                                IIf(C>200 AND C<=500,Low_vs_EMA30<1*Tick,
                                                IIf(C>500 AND C<=2000,Low_vs_EMA30<1*Tick,IIf(C>2000 AND C<=5000,Low_vs_EMA30<1*Tick,
                                                IIf(C>5000,Low_vs_EMA30<1*Tick,0)))));

MA30_5 = Close>Low AND Close>EMA(Close,30) AND Low<EMA(Close,30) AND IIf(C<=200,Close_vs_EMA30<2*Tick,
                                                IIf(C>200 AND C<=500,Close_vs_EMA30<1*Tick,
                                                IIf(C>500 AND C<=2000,Close_vs_EMA30<1*Tick,IIf(C>2000 AND C<=5000,Close_vs_EMA30<1*Tick,
                                                IIf(C>5000,Close_vs_EMA30<1*Tick,0)))));
AddColumn(Open,"Open",1.0);
AddColumn(High,"High",1.0);
AddColumn(Low,"Low",1.0);
AddColumn(Close,"Close",1.0);
AddColumn(Rata_rata,"Avg_15",1.0);
AddColumn(MA(Close,10),"MA-10",1.0);
AddColumn(EMA(Close,30),"MA-30",1.0);

Buy = MA30_0 AND (MA30_1 OR MA30_2 OR MA30_3 OR MA30_4 OR MA30_5);
Filter = Buy;
PlotShapes(shapeUpArrow*Buy,colorLime,0,L,-10);
_SECTION_END();