📅 财经日历 📊 实时波动 📈 大盘云图 📶 行情走势 🆚 投机情绪 🚀 今日热点

    Market Price

    2016-05-24 · 6243 阅读
    marketprice-v1.4-mt4.png


    1. //+------------------------------------------------------------------+
    2. //|                                           #MarketPrice _v1_4.mq4 |
    3. //|                                                       ServerUang |
    4. //|                                    http://www.indofx-trader.net/ |
    5. //+------------------------------------------------------------------+
    6. #property copyright "ServerUang"
    7. #property link      "http://www.indofx-trader.net/"

    8. #property indicator_chart_window
    9. extern string Settings_n_1 = "--------------------------";
    10. extern int Side = 1;
    11. extern int MP_Y = 0;
    12. extern int MP_X = 0;

    13. //--------------------------------------------------------------------
    14. extern string Settings_n_2 = "--------------------------";
    15. extern string Colors_Setting ="Setting for Colors";
    16. extern color Highest_Color          = Blue;
    17. extern color Distance_from_Highest_Color = DodgerBlue;
    18. extern color Lowest_Color           = Red;
    19. extern color Distance_from_Lowest_Color  = OrangeRed;
    20. extern color Hi_to_Lo_Color         = Peru;
    21. extern color Daily_Av_Up_Color      = Blue;
    22. extern color Daily_Av_Dn_Color      = Red;
    23. extern color Time_n_Spread_Color    = LimeGreen;
    24. extern color PipsToOpen_Up_Color    = Blue;
    25. extern color PipsToOpen_Dn_Color    = Red;

    26. //--------------------------------------------------------------------
    27. extern string Settings_n_3 = "--------------------------";
    28. extern string Signals_Settings = "Settings for Signals";
    29. extern bool  Show_Signals      = true;

    30. // BuySeLL Variable
    31. extern string BuySeLL_Settings = "--------------------------";
    32. extern int MAFast_Period = 1;
    33. extern int MAFast_Method = 0;
    34. extern int MAFast_Apply_To = 0;
    35. extern int MAFast_Shift = 0;

    36. extern int MASlow_Period = 4;
    37. extern int MASlow_Method = 0;
    38. extern int MASlow_Apply_To = 1;
    39. extern int MASlow_Shift = 0;

    40. // Trend Variable
    41. extern string TRend_Settings = "--------------------------";
    42. extern int TMAFast_Period = 1;
    43. extern int TMAFast_Method = 0;
    44. extern int TMAFast_Apply_To = 0;
    45. extern int TMAFast_Shift = 0;

    46. extern int TMASlow_Period = 20;
    47. extern int TMASlow_Method = 0;
    48. extern int TMASlow_Apply_To = 0;
    49. extern int TMASlow_Shift = 0;

    50. // Strength Variable
    51. extern string Strength_Settings = "--------------------------";
    52. extern int RSI_Period = 5;
    53. extern int RSI_PRICE_TYPE = 0;

    54. extern int CCI_Period = 20;
    55. extern int CCI_PRICE_TYPE = 0;

    56. extern int STOCH_K_Period = 5;
    57. extern int STOCH_D_Period = 3;
    58. extern int STOCH_Slowing = 3;
    59. extern int STOCH_MA_MODE = 0;
    60. extern int STOCH_Price_Field = 0;

    61. //--------------------------------------------------------------------
    62. extern string Settings_n_4 = "--------------------------";
    63. extern color LegendColor = Gainsboro;
    64. extern color PriceColor_Up = Blue;
    65. extern color PriceColor_Dn = Red;
    66. extern color NeutralColor = LightGray;

    67. extern color Arrow_Up = Lime;
    68. extern color Arrow_Dn = Gold;
    69. extern color Arrow_Nt = White;

    70. //===================================================================+
    71. double vA, vB, vC, TFs, High_Lama, Low_Lama;
    72. int TimeFrame, x, y, space, baris, fontsize, cTF, cCC, cX, cSTR, cTR;
    73. string text, fontname, Teks_Menit, Teks_Detik;
    74. string UpSymbol="?,  DnSymbol="?, NtSymbol="?, SignalSymbol;
    75. color SignalColor;

    76. // --- variabel Daili_Av --------------------------------------------+
    77. int    R1, R5, R10, R20, RAvg, n, i;
    78. string Teks_ReRata = "", Teks_Rerata_Kemarin ="";
    79. color  warna_ReRata, WarnaTeks;
    80. //-------------------------------------------------------------------+

    81. // --- Strength Variable ---
    82. double v_RSI, v_Stoch, v_CCI;
    83. //+------------------------------------------------------------------+
    84. //| Custom indicator initialization function                         |
    85. //+------------------------------------------------------------------+
    86. int init()
    87.   {
    88. //---- indicators
    89. //----
    90.    return(0);
    91.   }
    92. //+------------------------------------------------------------------+
    93. //| Custom indicator deinitialization function                       |
    94. //+------------------------------------------------------------------+
    95. int deinit()
    96.   {
    97. //----
    98.      for(int i = ObjectsTotal() - 1; i >= 0; i--)
    99.      {
    100.        string label = ObjectName(i);
    101.        if(StringSubstr(label, 0, 4) != "MP14")
    102.            continue;
    103.        ObjectDelete(label);   
    104.      }   //----
    105.    return(0);
    106.    
    107.    //ObjectsDeleteAll(0,OBJ_HLINE);
    108.    //ObjectsDeleteAll(0,OBJ_TEXT);
    109.    //ObjectsDeleteAll(0,OBJ_LABEL);
    110. //----
    111.    return(0);
    112.   }
    113. //+------------------------------------------------------------------+
    114. //| Custom indicator iteration function                              |
    115. //+------------------------------------------------------------------+
    116. int start()
    117.   {
    118.    int    counted_bars=IndicatorCounted();
    119. //----
    120.    // Price
    121.    TimeFrame = 15;
    122.    vA = iMA(Symbol(),0,1,0,MODE_EMA,PRICE_CLOSE,0);
    123.    vB = iMA(Symbol(), TimeFrame, MAFast_Period, MAFast_Shift, MAFast_Method, MAFast_Apply_To, 0);
    124.    vC = iMA(Symbol(), TimeFrame, MASlow_Period, MASlow_Shift, MASlow_Method, MASlow_Apply_To, 0);
    125.    Write("MP14001", Side, MP_X+9, MP_Y+22, DoubleToStr(vA,Digits), 34, "Arial", CheckColor(vB, vC, PriceColor_Up, PriceColor_Dn) );

    126.    // Highest
    127.    vB=iHigh(NULL,1440,0); text=DoubleToStr(vB, Digits);
    128.    Write("MP14002", Side, MP_X+100, MP_Y+14, text, 10, "Tahoma Bold", Highest_Color);
    129.    
    130.    // Lowest
    131.    vC=iLow(NULL,1440,0); text=DoubleToStr(vC, Digits);
    132.    Write("MP14003", Side, MP_X+100, MP_Y+62, text, 10, "Tahoma Bold", Lowest_Color);
    133.    
    134.    //--- Distance from Highest ---
    135.    text=DoubleToStr((vA-vB)/Point,0);
    136.    Write("MP14004", Side, MP_X+56, MP_Y+14, text, 10, "Tahoma Bold", Distance_from_Highest_Color);
    137.    
    138.    //--- Distance from Lowest ---
    139.    text=DoubleToStr((vA-vC)/Point,0);
    140.    Write("MP14005", Side, MP_X+56, MP_Y+62, text, 10, "Tahoma Bold", Distance_from_Lowest_Color);
    141.    
    142.    //--- Hi to Lo ---
    143.    text=DoubleToStr((vB-vC)/Point,0);
    144.    Write("MP14006", Side, MP_X+10, MP_Y+14, text, 10, "Tahoma Bold", Hi_to_Lo_Color);
    145.    
    146.    //--- Daily Av ---
    147.    R1=0; R5=0; R10=0; R20=0; RAvg=0; i=0;
    148.    R1 =  (iHigh(NULL,PERIOD_D1,1)-iLow(NULL,PERIOD_D1,1))/Point;
    149.    for(i=1;i<=5;i++)   
    150.      R5  = R5  + (iHigh(NULL,PERIOD_D1,i)-iLow(NULL,PERIOD_D1,i))/Point;
    151.    for(i=1;i<=10;i++)
    152.      R10 = R10 + (iHigh(NULL,PERIOD_D1,i)-iLow(NULL,PERIOD_D1,i))/Point;
    153.    for(i=1;i<=20;i++)
    154.      R20 = R20 + (iHigh(NULL,PERIOD_D1,i)-iLow(NULL,PERIOD_D1,i))/Point;

    155.    R5 = R5/5;
    156.    R10 = R10/10;
    157.    R20 = R20/20;
    158.    RAvg  =  (R1+R5+R10+R20)/4;   
    159.    
    160.    Teks_ReRata = (DoubleToStr(RAvg,Digits-4));
    161.    Teks_Rerata_Kemarin = (iHigh(NULL,PERIOD_D1,1)-iLow(NULL,PERIOD_D1,1))/Point;
    162.    
    163.    if (Teks_ReRata > Teks_Rerata_Kemarin) {warna_ReRata = Daily_Av_Up_Color;}
    164.       else {warna_ReRata = Daily_Av_Dn_Color;}
    165.       
    166.    Write("MP14007", Side, MP_X+10, MP_Y+62, Teks_ReRata, 10, "Tahoma Bold", warna_ReRata);
    167.    
    168.    //--- Time for Next Candle ---
    169.    vB = (Time[4]-Time[5])-MathMod(CurTime(),Time[4]-Time[5]);
    170.    vA = vB/60;
    171.    vB = (vA-MathFloor(vA))*60;
    172.    vA = MathFloor(vA);
    173.    Teks_Menit = DoubleToStr(vA,0);
    174.    Teks_Detik = DoubleToStr(vB,0);
    175.    text=Teks_Menit+":"+Teks_Detik;
    176.    Write("MP14008", Side, MP_X+100, MP_Y+74, text, 10, "Tahoma Bold", Time_n_Spread_Color);
    177.    
    178.    // --- Spread ---
    179.    vA = (Ask - Bid)/Point;
    180.    text = (DoubleToStr(vA, Digits-4));
    181.    Write("MP14009", Side, MP_X+56, MP_Y+74, text, 10, "Tahoma Bold", Time_n_Spread_Color);
    182.    
    183.    //--- Pips to Open ---
    184.    vA = iOpen(NULL,1440,0);
    185.    vB = iClose(NULL,1440,0);
    186.    SignalColor=CheckColor(vB, vA, PipsToOpen_Up_Color, PipsToOpen_Dn_Color);
    187.    text=DoubleToStr((vB-vA)/Point,0);
    188.    Write("MP14010", Side, MP_X+10, MP_Y+74, text, 10, "Tahoma Bold", SignalColor);
    189.    
    190.    //--- Show_Signals ---
    191.    if (Show_Signals)
    192.       {
    193. /*
    194.        // Pair, Pair color depand to Trend
    195.        vB = iMA(Symbol(), TimeFrame, TMAFast_Period, TMAFast_Shift, TMAFast_Method, TMAFast_Apply_To, 0);
    196.        vC = iMA(Symbol(), TimeFrame, TMASlow_Period, TMASlow_Shift, TMASlow_Method, TMASlow_Apply_To, 0);
    197.        Write("MP13001", Side, 85, 8, Symbol(), 16, "Arial Bold", CheckColor(vB, vC, PriceColor_Up, PriceColor_Dn) );
    198.    
    199.        // Price  color depand to Crossing MAfast and MAslow
    200.        vA = iMA(Symbol(),0,1,0,MODE_EMA,PRICE_CLOSE,0);
    201.        vB = iMA(Symbol(), TimeFrame, MAFast_Period, MAFast_Shift, MAFast_Method, MAFast_Apply_To, 0);
    202.        vC = iMA(Symbol(), TimeFrame, MASlow_Period, MASlow_Shift, MASlow_Method, MASlow_Apply_To, 0);
    203.        Write("MP13002", Side, 5, 5, DoubleToStr(vA,Digits), 20, "Arial Bold", CheckColor(vB, vC, PriceColor_Up, PriceColor_Dn) );
    204.        //Write("MP13002", Side, 10, 10, DoubleToStr(vA,Digits), 16, "Arial Bold", CheckColor(vB, vC, PriceColor_Up, PriceColor_Dn) );
    205. */   
    206.        // Legend
    207.        //cTF=MP_X+127; cCC=MP_X+99; cX=MP_X+81; cSTR=MP_X+53; cTR=MP_X+25;
    208.        cTF=MP_X+127; cCC=MP_X+99; cX=MP_X+76; cSTR=MP_X+40; cTR=MP_X+10;
    209.        Write("MP14011", Side, MP_X+cTF,  MP_Y+90, "TF", 10, "Arial", LegendColor); //152
    210.        Write("MP14012", Side, MP_X+cCC,  MP_Y+90, "CC", 10, "Arial", LegendColor); //116
    211.        Write("MP14013", Side, MP_X+cX-5, MP_Y+90, "BS", 10, "Arial", LegendColor);  //086
    212.        Write("MP14014", Side, MP_X+cSTR, MP_Y+90, "Str", 10, "Arial", LegendColor); //048
    213.        Write("MP14015", Side, MP_X+cTR,  MP_Y+90, "TR", 10, "Arial", LegendColor); //012
    214.    
    215.        x=cTF; //154
    216.        y=MP_Y+106; space=12; fontname="Arial"; fontsize=8;
    217.        Write("MP14016", Side, x, y+(00*space), "MN", fontsize, fontname, LegendColor);
    218.        Write("MP14017", Side, x, y+(01*space), "W1", fontsize, fontname, LegendColor);
    219.        Write("MP14018", Side, x, y+(02*space), "D1", fontsize, fontname, LegendColor);
    220.    
    221.        Write("MP14019", Side, x, y+(04*space), "H4", fontsize, fontname, LegendColor);
    222.        Write("MP14020", Side, x, y+(05*space), "H1", fontsize, fontname, LegendColor);
    223.        Write("MP14021", Side, x, y+(06*space), "M30", fontsize, fontname, LegendColor);
    224.    
    225.        Write("MP14022", Side, x, y+(08*space), "M15", fontsize, fontname, LegendColor);
    226.        Write("MP14023", Side, x, y+(09*space), "M5", fontsize, fontname, LegendColor);
    227.        Write("MP14024", Side, x, y+(10*space), "M1", fontsize, fontname, LegendColor);
    228.    
    229.        // LOOP
    230.        n=1; y=MP_Y+106; space=12;
    231.        while (n<=9)
    232.              {
    233.               switch (n)
    234.                 {
    235.                  case 1: TFs = 43200;  baris=0;  break;
    236.                  case 2: TFs = 10080;  baris=1;  break;
    237.                  case 3: TFs =  1440;  baris=2;  break;
    238.               
    239.                  case 4: TFs =   240;  baris=4;  break;
    240.                  case 5: TFs =    60;  baris=5;  break;
    241.                  case 6: TFs =    30;  baris=6;  break;
    242.               
    243.                  case 7: TFs =    15;  baris=8;  break;
    244.                  case 8: TFs =     5;  baris=9;  break;
    245.                  case 9: TFs =     1;  baris=10; break;
    246.                 }//switch
    247.             
    248.                 // Trend;
    249.                 vA = iMA(Symbol(),TFs, TMAFast_Period, TMAFast_Shift, TMAFast_Method, TMAFast_Apply_To, 0);
    250.                 vB = iMA(Symbol(),TFs, TMASlow_Period, TMASlow_Shift, TMASlow_Method, TMASlow_Apply_To, 0);
    251.                 if (vA>vB)
    252.                    { SignalSymbol=UpSymbol; SignalColor=Arrow_Up; }
    253.                 else if  (vA<vB)
    254.                    { SignalSymbol=DnSymbol; SignalColor=Arrow_Dn; }
    255.                 else {SignalSymbol=NtSymbol; SignalColor=Arrow_Nt; }
    256.                 Write("MP14025"+DoubleToStr(n,0), Side, cTR, y+(baris*space), SignalSymbol, 10, "Wingdings", SignalColor );
    257.             
    258.                 // STR Signals
    259.                 v_RSI   = iRSI(Symbol(), TFs, RSI_Period , RSI_PRICE_TYPE, 0);
    260.                 v_Stoch = iStochastic(Symbol(), TFs, STOCH_K_Period,STOCH_D_Period,STOCH_Slowing, STOCH_MA_MODE, STOCH_Price_Field, MODE_MAIN, 0);
    261.                 v_CCI   = iCCI(Symbol(), TFs,CCI_Period , CCI_PRICE_TYPE, 0);
    262.                
    263.                 if ((v_RSI > 50) && (v_Stoch > 40) && (v_CCI > 0)) { SignalSymbol = UpSymbol; SignalColor = Arrow_Up ;}
    264.                 else if ((v_RSI < 50) && (v_Stoch < 60) && (v_CCI < 0)) { SignalSymbol = DnSymbol; SignalColor = Arrow_Dn ;}
    265.             
    266.                 //netral condition
    267.                 else if ((v_RSI < 50) && (v_Stoch > 40) && (v_CCI > 0)) { SignalSymbol = NtSymbol;  SignalColor = Arrow_Nt; }
    268.                 else if ((v_RSI > 50) && (v_Stoch < 60) && (v_CCI < 0)) { SignalSymbol = NtSymbol;  SignalColor = Arrow_Nt; }
    269.                 else if ((v_RSI < 50) && (v_Stoch > 40) && (v_CCI < 0)) { SignalSymbol = NtSymbol;  SignalColor = Arrow_Nt; }
    270.                 else if ((v_RSI > 50) && (v_Stoch < 60) && (v_CCI > 0)) { SignalSymbol = NtSymbol;  SignalColor = Arrow_Nt; }
    271.                 else if ((v_RSI > 50) && (v_Stoch > 40) && (v_CCI < 0)) { SignalSymbol = NtSymbol;  SignalColor = Arrow_Nt; }
    272.                 else if ((v_RSI > 50) && (v_Stoch < 60) && (v_CCI < 0)) { SignalSymbol = NtSymbol;  SignalColor = Arrow_Nt; }
    273.             
    274.                 Write("MP14026"+DoubleToStr(n,0), Side, cSTR, y+(baris*space), SignalSymbol, 10, "Wingdings", SignalColor );
    275.             
    276.             
    277.                 // BuySell Crossing
    278.                 vB = iMA(Symbol(), TFs, MAFast_Period, MAFast_Shift, MAFast_Method, MAFast_Apply_To, 0);
    279.                 vC = iMA(Symbol(), TFs, MASlow_Period, MASlow_Shift, MASlow_Method, MASlow_Apply_To, 0);
    280.                 if (vB>vC)
    281.                    { SignalSymbol=UpSymbol; SignalColor=Arrow_Up; }
    282.                 else { SignalSymbol=DnSymbol; SignalColor=Arrow_Dn; }
    283.                 Write("MP14027"+DoubleToStr(n,0), Side, cX-3, y+(baris*space), SignalSymbol, 10, "Wingdings", SignalColor);
    284.             
    285.             
    286.                 // CandleColor
    287.                 vC = iClose( NULL , TFs, 0) - iOpen( NULL , TFs, 0);
    288.                 if ( vC > 0 )
    289.                    { SignalColor = PriceColor_Up;  SignalSymbol="n"; }
    290.                 else if ( vC < 0 )  { SignalColor = PriceColor_Dn; SignalSymbol="n"; }
    291.                 else { SignalColor = NeutralColor; SignalSymbol="?; }
    292.                 Write("MP14028"+DoubleToStr(n,0), Side, cCC+2, y+(baris*space), SignalSymbol, 10, "Wingdings", SignalColor ); //x=120
    293.                
    294.                
    295.                 Write("MP14029", Side, cTR, y+((baris+1)*space), "Created by ServerUang", 7, "Tahoma Narrow", Gray);
    296.             
    297.                 n++;
    298.              } //end while
    299.          
    300.          }//Show
    301.          else Write("MP14030", Side, MP_X+10, MP_Y+90, "Created by ServerUang", 7, "Tahoma Narrow", Gray);

    302. //----
    303.    return(0);
    304.   }
    305. //+------------------------------------------------------------------+
    306. //+------------------------------------------------------------------+
    307. //+------------------------------------------------------------------+

    308. // Write Procedure
    309. void Write(string LBL, double side, int pos_x, int pos_y, string text, int fontsize, string fontname, color Tcolor=CLR_NONE)
    310.      {
    311.        ObjectCreate(LBL, OBJ_LABEL, 0, 0, 0);
    312.        ObjectSetText(LBL,text, fontsize, fontname, Tcolor);
    313.        ObjectSet(LBL, OBJPROP_CORNER, side);
    314.        ObjectSet(LBL, OBJPROP_XDISTANCE, pos_x);
    315.        ObjectSet(LBL, OBJPROP_YDISTANCE, pos_y);
    316.      }
    317.      
    318.      
    319. // CheckColor Function

    320. color CheckColor(double a, double b, color u, color d)
    321.       {
    322.         if (a>b) { return (u); } else { return (d); }
    323.       }

    324. //+------------------------------------------------------------------+
    复制代码


    #MarketPrice _v1_4.mq4
    ""
    还没有人打赏,支持一下
    回复

    举报

     

    回答|共 9 个

    bzzyr LV1

    发表于 2016-9-3 23:22:01 | 显示全部楼层

    总算找到了。。。。

    随风潜入 LV3

    发表于 2020-7-7 18:01:33 | 显示全部楼层

    帮你顶下哈!!

    raul LV3

    发表于 2020-7-8 21:46:54 | 显示全部楼层

    学习了,不错

    lingling LV0

    发表于 2020-7-11 14:12:06 | 显示全部楼层

    谢谢楼主分享

    628719 LV3

    发表于 2020-8-4 10:00:26 | 显示全部楼层

    帮你顶下哈!!

    搜狐朋狗友 LV3

    发表于 2020-8-21 21:05:49 | 显示全部楼层

    谢谢楼主分享

    小弥陀 LV3

    发表于 2024-7-17 20:37:08 | 显示全部楼层

    支持下

    拜读指甲 LV1

    发表于 2026-2-21 18:17:04 | 显示全部楼层

    谢谢
    您需要登录后才可以回帖 登录 | 注册

    提醒: 禁止引战、谩骂、灌水内容

    微信二维码

    有问题联系客服