/*******************************************************************************
 * Name         : システムトレード 
 * System       : 
 * type         : 
 * Function     : 
 * References   : 
 * Remarks      : 
 * Version      : 
 * History      :
 * Ver.-----Date--------Name------------Comment---------------------------------
 * 1.00     2007/xx/xx  xxxxxx          新規作成
 ******************************************************************************/
#property indicator_separate_window

#property indicator_minimum 0
#property indicator_maximum 1

#property indicator_buffers 0

/*******************************************************************************
 * 入力変数
 ******************************************************************************/
extern int TimeZone = +7;

extern int RSIPeriod = 14;
extern int CCIPeriod = 14;
extern int MACDFastPeriod = 12;
extern int MACDSlowPeriod = 26;
extern int MACDSignalPeriod = 9;

extern int ADXPeriod = 14;

extern int BullsPeriod = 13;
extern int BearsPeriod = 13;

extern int StochKPeriod = 5;
extern int StochDPeriod = 3;
extern int StochSlowing = 3;

extern int QQESf = 5;
extern int QQERsiPeriod = 14;
extern double QQEDarFactor = 4.236;
extern int VHFPeriod = 28;
extern int RCIPeriod = 14;
extern int ROCPeriod = 15;
extern int DEVPeriod = 6;

/*******************************************************************************
 * グローバル変数
 ******************************************************************************/
string g_short_name = "+ Mulit Analysis +";


/*******************************************************************************
 * 関数定義
 ******************************************************************************/
/*******************************************************************************
 * 
 * 初期化
 *
 ******************************************************************************/
int init()
{
    IndicatorShortName(g_short_name);

    return(0);
}


/*******************************************************************************
 * 
 * 再初期化
 *
 ******************************************************************************/
int deinit()
{
    return(0);
}


/*******************************************************************************
 * 
 * メイン
 *
 ******************************************************************************/
int start()
{
    
    int ypos = 21;
    int xpos = 0;
    int p;
    double atr = 0.0, patr = 0.0;
    double ma = 0.0;
    double cci = 0.0;
    double bulls = 0.0;
    double bears = 0.0;
    double rsi = 0.0, prsi = 0.0;
    double vhf = 0.0, pvhf = 0.0;
    double rci = 0.0;
    double roc = 0.0;
    double dev = 0.0;
    bool macd;
    bool adx;
    bool stochastic;
    bool qqe;
    color cl;
    string v;
    string opt = "";

        
    // 時間表示
    xpos = 5;
    ypos = 21;
    ypos += 15;
    makeLableObject("m1", xpos, ypos, PaleGoldenrod, "M1", 10);
    ypos += 15;
    makeLableObject("m5", xpos, ypos, PaleGoldenrod, "M5", 10);
    ypos += 15;
    makeLableObject("m15", xpos, ypos, PaleGoldenrod, "M15", 10);
    ypos += 15;
    makeLableObject("m30", xpos, ypos, PaleGoldenrod, "M30", 10);
    ypos += 15;
    makeLableObject("h1", xpos, ypos, PaleGoldenrod, "H1", 10);
    ypos += 15;
    makeLableObject("h4", xpos, ypos, PaleGoldenrod, "H4", 10);
    ypos += 15;
    makeLableObject("d1", xpos, ypos, PaleGoldenrod, "D1", 10);
    ypos += 15;
    makeLableObject("w1", xpos, ypos, PaleGoldenrod, "W1", 10);

    // ATR6
    xpos += 40;
    ypos = 21;
    makeLableObject("atr6", xpos, ypos, PowderBlue, "ATR6",10);

    atr = iATR(Symbol(), PERIOD_M1, 6, 0);
    patr = iATR(Symbol(), PERIOD_M1, 6, 1);
    ypos += 15;
    if(atr >= patr){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    makeLableObject("atr6m1", xpos, ypos, cl, DoubleToStr(atr, 2)+opt);

    atr = iATR(Symbol(), PERIOD_M5, 6, 0);
    patr = iATR(Symbol(), PERIOD_M5, 6, 1);
    if(atr >= patr){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("atr6m5", xpos, ypos, cl, DoubleToStr(atr, 2)+opt);

    atr = iATR(Symbol(), PERIOD_M15, 6, 0);
    patr = iATR(Symbol(), PERIOD_M15, 6, 1);
    if(atr >= patr){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("atr6m15", xpos, ypos, cl, DoubleToStr(atr, 2)+opt);

    atr = iATR(Symbol(), PERIOD_M30, 6, 0);
    patr = iATR(Symbol(), PERIOD_M30, 6, 1);
    if(atr >= patr){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("atr6m30", xpos, ypos, cl, DoubleToStr(atr, 2)+opt);

    atr = iATR(Symbol(), PERIOD_H1, 6, 0);
    patr = iATR(Symbol(), PERIOD_H1, 6, 1);
    if(atr >= patr){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("atr6h1", xpos, ypos, cl, DoubleToStr(atr, 2)+opt);

    atr = iATR(Symbol(), PERIOD_H4, 6, 0);
    patr = iATR(Symbol(), PERIOD_H4, 6, 1);
    if(atr >= patr){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("atr6h4", xpos, ypos, cl, DoubleToStr(atr, 2)+opt);

    atr = iATR(Symbol(), PERIOD_D1, 6, 0);
    patr = iATR(Symbol(), PERIOD_D1, 6, 1);
    if(atr >= patr){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("atr6d1", xpos, ypos, cl, DoubleToStr(atr, 2)+opt);

    atr = iATR(Symbol(), PERIOD_W1, 6, 0);
    patr = iATR(Symbol(), PERIOD_W1, 6, 1);
    if(atr >= patr){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("atr6w1", xpos, ypos, cl, DoubleToStr(atr, 2)+opt);


    // ATR15
    xpos += 60;
    ypos = 21;
    makeLableObject("atr15", xpos, ypos, PowderBlue, "ATR15",10);

    atr = iATR(Symbol(), PERIOD_M1, 15, 0);
    patr = iATR(Symbol(), PERIOD_M1, 15, 1);
    if(atr >= patr){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("atr15m1", xpos, ypos, cl, DoubleToStr(atr, 2)+opt);

    atr = iATR(Symbol(), PERIOD_M5, 15, 0);
    patr = iATR(Symbol(), PERIOD_M5, 15, 1);
    if(atr >= patr){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("atr15m5", xpos, ypos, cl, DoubleToStr(atr, 2)+opt);

    atr = iATR(Symbol(), PERIOD_M15, 15, 0);
    patr = iATR(Symbol(), PERIOD_M15, 15, 1);
    if(atr >= patr){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("atr15m15", xpos, ypos, cl, DoubleToStr(atr, 2)+opt);

    atr = iATR(Symbol(), PERIOD_M30, 15, 0);
    patr = iATR(Symbol(), PERIOD_M30, 15, 1);
    if(atr >= patr){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("atr15m30", xpos, ypos, cl, DoubleToStr(atr, 2)+opt);

    atr = iATR(Symbol(), PERIOD_H1, 15, 0);
    patr = iATR(Symbol(), PERIOD_H1, 15, 1);
    if(atr >= patr){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("atr15h1", xpos, ypos, cl, DoubleToStr(atr, 2)+opt);

    atr = iATR(Symbol(), PERIOD_H4, 15, 0);
    patr = iATR(Symbol(), PERIOD_H4, 15, 1);
    if(atr >= patr){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("atr15h4", xpos, ypos, cl, DoubleToStr(atr, 2)+opt);

    atr = iATR(Symbol(), PERIOD_D1, 15, 0);
    patr = iATR(Symbol(), PERIOD_D1, 15, 1);
    if(atr >= patr){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("atr15d1", xpos, ypos, cl, DoubleToStr(atr, 2)+opt);

    atr = iATR(Symbol(), PERIOD_W1, 15, 0);
    patr = iATR(Symbol(), PERIOD_W1, 15, 1);
    if(atr >= patr){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("atr15w1", xpos, ypos, cl, DoubleToStr(atr, 2)+opt);


    // VHF
    xpos += 60;
    ypos = 21;
    makeLableObject("vhf", xpos, ypos, PowderBlue, "VHF",10);

    vhf = iCustom(Symbol(),PERIOD_M1,"VHF_v1",
                  VHFPeriod,5,0,
                  0,0);
    pvhf = iCustom(Symbol(),PERIOD_M1,"VHF_v1",
                  VHFPeriod,5,0,
                  0,1);
    if(vhf >= pvhf){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("vhfm1", xpos, ypos, cl, DoubleToStr(vhf, 2)+opt);

    vhf = iCustom(Symbol(),PERIOD_M5,"VHF_v1",
                  VHFPeriod,5,0,
                  0,0);
    pvhf = iCustom(Symbol(),PERIOD_M5,"VHF_v1",
                  VHFPeriod,5,0,
                  0,1);
    if(vhf >= pvhf){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("vhfm5", xpos, ypos, cl, DoubleToStr(vhf, 2)+opt);

    vhf = iCustom(Symbol(),PERIOD_M15,"VHF_v1",
                  VHFPeriod,5,0,
                  0,0);
    pvhf = iCustom(Symbol(),PERIOD_M15,"VHF_v1",
                  VHFPeriod,5,0,
                  0,1);
    if(vhf >= pvhf){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("vhfm15", xpos, ypos, cl, DoubleToStr(vhf, 2)+opt);

    vhf = iCustom(Symbol(),PERIOD_M30,"VHF_v1",
                  VHFPeriod,5,0,
                  0,0);
    pvhf = iCustom(Symbol(),PERIOD_M30,"VHF_v1",
                  VHFPeriod,5,0,
                  0,1);
    if(vhf >= pvhf){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("vhfm30", xpos, ypos, cl, DoubleToStr(vhf, 2)+opt);

    vhf = iCustom(Symbol(),PERIOD_H1,"VHF_v1",
                  VHFPeriod,5,0,
                  0,0);
    pvhf = iCustom(Symbol(),PERIOD_H1,"VHF_v1",
                  VHFPeriod,5,0,
                  0,1);
    if(vhf >= pvhf){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("vhfh1", xpos, ypos, cl, DoubleToStr(vhf, 2)+opt);

    vhf = iCustom(Symbol(),PERIOD_H4,"VHF_v1",
                  VHFPeriod,5,0,
                  0,0);
    pvhf = iCustom(Symbol(),PERIOD_H4,"VHF_v1",
                  VHFPeriod,5,0,
                  0,1);
    if(vhf >= pvhf){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("vhfh4", xpos, ypos, cl, DoubleToStr(vhf, 2)+opt);

    vhf = iCustom(Symbol(),PERIOD_D1, "VHF_v1",
                  VHFPeriod,5,0,
                  0,0);
    pvhf = iCustom(Symbol(),PERIOD_D1,"VHF_v1",
                  VHFPeriod,5,0,
                  0,1);
    if(vhf >= pvhf){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("vhfd1", xpos, ypos, cl, DoubleToStr(vhf, 2)+opt);


    vhf = iCustom(Symbol(),PERIOD_W1,"VHF_v1",
                  VHFPeriod,5,0,
                  0,0);
    pvhf = iCustom(Symbol(),PERIOD_W1,"VHF_v1",
                  VHFPeriod,5,0,
                  0,1);
    if(vhf >= pvhf){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("vhfw1", xpos, ypos, cl, DoubleToStr(vhf, 2)+opt);

    
    // HB15
    xpos += 50;
    ypos = 21;
    makeLableObject("HB15", xpos, ypos, PowderBlue, "HB15",10);

    p = iHighest(Symbol(), PERIOD_M1, MODE_HIGH, 15, 0);
    ypos += 15;
    makeLableObject("hb15m1", xpos, ypos, MintCream,
                    DoubleToStr(iHigh(Symbol(), PERIOD_M1, p), 2));

    p = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 15, 0);
    ypos += 15;
    makeLableObject("hb15m5", xpos, ypos, MintCream,
                    DoubleToStr(iHigh(Symbol(), PERIOD_M5, p), 2));

    p = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 15, 0);
    ypos += 15;
    makeLableObject("hb15m15", xpos, ypos, MintCream,
                    DoubleToStr(iHigh(Symbol(), PERIOD_M15, p), 2));

    p = iHighest(Symbol(), PERIOD_M30, MODE_HIGH, 15, 0);
    ypos += 15;
    makeLableObject("hb15m30", xpos, ypos, MintCream,
                    DoubleToStr(iHigh(Symbol(), PERIOD_M30, p), 2));

    p = iHighest(Symbol(), PERIOD_H1, MODE_HIGH, 15, 0);
    ypos += 15;
    makeLableObject("hb15h1", xpos, ypos, MintCream,
                    DoubleToStr(iHigh(Symbol(), PERIOD_H1, p), 2));

    p = iHighest(Symbol(), PERIOD_H4, MODE_HIGH, 15, 0);
    ypos += 15;
    makeLableObject("hb15h4", xpos, ypos, MintCream,
                    DoubleToStr(iHigh(Symbol(), PERIOD_H4, p), 2));

    p = iHighest(Symbol(), PERIOD_D1, MODE_HIGH, 15, 0);
    ypos += 15;
    makeLableObject("hb15d1", xpos, ypos, MintCream,
                    DoubleToStr(iHigh(Symbol(), PERIOD_D1, p), 2));

    p = iHighest(Symbol(), PERIOD_W1, MODE_HIGH, 15, 0);
    ypos += 15;
    makeLableObject("hb15w1", xpos, ypos, MintCream,
                    DoubleToStr(iHigh(Symbol(), PERIOD_W1, p), 2));

    // LB15
    xpos += 70;
    ypos = 21;
    makeLableObject("LB15", xpos, ypos, PowderBlue, "LB15",10);

    p = iLowest(Symbol(), PERIOD_M1, MODE_LOW, 15, 0);
    ypos += 15;
    makeLableObject("lb15m1", xpos, ypos, MintCream,
                    DoubleToStr(iLow(Symbol(), PERIOD_M1, p), 2));

    p = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 15, 0);
    ypos += 15;
    makeLableObject("lb15m5", xpos, ypos, MintCream,
                    DoubleToStr(iLow(Symbol(), PERIOD_M5, p), 2));

    p = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 15, 0);
    ypos += 15;
    makeLableObject("lb15m15", xpos, ypos, MintCream,
                    DoubleToStr(iLow(Symbol(), PERIOD_M15, p), 2));

    p = iLowest(Symbol(), PERIOD_M30, MODE_LOW, 15, 0);
    ypos += 15;
    makeLableObject("lb15m30", xpos, ypos, MintCream,
                    DoubleToStr(iLow(Symbol(), PERIOD_M30, p), 2));

    p = iLowest(Symbol(), PERIOD_H1, MODE_LOW, 15, 0);
    ypos += 15;
    makeLableObject("lb15h1", xpos, ypos, MintCream,
                    DoubleToStr(iLow(Symbol(), PERIOD_H1, p), 2));

    p = iLowest(Symbol(), PERIOD_H4, MODE_LOW, 15, 0);
    ypos += 15;
    makeLableObject("lb15h4", xpos, ypos, MintCream,
                    DoubleToStr(iLow(Symbol(), PERIOD_H4, p), 2));

    p = iLowest(Symbol(), PERIOD_D1, MODE_LOW, 15, 0);
    ypos += 15;
    makeLableObject("lb15d1", xpos, ypos, MintCream,
                    DoubleToStr(iLow(Symbol(), PERIOD_D1, p), 2));

    p = iLowest(Symbol(), PERIOD_W1, MODE_LOW, 15, 0);
    ypos += 15;
    makeLableObject("lb15w1", xpos, ypos, MintCream,
                    DoubleToStr(iLow(Symbol(), PERIOD_W1, p), 2));


    // RSI
    xpos += 70;
    ypos = 21;
    makeLableObject("rsi", xpos, ypos, PowderBlue, "RSI",10);

    rsi = iRSI(Symbol(), PERIOD_M1, RSIPeriod, PRICE_CLOSE, 0);
    prsi = iRSI(Symbol(), PERIOD_M1, RSIPeriod, PRICE_CLOSE, 1);
    if(rsi >= prsi){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("rsim1", xpos, ypos, cl, DoubleToStr(rsi, 1)+opt);

    rsi = iRSI(Symbol(), PERIOD_M5, RSIPeriod, PRICE_CLOSE, 0);
    prsi = iRSI(Symbol(), PERIOD_M5, RSIPeriod, PRICE_CLOSE, 1);
    if(rsi >= prsi){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("rsim5", xpos, ypos, cl, DoubleToStr(rsi, 1)+opt);

    rsi = iRSI(Symbol(), PERIOD_M15, RSIPeriod, PRICE_CLOSE, 0);
    prsi = iRSI(Symbol(), PERIOD_M15, RSIPeriod, PRICE_CLOSE, 1);
    if(rsi >= prsi){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("rsim15", xpos, ypos, cl, DoubleToStr(rsi, 1)+opt);

    rsi = iRSI(Symbol(), PERIOD_M30, RSIPeriod, PRICE_CLOSE, 0);
    prsi = iRSI(Symbol(), PERIOD_M30, RSIPeriod, PRICE_CLOSE, 1);
    if(rsi >= prsi){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("rsim30", xpos, ypos, cl, DoubleToStr(rsi, 1)+opt);

    rsi = iRSI(Symbol(), PERIOD_H1, RSIPeriod, PRICE_CLOSE, 0);
    prsi = iRSI(Symbol(), PERIOD_H1, RSIPeriod, PRICE_CLOSE, 1);
    if(rsi >= prsi){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("rsih1", xpos, ypos, cl, DoubleToStr(rsi, 1)+opt);

    rsi = iRSI(Symbol(), PERIOD_H4, RSIPeriod, PRICE_CLOSE, 0);
    prsi = iRSI(Symbol(), PERIOD_H4, RSIPeriod, PRICE_CLOSE, 1);
    if(rsi >= prsi){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("rsih4", xpos, ypos, cl, DoubleToStr(rsi, 1)+opt);

    rsi = iRSI(Symbol(), PERIOD_D1, RSIPeriod, PRICE_CLOSE, 0);
    prsi = iRSI(Symbol(), PERIOD_D1, RSIPeriod, PRICE_CLOSE, 1);
    if(rsi >= prsi){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("rsid1", xpos, ypos, cl, DoubleToStr(rsi, 1)+opt);

    rsi = iRSI(Symbol(), PERIOD_W1, RSIPeriod, PRICE_CLOSE, 0);
    prsi = iRSI(Symbol(), PERIOD_W1, RSIPeriod, PRICE_CLOSE, 1);
    if(rsi >= prsi){cl = RoyalBlue; opt = "↑";}
    else{cl = Coral; opt = "↓";}
    ypos += 15;
    makeLableObject("rsiw1", xpos, ypos, cl, DoubleToStr(rsi, 1)+opt);


    // RCI
    xpos += 50;
    ypos = 21;
    makeLableObject("rci", xpos, ypos, PowderBlue, "RCI",10);

    rci = iCustom(Symbol(),PERIOD_M1,"SpearmanRankCorr",
                  RCIPeriod,0,30,true,
                  0,0);
    ypos += 15;
    if(rci >= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("rcim1", xpos, ypos, cl, DoubleToStr(rci, 2));

    rci = iCustom(Symbol(),PERIOD_M5,"SpearmanRankCorr",
                  RCIPeriod,0,30,true,
                  0,0);
    ypos += 15;
    if(rci >= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("rcim5", xpos, ypos, cl, DoubleToStr(rci, 2));
    
    rci = iCustom(Symbol(),PERIOD_M15,"SpearmanRankCorr",
                  RCIPeriod,0,30,true,
                  0,0);
    ypos += 15;
    if(rci >= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("rcim15", xpos, ypos, cl, DoubleToStr(rci, 2));

    rci = iCustom(Symbol(),PERIOD_M30,"SpearmanRankCorr",
                  RCIPeriod,0,30,true,
                  0,0);
    ypos += 15;
    if(rci >= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("rcim30", xpos, ypos, cl, DoubleToStr(rci, 2));
    
    rci = iCustom(Symbol(),PERIOD_H1,"SpearmanRankCorr",
                  RCIPeriod,0,30,true,
                  0,0);
    ypos += 15;
    if(rci >= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("rcih1", xpos, ypos, cl, DoubleToStr(rci, 2));
    
    rci = iCustom(Symbol(),PERIOD_H4,"SpearmanRankCorr",
                  RCIPeriod,0,30,true,
                  0,0);
    ypos += 15;
    if(rci >= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("rcih4", xpos, ypos, cl, DoubleToStr(rci, 2));
    
    rci = iCustom(Symbol(),PERIOD_D1,"SpearmanRankCorr",
                  RCIPeriod,0,30,true,
                  0,0);
    ypos += 15;
    if(rci >= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("rcid1", xpos, ypos, cl, DoubleToStr(rci, 2));
    
    rci = iCustom(Symbol(),PERIOD_W1,"SpearmanRankCorr",
                  RCIPeriod,0,30,true,
                  0,0);
    ypos += 15;
    if(rci >= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("rciw1", xpos, ypos, cl, DoubleToStr(rci, 2));
    
    
    // ROC
    xpos += 50;
    ypos = 21;
    makeLableObject("roc", xpos, ypos, PowderBlue, "ROC",10);

    roc = ROC(Symbol(),PERIOD_M1, ROCPeriod);
    ypos += 15;
    if(roc >= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("rocm1", xpos, ypos,cl, DoubleToStr(roc, 2));

    roc = ROC(Symbol(),PERIOD_M5, ROCPeriod);
    ypos += 15;
    if(roc >= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("rocm5", xpos, ypos,cl, DoubleToStr(roc, 2));


    roc = ROC(Symbol(),PERIOD_M15, ROCPeriod);
    ypos += 15;
    if(roc >= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("rocm15", xpos, ypos,cl, DoubleToStr(roc, 2));

    roc = ROC(Symbol(),PERIOD_M30, ROCPeriod);
    ypos += 15;
    if(roc >= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("rocm30", xpos, ypos,cl, DoubleToStr(roc, 2));

    roc = ROC(Symbol(),PERIOD_H1, ROCPeriod);
    ypos += 15;
    if(roc >= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("roch1", xpos, ypos,cl, DoubleToStr(roc, 2));

    roc = ROC(Symbol(),PERIOD_H4, ROCPeriod);
    ypos += 15;
    if(roc >= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("roch4", xpos, ypos, cl, DoubleToStr(roc, 2));

    roc = ROC(Symbol(),PERIOD_D1, ROCPeriod);
    ypos += 15;
    if(roc >= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("rocd1", xpos, ypos,cl, DoubleToStr(roc, 2));

    roc = ROC(Symbol(),PERIOD_W1, ROCPeriod);
    ypos += 15;
    if(roc >= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("rocw1", xpos, ypos, cl, DoubleToStr(roc, 2));


    // DEV
    xpos += 50;
    ypos = 21;
    makeLableObject("dev", xpos, ypos, PowderBlue, "DEV",10);

    dev = DEV(Symbol(),PERIOD_M1, DEVPeriod);
    ypos += 15;
    if(dev <= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("devm1", xpos, ypos, cl, DoubleToStr(dev, 3));

    dev = DEV(Symbol(),PERIOD_M5, DEVPeriod);
    ypos += 15;
    if(dev <= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("devm5", xpos, ypos,cl, DoubleToStr(dev, 3));


    dev = DEV(Symbol(),PERIOD_M15, DEVPeriod);
    ypos += 15;
    if(dev <= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("devm15", xpos, ypos,cl, DoubleToStr(dev, 3));

    dev = DEV(Symbol(),PERIOD_M30, DEVPeriod);
    ypos += 15;
    if(dev <= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("devm30", xpos, ypos,cl, DoubleToStr(dev, 3));

    dev = DEV(Symbol(),PERIOD_H1, DEVPeriod);
    ypos += 15;
    if(dev <= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("devh1", xpos, ypos,cl, DoubleToStr(dev, 3));

    dev = DEV(Symbol(),PERIOD_H4, DEVPeriod);
    ypos += 15;
    if(dev <= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("devh4", xpos, ypos,cl, DoubleToStr(dev, 3));

    dev = DEV(Symbol(),PERIOD_D1, DEVPeriod);
    ypos += 15;
    if(dev <= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("devd1", xpos, ypos,cl, DoubleToStr(dev, 3));

    dev = DEV(Symbol(),PERIOD_W1, DEVPeriod);
    ypos += 15;
    if(dev <= 0){cl = Aquamarine;}
    else{cl = HotPink;}
    makeLableObject("devw1", xpos, ypos,cl, DoubleToStr(dev, 3));

    // ma6
    xpos += 50;
    ypos = 21;
    makeLableObject("ma6", xpos, ypos, PowderBlue, "MA6",10);
    
    ma = iMA(Symbol(), PERIOD_M1, 6, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma6m1", xpos, ypos, cl, v);
    
    ma = iMA(Symbol(), PERIOD_M5, 6, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma6m5", xpos, ypos, cl, v);
    
    ma = iMA(Symbol(), PERIOD_M15, 6, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma6m15", xpos, ypos, cl, v);

    ma = iMA(Symbol(), PERIOD_M30, 6, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma6m30", xpos, ypos, cl, v);

    ma = iMA(Symbol(), PERIOD_H1, 6, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma6h1", xpos, ypos, cl, v);

    ma = iMA(Symbol(), PERIOD_H4, 6, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma6h4", xpos, ypos, cl, v);

    ma = iMA(Symbol(), PERIOD_D1, 6, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma6d1", xpos, ypos, cl, v);

    ma = iMA(Symbol(), PERIOD_W1, 6, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma6w1", xpos, ypos, cl, v);

    // ma15
    xpos += 50;
    ypos = 21;
    makeLableObject("ma15", xpos, ypos, PowderBlue, "MA15",10);
    
    ma = iMA(Symbol(), PERIOD_M1, 15, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma15m1", xpos, ypos, cl, v);
    
    ma = iMA(Symbol(), PERIOD_M5, 15, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma15m5", xpos, ypos, cl, v);
    
    ma = iMA(Symbol(), PERIOD_M15, 15, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma15m15", xpos, ypos, cl, v);

    ma = iMA(Symbol(), PERIOD_M30, 15, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma15m30", xpos, ypos, cl, v);

    ma = iMA(Symbol(), PERIOD_H1, 15, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma15h1", xpos, ypos, cl, v);

    ma = iMA(Symbol(), PERIOD_H4, 15, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma15h4", xpos, ypos, cl, v);

    ma = iMA(Symbol(), PERIOD_D1, 15, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma15d1", xpos, ypos, cl, v);

    ma = iMA(Symbol(), PERIOD_W1, 15, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma15w1", xpos, ypos, cl, v);

    // ma50
    xpos += 50;
    ypos = 21;
    makeLableObject("ma50", xpos, ypos, PowderBlue, "MA50",10);
    
    ma = iMA(Symbol(), PERIOD_M1, 50, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma50m1", xpos, ypos, cl, v);
    
    ma = iMA(Symbol(), PERIOD_M5, 50, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma50m5", xpos, ypos, cl, v);
    
    ma = iMA(Symbol(), PERIOD_M15, 50, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma50m15", xpos, ypos, cl, v);

    ma = iMA(Symbol(), PERIOD_M30, 50, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma50m30", xpos, ypos, cl, v);

    ma = iMA(Symbol(), PERIOD_H1, 50, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma50h1", xpos, ypos, cl, v);

    ma = iMA(Symbol(), PERIOD_H4, 50, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma50h4", xpos, ypos, cl, v);

    ma = iMA(Symbol(), PERIOD_D1, 50, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma50d1", xpos, ypos, cl, v);

    ma = iMA(Symbol(), PERIOD_W1, 50, 0, MODE_SMA, PRICE_CLOSE, 0);
    if(ma <= Close[0]){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ma50w1", xpos, ypos, cl, v);

    // CCI
    xpos += 50;
    ypos = 21;
    makeLableObject("cci", xpos, ypos, PowderBlue, "CCI",10);

    cci = iCCI(Symbol(), PERIOD_M1, CCIPeriod, PRICE_CLOSE, 0);
    if(cci >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ccim1", xpos, ypos, cl, v);

    cci = iCCI(Symbol(), PERIOD_M5, CCIPeriod, PRICE_CLOSE, 0);
    if(cci >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ccim5", xpos, ypos, cl, v);

    cci = iCCI(Symbol(), PERIOD_M15, CCIPeriod, PRICE_CLOSE, 0);
    if(cci >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ccim15", xpos, ypos, cl, v);

    cci = iCCI(Symbol(), PERIOD_M30, CCIPeriod, PRICE_CLOSE, 0);
    if(cci >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ccim30", xpos, ypos, cl, v);

    cci = iCCI(Symbol(), PERIOD_H1, CCIPeriod, PRICE_CLOSE, 0);
    if(cci >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ccih1", xpos, ypos, cl, v);

    cci = iCCI(Symbol(), PERIOD_H4, CCIPeriod, PRICE_CLOSE, 0);
    if(cci >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ccih4", xpos, ypos, cl, v);

    cci = iCCI(Symbol(), PERIOD_D1, CCIPeriod, PRICE_CLOSE, 0);
    if(cci >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("ccid1", xpos, ypos, cl, v);

    cci = iCCI(Symbol(), PERIOD_W1, CCIPeriod, PRICE_CLOSE, 0);
    if(cci >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("cciw1", xpos, ypos, cl, v);

    // MACD
    xpos += 50;
    ypos = 21;
    makeLableObject("macd", xpos, ypos, PowderBlue, "MACD",10);

    macd = getMacdResult(PERIOD_M1);
    if(macd == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("macdm1", xpos, ypos, cl, v);

    macd = getMacdResult(PERIOD_M5);
    if(macd == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("macdm5", xpos, ypos, cl, v);

    macd = getMacdResult(PERIOD_M15);
    if(macd == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("macdm15", xpos, ypos, cl, v);
    
    macd = getMacdResult(PERIOD_M30);
    if(macd == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("macdm30", xpos, ypos, cl, v);
    
    macd = getMacdResult(PERIOD_H1);
    if(macd == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("macdh1", xpos, ypos, cl, v);
    
    macd = getMacdResult(PERIOD_H4);
    if(macd == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("macdh4", xpos, ypos, cl, v);
    
    macd = getMacdResult(PERIOD_D1);
    if(macd == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("macdd1", xpos, ypos, cl, v);
    
    macd = getMacdResult(PERIOD_W1);
    if(macd == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("macdw1", xpos, ypos, cl, v);
    
    // ADX
    xpos += 50;
    ypos = 21;
    makeLableObject("adx", xpos, ypos, PowderBlue, "ADX",10);

    adx = getAdxResult(PERIOD_M1);
    if(adx == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("adxm1", xpos, ypos, cl, v);

    adx = getAdxResult(PERIOD_M5);
    if(adx == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("adxm5", xpos, ypos, cl, v);

    adx = getAdxResult(PERIOD_M15);
    if(adx == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("adxm15", xpos, ypos, cl, v);
    
    adx = getAdxResult(PERIOD_M30);
    if(adx == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("adxm30", xpos, ypos, cl, v);
    
    adx = getAdxResult(PERIOD_H1);
    if(adx == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("adxh1", xpos, ypos, cl, v);
    
    adx = getAdxResult(PERIOD_H4);
    if(adx == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("adxh4", xpos, ypos, cl, v);
    
    adx = getAdxResult(PERIOD_D1);
    if(adx == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("adxd1", xpos, ypos, cl, v);
    
    adx = getAdxResult(PERIOD_W1);
    if(adx == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("adxw1", xpos, ypos, cl, v);

    // Bulls
    xpos += 50;
    ypos = 21;
    makeLableObject("bulls", xpos, ypos, PowderBlue, "BULL",10);

    bulls = iBullsPower(Symbol(), PERIOD_M1, BullsPeriod, PRICE_CLOSE, 0);
    if(bulls >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("bullsm1", xpos, ypos, cl, v);

    bulls = iBullsPower(Symbol(), PERIOD_M5, BullsPeriod, PRICE_CLOSE, 0);
    if(bulls >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("bullsm5", xpos, ypos, cl, v);

    bulls = iBullsPower(Symbol(), PERIOD_M15, BullsPeriod, PRICE_CLOSE, 0);
    if(bulls >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("bullsm15", xpos, ypos, cl, v);

    bulls = iBullsPower(Symbol(), PERIOD_M30, BullsPeriod, PRICE_CLOSE, 0);
    if(bulls >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("bullsm30", xpos, ypos, cl, v);

    bulls = iBullsPower(Symbol(), PERIOD_H1, BullsPeriod, PRICE_CLOSE, 0);
    if(bulls >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("bullsh1", xpos, ypos, cl, v);

    bulls = iBullsPower(Symbol(), PERIOD_H4, BullsPeriod, PRICE_CLOSE, 0);
    if(bulls >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("bullsh4", xpos, ypos, cl, v);

    bulls = iBullsPower(Symbol(), PERIOD_D1, BullsPeriod, PRICE_CLOSE, 0);
    if(bulls >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("bullsd1", xpos, ypos, cl, v);

    bulls = iBullsPower(Symbol(), PERIOD_W1, BullsPeriod, PRICE_CLOSE, 0);
    if(bulls >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("bullsw1", xpos, ypos, cl, v);


    // Bears
    xpos += 50;
    ypos = 21;
    makeLableObject("bears", xpos, ypos, PowderBlue, "BEAR",10);

    bears = iBearsPower(Symbol(), PERIOD_M1, BearsPeriod, PRICE_CLOSE, 0);
    if(bears >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("bearsm1", xpos, ypos, cl, v);

    bears = iBearsPower(Symbol(), PERIOD_M5, BearsPeriod, PRICE_CLOSE, 0);
    if(bears >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("bearsm5", xpos, ypos, cl, v);

    bears = iBearsPower(Symbol(), PERIOD_M15, BearsPeriod, PRICE_CLOSE, 0);
    if(bears >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("bearsm15", xpos, ypos, cl, v);

    bears = iBearsPower(Symbol(), PERIOD_M30, BearsPeriod, PRICE_CLOSE, 0);
    if(bears >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("bearsm30", xpos, ypos, cl, v);

    bears = iBearsPower(Symbol(), PERIOD_H1, BearsPeriod, PRICE_CLOSE, 0);
    if(bears >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("bearsh1", xpos, ypos, cl, v);

    bears = iBearsPower(Symbol(), PERIOD_H4, BearsPeriod, PRICE_CLOSE, 0);
    if(bears >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("bearsh4", xpos, ypos, cl, v);

    bears = iBearsPower(Symbol(), PERIOD_D1, BearsPeriod, PRICE_CLOSE, 0);
    if(bears >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("bearsd1", xpos, ypos, cl, v);

    bears = iBearsPower(Symbol(), PERIOD_W1, BearsPeriod, PRICE_CLOSE, 0);
    if(bears >= 0){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("bearsw1", xpos, ypos, cl, v);


    // STOCHASTIC
    xpos += 50;
    ypos = 21;
    makeLableObject("stochastic", xpos, ypos, PowderBlue, "STOCH",10);

    stochastic = getStochasticResult(PERIOD_M1);
    if(stochastic == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("stochasticm1", xpos, ypos, cl, v);

    stochastic = getStochasticResult(PERIOD_M5);
    if(stochastic == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("stochasticm5", xpos, ypos, cl, v);

    stochastic = getStochasticResult(PERIOD_M15);
    if(stochastic == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("stochasticm15", xpos, ypos, cl, v);
    
    stochastic = getStochasticResult(PERIOD_M30);
    if(stochastic == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("stochasticm30", xpos, ypos, cl, v);
    
    stochastic = getStochasticResult(PERIOD_H1);
    if(stochastic == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("stochastich1", xpos, ypos, cl, v);
    
    stochastic = getStochasticResult(PERIOD_H4);
    if(stochastic == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("stochastich4", xpos, ypos, cl, v);
    
    stochastic = getStochasticResult(PERIOD_D1);
    if(stochastic == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("stochasticd1", xpos, ypos, cl, v);
    
    stochastic = getStochasticResult(PERIOD_W1);
    if(stochastic == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("stochasticw1", xpos, ypos, cl, v);

    // QQE
    xpos += 50;
    ypos = 21;
    makeLableObject("qqe", xpos, ypos, PowderBlue, "QQE",10);

    qqe = getQQEResult(PERIOD_M1);
    if(qqe == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("qqem1", xpos, ypos, cl, v);

    qqe = getQQEResult(PERIOD_M5);
    if(qqe == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("qqem5", xpos, ypos, cl, v);

    qqe = getQQEResult(PERIOD_M15);
    if(qqe == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("qqem15", xpos, ypos, cl, v);
    
    qqe = getQQEResult(PERIOD_M30);
    if(qqe == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("qqem30", xpos, ypos, cl, v);
    
    qqe = getQQEResult(PERIOD_H1);
    if(qqe == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("qqeh1", xpos, ypos, cl, v);
    
    qqe = getQQEResult(PERIOD_H4);
    if(qqe == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("qqeh4", xpos, ypos, cl, v);
    
    qqe = getQQEResult(PERIOD_D1);
    if(qqe == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("qqed1", xpos, ypos, cl, v);
    
    qqe = getQQEResult(PERIOD_W1);
    if(qqe == true){cl = Lime; v = "UP";}
    else{cl = Red; v = "DOWN";}
    ypos += 15;
    makeLableObject("qqew1", xpos, ypos, cl, v);

    


    // 時間の描画
    int n = 0;
    DrawTime(0);
    DrawTime(20);
    DrawTime(40);
    DrawTime(60);
    DrawTime(80);

    return (0);
}


/*******************************************************************************
 * 
 * ラベルオブジェクト作成
 *
 ******************************************************************************/
void makeLableObject(string name, int xpos, int ypos,
                     color str_color, string value, int fontsize=9)
{
    int windex = WindowFind(g_short_name);

    ObjectCreate(name, OBJ_LABEL, windex, 0, 0);
    ObjectSetText(name, value,fontsize, "meiryo", str_color);
    ObjectSet(name, OBJPROP_CORNER, 0);
    ObjectSet(name, OBJPROP_XDISTANCE, xpos);
    ObjectSet(name, OBJPROP_YDISTANCE, ypos);
    
}


/*******************************************************************************
 * 
 * MACDによる売買判定
 *
 ******************************************************************************/
bool getMacdResult(int timeframe)
{
    double macd_m;
    double macd_s;
    macd_m= iMACD(Symbol(),timeframe,
                  MACDFastPeriod,MACDSlowPeriod,MACDSignalPeriod,
                  PRICE_CLOSE,MODE_MAIN,0);
    macd_s= iMACD(Symbol(),timeframe,
                  MACDFastPeriod,MACDSlowPeriod,MACDSignalPeriod,
                  PRICE_CLOSE,MODE_SIGNAL,0);

    if(macd_m > macd_s){
        return(true);
    }
    return(false);
    
}


/*******************************************************************************
 * 
 * ADXによる売買判定
 *
 ******************************************************************************/
bool getAdxResult(int timeframe)
{
    double adx_p;
    double adx_m;
    
    adx_p=iADX(Symbol(),timeframe,ADXPeriod,PRICE_CLOSE,MODE_PLUSDI,0);
    adx_m=iADX(Symbol(),timeframe,ADXPeriod,PRICE_CLOSE,MODE_MINUSDI,0);
    
    if(adx_p > adx_m){
        return(true);
    }
    return(false);
}


/*******************************************************************************
 * 
 * Stochasticによる売買判定
 *
 ******************************************************************************/
bool getStochasticResult(int timeframe)
{
    double stoch_m;
    double stoch_s;

    stoch_m=iStochastic(Symbol(),timeframe,
                        StochKPeriod,StochDPeriod,StochSlowing,
                        MODE_SMA,1,MODE_MAIN, 0);
    stoch_s=iStochastic(Symbol(),timeframe,
                        StochKPeriod,StochDPeriod,StochSlowing,
                        MODE_SMA,1,MODE_SIGNAL,0);

    if(stoch_m > stoch_s){
        return (true);
    }
    return(false);

}


/*******************************************************************************
 * 
 * QQEによる売買判定
 *
 ******************************************************************************/
bool getQQEResult(int timeframe)
{
    double qqe_f;
    double qqe_s;
    qqe_f = iCustom(Symbol(),timeframe,"QQEA",
                    QQESf,QQERsiPeriod,QQEDarFactor,
                    0,0);
    qqe_s = iCustom(Symbol(),timeframe,"QQEA",
                    QQESf,QQERsiPeriod,QQEDarFactor,
                    1,0);

    if(qqe_f > qqe_s){
        return (true);
    }
    return (false);
}


/*******************************************************************************
 * 
 * ROCを求める
 *
 ******************************************************************************/
double ROC(string symbol, int timeframe, int period)
{
    double roc;
    roc = (iClose(symbol, timeframe,0) - iClose(symbol, timeframe, period));
    roc = roc /  iClose(symbol, timeframe, period);
    roc *= 100.0;
    
    return (roc);
}


/*******************************************************************************
 * 
 * カイ離率を求める
 *
 ******************************************************************************/
double DEV(string symbol, int timeframe, int period)
{
    double ma = iMA(symbol, timeframe, period, 0,MODE_EMA,PRICE_CLOSE, 0);
    
    double dev = (ma - Close[0]) / Close[0];    
    dev *= 100.0;
    
    return (dev);
}


/*******************************************************************************
 * 
 * 時間の描画
 *
 ******************************************************************************/
void DrawTime(int n) {
    int windex = WindowFind(g_short_name);
    string name = "Arrow" + n;
    
    if(ObjectFind(name) >= 0){
        ObjectDelete(name);
    }
    ObjectCreate(name, OBJ_TEXT, windex, Time[n], 1.0);
    ObjectSetText(name, "▲", 7, "MS UI Gothic", White);
    
    name = "Time" + n;
    if(ObjectFind(name) >= 0){
        ObjectDelete(name);
    }
    ObjectCreate(name, OBJ_TEXT, windex, Time[n], 0.95);
    ObjectSetText(name, Format(Time[n]), 7, "MS UI Gothic", White);
}


/*******************************************************************************
 * 
 * 時間の表示
 *
 ******************************************************************************/
string Format(datetime time) {
    time = time + TimeZone * 3600;
    int month = TimeMonth(time);
    int day = TimeDay(time);
    return(month + "/" + day + " " + TimeToStr(time, TIME_MINUTES));
}


