100ma

楼主  收藏   举报   帖子创建时间:  2019-05-05 05:15 回复:0 关注量:231
EURUSDM30.png

  1. //+------------------------------------------------------------------+
  2. //| 5 Min RSI 12-period qual INDICATOR                               |
  3. //+------------------------------------------------------------------+
  4. #property copyright "Ron T"
  5. #property link      "http://www.lightpatch.com"

  6. #property indicator_chart_window
  7. #property indicator_buffers 8

  8. #property indicator_color1 Red
  9. #property indicator_color2 HotPink
  10. #property indicator_color3 DarkGray
  11. #property indicator_color4 Red

  12. #property indicator_color5 White
  13. #property indicator_color6 LightGray
  14. #property indicator_color7 DarkGray
  15. #property indicator_color8 White


  16. //---- buffers
  17. double Buffer1[];
  18. double Buffer2[];
  19. double Buffer3[];
  20. double Buffer4[];
  21. double Buffer5[];
  22. double Buffer6[];
  23. double Buffer7[];
  24. double Buffer8[];


  25. // User Input


  26. //+------------------------------------------------------------------+
  27. //| Custom indicator initialization function                         |
  28. //|------------------------------------------------------------------|

  29. int init()
  30.   {

  31.    // 233 up arrow
  32.    // 234 down arrow
  33.    // 159 big dot
  34.    // 158 little dot
  35.    // 168 open square
  36.    // 120 box with X
  37.    
  38.    SetIndexStyle(0,DRAW_ARROW);
  39.    SetIndexBuffer(0, Buffer1);
  40.    SetIndexArrow(0,159);
  41.    
  42.    SetIndexStyle(1,DRAW_ARROW);
  43.    SetIndexBuffer(1, Buffer2);
  44.    SetIndexArrow(1,158);

  45.    SetIndexStyle(2,DRAW_ARROW);
  46.    SetIndexBuffer(2, Buffer3);
  47.    SetIndexArrow(2,112);

  48.    SetIndexStyle(3,DRAW_ARROW);
  49.    SetIndexBuffer(3, Buffer4);
  50.    SetIndexArrow(3,120);

  51.    SetIndexStyle(4,DRAW_ARROW);
  52.    SetIndexBuffer(4, Buffer5);
  53.    SetIndexArrow(4,159);

  54.    SetIndexStyle(5,DRAW_ARROW);
  55.    SetIndexBuffer(5, Buffer6);
  56.    SetIndexArrow(5,158);

  57.    SetIndexStyle(6,DRAW_ARROW);
  58.    SetIndexBuffer(6, Buffer7);
  59.    SetIndexArrow(6,112);

  60.    SetIndexStyle(7,DRAW_ARROW);
  61.    SetIndexBuffer(7, Buffer8);
  62.    SetIndexArrow(7,120);

  63.    return(0);
  64.   }


  65. //+------------------------------------------------------------------+
  66. //| Custor indicator deinitialization function                       |
  67. //+------------------------------------------------------------------+
  68. int deinit()
  69.   {
  70.    int i;
  71.    
  72.    for( i=0; i<Bars; i++ ) Buffer1[i]=0;
  73.    for( i=0; i<Bars; i++ ) Buffer2[i]=0;
  74.    for( i=0; i<Bars; i++ ) Buffer3[i]=0;
  75.    for( i=0; i<Bars; i++ ) Buffer4[i]=0;
  76.    for( i=0; i<Bars; i++ ) Buffer5[i]=0;
  77.    for( i=0; i<Bars; i++ ) Buffer6[i]=0;
  78.    for( i=0; i<Bars; i++ ) Buffer7[i]=0;
  79.    for( i=0; i<Bars; i++ ) Buffer8[i]=0;

  80.    return(0);
  81.   }


  82. //+------------------------------------------------------------------+
  83. //| Custom indicator iteration function                              |
  84. //+------------------------------------------------------------------+

  85. // Current position if 55/45 or over/under. Does any of
  86. // the previous 'qual' period ever fall below55/above45? (last11)
  87. //
  88. // If qual*2 periods have been above55/below45
  89. // then lets not try to transact any more (last22)
  90.          

  91. int start()
  92.   {
  93.    int      pos=Bars-100; // leave room for moving average periods
  94.    int      ctr=0;

  95.    double   cMAfst=0, pMAfst=0;
  96.    double   cMAmid=0, pMAmid=0;
  97.    double   cMAslo=0, pMAslo=0;
  98.    double   MA100=0;
  99.    
  100.    bool     rising=false;
  101.    bool    falling=false;
  102.       
  103.    double p=Point();
  104.    
  105.    while(pos>=1)
  106.      {

  107.       cMAfst=iMA(Symbol(),0,5  ,0,MODE_LWMA,PRICE_OPEN, pos);
  108.       pMAfst=iMA(Symbol(),0,5  ,0,MODE_LWMA,PRICE_OPEN, pos+1);

  109.       cMAmid=iMA(Symbol(),0,25 ,0,MODE_LWMA,PRICE_OPEN, pos);
  110.       pMAmid=iMA(Symbol(),0,25 ,0,MODE_LWMA,PRICE_OPEN, pos+1);
  111.       
  112.       cMAslo=iMA(Symbol(),0,100,0,MODE_LWMA,PRICE_OPEN, pos);
  113.       pMAslo=iMA(Symbol(),0,100,0,MODE_LWMA,PRICE_OPEN, pos+1);

  114.       // rising
  115.       if (pMAmid<=pMAslo && cMAmid>=cMAslo)
  116.         {
  117.          rising=true;
  118.          falling=false;
  119.          ctr=0;
  120.         }

  121.       //falling
  122.       if (pMAmid>=pMAslo && cMAmid<=cMAslo)
  123.         {
  124.          rising=false;
  125.          falling=true;
  126.          ctr=0;
  127.         }
  128.       
  129.       ctr++;
  130.       if (ctr>30 && falling) {Buffer1[pos]=cMAmid;}
  131.       if (ctr>30 && rising)  {Buffer5[pos]=cMAmid;}

  132.            pos--;
  133.      }

  134.    return(0);
  135.   }
  136. //+------------------------------------------------------------------+
打赏