Orders Execution
Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
st_ind_2
/*-----------------------------+
| |
| Shared by www.Aptrafx.com |
| |
+------------------------------*/
//+------------------------------------------------------------------+
//| 5 Min RSI 12-period qual INDICATOR |
//+------------------------------------------------------------------+
#property copyright "Ron T"
#property link "http://www.lightpatch.com"
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 White
#property indicator_color2 Red
#property indicator_color3 White
#property indicator_color4 Red
#property indicator_color5 White
#property indicator_color6 Red
//---- buffers
double Buffer1[];
double Buffer2[];
double Buffer3[];
double Buffer4[];
double Buffer5[];
double Buffer6[];
// User Input
extern double MovingAvg=10;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//|------------------------------------------------------------------|
int init()
{
// 233 up arrow
// 234 down arrow
// 159 big dot
// 158 little dot
// 168 open square
// 120 box with X
SetIndexStyle(0,DRAW_ARROW);
SetIndexBuffer(0, Buffer1);
SetIndexArrow(0,159); //big dot
SetIndexStyle(1,DRAW_ARROW);
SetIndexBuffer(1, Buffer2);
SetIndexArrow(1,159); //big dot
SetIndexStyle(2,DRAW_ARROW);
SetIndexBuffer(2, Buffer3);
SetIndexArrow(2,158); //little dot
SetIndexStyle(3,DRAW_ARROW);
SetIndexBuffer(3, Buffer4);
SetIndexArrow(3,158); //little dot
SetIndexStyle(4,DRAW_ARROW);
SetIndexBuffer(4, Buffer5);
SetIndexArrow(4,233); //arrow
SetIndexStyle(5,DRAW_ARROW);
SetIndexBuffer(5, Buffer6);
SetIndexArrow(5,234); //arrow
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
int i;
for( i=0; i<Bars; i++ ) Buffer1[i]=0;
for( i=0; i<Bars; i++ ) Buffer2[i]=0;
for( i=0; i<Bars; i++ ) Buffer3[i]=0;
for( i=0; i<Bars; i++ ) Buffer4[i]=0;
for( i=0; i<Bars; i++ ) Buffer5[i]=0;
for( i=0; i<Bars; i++ ) Buffer6[i]=0;
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int pos=Bars-100; // leave room for moving average periods
double cMA=0, pMA=0;
bool found=false;
bool rising=false;
bool falling=false;
bool bought=false;
bool sold=false;
int cnt=0;
int err=0;
while(pos>=0)
{
// get 1 & 2 MA (avoid 0, as it's too noisy)
// (possible mod - open of 0 and 1 has no noise)
cMA=iMA(Symbol(), 0, MovingAvg, 0, MODE_LWMA, PRICE_CLOSE, pos);
pMA=iMA(Symbol(), 0, MovingAvg, 0, MODE_LWMA, PRICE_CLOSE, pos+1);
if (pMA<=cMA) {rising=true; falling=false; Buffer3[pos]=High[pos];}
if (pMA>=cMA) {rising=false; falling=true; Buffer4[pos]=Low[pos];}
// Does the Symbol() have an open order
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol())
{
// if found, get all the trailing stoploss data
// from bar 1 not 0
found=true;
if (OrderType()==0) {bought=true; sold=false;}
if (OrderType()==1) {bought=false; sold=true;}
break;
}
else
{
found=false;
}
}
// Draw a big dot if there
// is an order open so user
// can tell it's in progress
if (found && bought)
{
Buffer1[pos]=High[pos];
return(0);
}
if (found && sold)
{
Buffer2[pos]=Low[pos];
return(0);
}
if (rising && sold) //existing sell
{
Buffer6[pos]=Low[pos];
}
if (falling && bought) // existing buy
{
Buffer5[pos]=High[pos];
}
pos--;
}
return(0);
}
//+------------------------------------------------------------------+
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---