Author: Ron T
10Min_011

The "10 Minute Trader" is a specialized technical analysis tool designed to help traders identify potential entry points by combining multiple market indicators into a single visual layout. Instead of requiring you to monitor several different windows and charts, this script consolidates four major trading signals—Moving Averages, RSI (Relative Strength Index), Stochastic Oscillators, and MACD (Moving Average Convergence Divergence)—into a streamlined set of visual markers.

Core Logic and Indicators

The script works by continuously scanning historical and real-time price data to calculate the following metrics:

  • Trend Detection (Moving Averages): It monitors the relationship between a Linear Weighted Moving Average (LWMA) and a Simple Moving Average (SMA). The primary logic focuses on "crossovers," where these two averages intersect.
  • Momentum & Strength (RSI): It tracks the Relative Strength Index to determine if an asset is overbought, oversold, or trending with strength.
  • Overbought/Oversold Conditions (Stochastic): It utilizes Stochastic Oscillators to identify when price movements are reaching extreme levels.
  • Trend Confirmation (MACD): It calculates the MACD Signal line to provide a secondary layer of confirmation regarding the direction of the trend.

How the Visual Signals Work

The script translates these complex mathematical calculations into specific symbols on your chart:

Buy and Sell Signals:

  • Up/Down Arrows: These are triggered primarily by moving average crossovers. An arrow appears when the faster average (LWMA) crosses over the slower average (SMA), indicating a potential shift in trend direction.
  • Supporting Markers: When these primary crossover events occur, the script looks for additional confirmation. If specific conditions are met regarding RSI strength, Stochastic positioning, or MACD signals at that exact moment, it places extra markers (squares/dots) to signify a higher-probability setup.

Extreme Condition Alerts:

  • Trend Intensity Dots: The script also monitors for extreme market conditions independently of the averages. It identifies "Overbought" zones (where RSI is very high or Stochastic values are at the top of their range) and "Oversold" zones (where RSI is very low or Stochastic values are at the bottom). These appear as distinct dots, alerting you to potentially exhausted price moves.

Summary for the User

In plain terms, this tool acts as a filter. It looks for moments where several different types of market math agree with each other simultaneously. By placing arrows and squares directly on your price chart, it highlights areas where trend changes and momentum are aligning, helping you spot potential trading opportunities more quickly than by looking at the raw data alone.

Indicators Used
Moving average indicatorStochastic oscillatorRelative strength indexMACD Histogram
Miscellaneous
Implements a curve of type %1
17 Views
0 Downloads
0 Favorites
10Min_011
//+------------------------------------------------------------------+
//| 10 Minute trader                                                 |
//+------------------------------------------------------------------+
#property copyright "Ron T"
#property link      "http://www.lightpatch.com"

#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 HotPink  // arrow up for moving average
#property indicator_color2 HotPink  // arrow down for moving average
#property indicator_color3 Aqua   // box for stoch
#property indicator_color4 Red    // box for rsi
#property indicator_color5 White  // box for macd
#property indicator_color6 White  // dot
#property indicator_color7 HotPink  // dot

//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
double ExtMapBuffer6[];
double ExtMapBuffer7[];


// User Input


//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//|------------------------------------------------------------------|

int init()
  {

   // 233 up arrow
   // 234 down arrow
   // 159 big dot
   // 168 open square
   
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexBuffer(0, ExtMapBuffer1);
   SetIndexArrow(0,233);  //up
   
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexBuffer(1, ExtMapBuffer2);
   SetIndexArrow(1,234);  //down

   SetIndexStyle(2,DRAW_ARROW);
   SetIndexBuffer(2, ExtMapBuffer3);
   SetIndexArrow(2,168);  //open square

   SetIndexStyle(3,DRAW_ARROW);
   SetIndexBuffer(3, ExtMapBuffer4);
   SetIndexArrow(3,168);  //open square

   SetIndexStyle(4,DRAW_ARROW);
   SetIndexBuffer(4, ExtMapBuffer5);
   SetIndexArrow(4,168);  //open square

   SetIndexStyle(5,DRAW_ARROW);
   SetIndexBuffer(5, ExtMapBuffer6);
   SetIndexArrow(5,159);  //dot

   SetIndexStyle(6,DRAW_ARROW);
   SetIndexBuffer(6, ExtMapBuffer7);
   SetIndexArrow(6,159);  //dot

   return(0);
  }


//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   int i;
   
   for( i=0; i<Bars; i++ ) ExtMapBuffer1[i]=0;
   for( i=0; i<Bars; i++ ) ExtMapBuffer2[i]=0;
   for( i=0; i<Bars; i++ ) ExtMapBuffer3[i]=0;
   for( i=0; i<Bars; i++ ) ExtMapBuffer4[i]=0;
   for( i=0; i<Bars; i++ ) ExtMapBuffer5[i]=0;
   for( i=0; i<Bars; i++ ) ExtMapBuffer6[i]=0;
   for( i=0; i<Bars; i++ ) ExtMapBuffer7[i]=0;

   return(0);
  }


//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   double    wma=0,    wma_p=0;  // linear Weighted Moving Average & Previous
   double    sma=0,    sma_p=0;  // Simple Moving Average & Previous
   double stochm=0;              // STOCHastic Main
   double stochm1=0, stochm2=0;  // long chain stochm 1&2
   double stochm3=0, stochm4=0;  // long chain stochm 3&4
   double stochs=0;              // STOCHastic Signal
   double stochs1=0, stochs2=0;  // long chain stochs 1&2
   double stochs3=0, stochs4=0;  // long chain stochs 3&4
   double  macdm=0;              // Moving Average Convergance Divergance Main
   double  macds=0;              // Moving Average Convergance Divergance Signal
   double    rsi=0;              // Relative Strength Indicator
   double   rsi1=0,     rsi2=0;  // long chain rsi 1&2
   double   rsi3=0,     rsi4=0;  // long chain rsi 3&4
     
   int pos=Bars-100;             // leave room for moving average periods
      
   while(pos>=0)
     {
     
      wma_p=wma; // save previous calculations
      wma=iMA(Symbol(),0,10,0,MODE_LWMA,PRICE_CLOSE,pos);

      sma_p=sma; // save previous calculations
      sma=iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE,pos);
      
      stochs=iStochastic(Symbol(),0,10,6,6,0,1,1,pos);
      stochs=iStochastic(Symbol(),0,10,6,6,0,1,1,pos+1);
      stochs=iStochastic(Symbol(),0,10,6,6,0,1,1,pos+2);
      stochs=iStochastic(Symbol(),0,10,6,6,0,1,1,pos+3);
      stochs=iStochastic(Symbol(),0,10,6,6,0,1,1,pos+4);

      stochm=iStochastic(Symbol(),0,10,6,6,0,1,0,pos);
      stochm1=iStochastic(Symbol(),0,10,6,6,0,1,0,pos+1);
      stochm2=iStochastic(Symbol(),0,10,6,6,0,1,0,pos+2);
      stochm3=iStochastic(Symbol(),0,10,6,6,0,1,0,pos+3);
      stochm4=iStochastic(Symbol(),0,10,6,6,0,1,0,pos+4);

      rsi=iRSI(Symbol(),0,28,PRICE_CLOSE,pos);
      rsi1=iRSI(Symbol(),0,28,PRICE_CLOSE,pos+1);
      rsi2=iRSI(Symbol(),0,28,PRICE_CLOSE,pos+2);
      rsi3=iRSI(Symbol(),0,28,PRICE_CLOSE,pos+3);
      rsi4=iRSI(Symbol(),0,28,PRICE_CLOSE,pos+4);
      
      macdm=iMACD(Symbol(),0,24,52,18,0,0,pos);
      macds=iMACD(Symbol(),0,24,52,18,0,1,pos);
      
      // RISING stochastic cross
      // if (stochm1>stochm && stochs1<stochs && stochs>stochm)

      // FALLING stochastic cross
      // if (stochm1<stochm && stochs1>stochs && stochs<stochm)


      if ( wma_p < sma_p && wma > sma )
        {
         ExtMapBuffer1[pos]=wma - 0.0003;

         if (rsi > 52 && ( rsi1<48 || rsi2<48 || rsi3<48 || rsi4<48 ) )   //blue
           {
            ExtMapBuffer3[pos]=wma + 0.0003;
           }
         if (stochm>stochs)                                               //red
           {
            ExtMapBuffer4[pos]=wma + 0.0006;
           }
         if (macds > 0)                                                   //white
           {
            ExtMapBuffer5[pos]=wma + 0.0009;
           }
        }

      if ( wma_p > sma_p && wma < sma )
        {
         ExtMapBuffer2[pos]=wma + 0.0003;

         if (rsi < 48 && ( rsi1>52 || rsi2>52 || rsi3>52 || rsi4>52 ) )
           {
            ExtMapBuffer3[pos]=wma - 0.0003;
           }
         if (stochm < stochs)
           {
            ExtMapBuffer4[pos]=wma - 0.0006;
           }
         if (macds < 0)
           {
            ExtMapBuffer5[pos]=wma - 0.0009;
           }
        }

      if (rsi > 60 )   //white dot
        {
         ExtMapBuffer6[pos]=wma + 0.0007;
        }
      if (stochm > 80)
        {
          ExtMapBuffer7[pos]=wma + 0.0008;
        }


      if (rsi < 40 )   //white dot
        {
         ExtMapBuffer6[pos]=wma - 0.0007;
        }
      if (stochm < 20)
        {
          ExtMapBuffer7[pos]=wma - 0.0008;
        }



 	   pos--;
     }

   return(0);
  }
//+------------------------------------------------------------------+

Comments