RSI Candle indior
Results 1 to 8 of 8

Thread: RSI Candle indior

  1. #1
    I am after some help if somebody is willing.

    I have been trading for over 6 decades now and the only indiions that have made me powerful are Volume, Market Profile, Powerful support and resistance areas, and trading for profits within the ranges of this time frame.

    There is 1 indior that I keep on my display that's that the RSI, not that I cant identify overbought and oversold places however in process of trading sometimes I believe it is helpful so I don't miss the obvious. I'd love to remove the RSI from dividing the display and loe the only way to do this is to have the pub change color only as it reaches over 70 and under 20. I've tried to code this myself previously but with limited success.

    If there is anyone out there that would be willing to help it would be greatly appreciated.

    Many thanks

  2. #2
    Thank future spec I can read in the code what you've done and exactly what I was after. I was able to code myself to get a arrow sign but what you've done is exactly how I wanted it.

    Thanks again.

  3. #3
    Found a few code and altered and all functions now.

  4. #4
    Try this.
    Not sure what exactly you would like.
    (Just highlighted after affirmed cross of level)

    HTH

    M.
    https://www.nigeriaforextrading.com/...2108403861.mq4

  5. #5

  6. #6

  7. #7
    Quote Originally Posted by ;
    file
    Thanks very, very much for your quick reply

  8. #8
    The code below offer a sign in the RSI screen but can not fix it to paint a candle when it reaches levels.

    // ------------------------------------------------------------------
    //| trading hours.mq4 |
    //| Copyright 2013, MetaQuotes Software Corp.. |
    //| http://www.metaquotes.net |
    // ------------------------------------------------------------------
    #property copyright Copyright 2013, MetaQuotes Software Corp..
    #property link http://www.metaquotes.net
    #property indior_separate_window
    #property indior_buffers 3
    #property indior_color1 DodgerBlue
    #property indior_color2 Green
    #property indior_color3 Red
    #property indior_maximum 90#property indior_minimum 10
    #property indior_level1 70
    #property indior_level2 50
    #property indior_level3 30
    #property indior_levelcolor DarkGray
    extern int RSIPeriod=14;
    //-- buffers
    double buf_RSI[];
    double buf_buy[];
    double buf_sell[];
    double buf_pos[];
    double buf_neg[];
    // ------------------------------------------------------------------
    //| Custom indior initialization function |
    // ------------------------------------------------------------------
    int init()

    IndiorBuffers(5);
    string short_name = RSI( RSIPeriod );
    //-- indiors
    SetIndexBuffer(0,buf_RSI);
    SetIndexStyle(0,DRAW_LINE,0,1);
    SetIndexLabel(0,short_name);
    SetIndexBuffer(1,buf_buy);
    SetIndexStyle(1,DRAW_ARROW,0,0);
    SetIndexLabel(1,NULL);
    SetIndexBuffer(2,buf_sell);
    SetIndexStyle(2,DRAW_ARROW,0,0);
    SetIndexLabel(2,NULL);
    SetIndexBuffer(3,buf_pos);
    // SetIndexBuffer(3,DRAW_NONE);
    // SetIndexLabel(3,NULL);
    SetIndexBuffer(4,buf_neg);
    // SetIndexBuffer(4,DRAW_NONE);
    // SetIndexLabel(4,NULL);

    IndiorShortName(short_name);
    IndiorDigits(Digits);
    //--
    return(0);

    // ------------------------------------------------------------------
    //| Custom indior iteration function |
    // ------------------------------------------------------------------
    int start()

    int I,counted_bars=IndiorCounted();
    double rel,negative,positive;
    //--
    if(Barslt;=RSIPeriod) return(0);
    //-- initial zero
    if(counted_barslt;1)
    for(I=1;ilt;=RSIPeriod;I )

    buf_RSI[Bars-i]=0.0;

    //--
    I=Bars-RSIPeriod-1;
    if(counted_barsgt;=RSIPeriod) I=Bars-counted_bars-1;
    while(igt;=0)

    double sumn=0.0,sump=0.0;
    if(I==Bars-RSIPeriod-1)

    int k=Bars-2;
    //-- initial accumulation
    while(kgt;=I)

    rel=Close[k]-Close[k 1];
    if(relgt;0) sump =rel;
    else sumn-=rel;
    k--;

    positive=sump/RSIPeriod;
    negative=sumn/RSIPeriod;

    else

    //-- smoothed moving average
    rel=Close-Close[I 1];
    if(relgt;0) sump=rel;
    else sumn=-rel;
    positive=(buf_pos[I 1]*(RSIPeriod-1) sump)/RSIPeriod;
    negative=(buf_neg[I 1]*(RSIPeriod-1) sumn)/RSIPeriod;

    buf_pos=positive;
    buf_neg=negative;
    if(negative==0.0) buf_RSI=0.0;
    else buf_RSI=100.0-100.0/(1 positive/negative);
    I--;


    I=Bars-RSIPeriod-2;
    while(igt;=0)

    if(buf_RSI[I 1]lt;70 buf_RSI gt;= 70)

    buf_sell = buf_RSI;


    if(buf_RSI[I 1]gt;30 buf_RSI lt;= 30)

    buf_buy = buf_RSI;

    I--;

    //--
    return(0);

    // ------------------------------------------------------------------

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.