0
Views
0
Downloads
0
Favorites
spread_lines
//+--------------------------------------------------------------------+
//| Copyright 2015, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//| Indicator : Spread Lines | |
//| Author: file45 - https://www.mql5.com/en/users/file45/publications |
//+--------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#property indicator_chart_window
input color Ask_Line = MediumSeaGreen; // Ask Line Color
input color Bid_Line = Red; // Bid Line Color
input int Line_Width = 1; // Line Width : 1, 2, 3, 4, 5, 6, 7, .....
input string a = " * * * * * "; // Line Style effective only if Line Width = 1
input ENUM_LINE_STYLE Line_Style = 1; // Line Style
input string b = " * * * * * "; // N.O.T.E. -> For true chart spread only, SA must = 0
input string c = " * * * * * "; // Other broker spread - chart spread = SA +/- value
input int SA = 0; // SA - Spread Adjuster
input bool CF = true; // Chart on Forground
input bool SAL = true; // Show Ask Line
int OnInit()
{
return(INIT_SUCCEEDED);
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
ChartForegroundSet(CF,0);
ChartAskSet(SAL,0);
ObjectCreate(0, "ALine", OBJ_HLINE , 0,Time[0], 0);
ObjectSet("ALine", OBJPROP_STYLE, Line_Style);
ObjectSet("ALine", OBJPROP_COLOR, Ask_Line);
ObjectSet("ALine", OBJPROP_WIDTH, Line_Width);
ObjectSet("ALine", OBJPROP_PRICE1, Ask + SA*Point);
ObjectCreate(0, "BLine", OBJ_HLINE , 0,Time[0], 0);
ObjectSet("BLine", OBJPROP_STYLE, Line_Style);
ObjectSet("BLine", OBJPROP_COLOR, Bid_Line);
ObjectSet("BLine", OBJPROP_WIDTH, Line_Width);
ObjectSet("BLine", OBJPROP_PRICE1, Bid);
return(rates_total);
}
int deinit()
{
ObjectDelete("ALine");
ObjectDelete("BLine");
return(0);
}
bool ChartForegroundSet(const bool value,const long chart_ID=0)
{
//--- reset the error value
ResetLastError();
//--- set property value
if(!ChartSetInteger(chart_ID,CHART_FOREGROUND,0,value))
{
//--- display the error message in Experts journal
Print(__FUNCTION__+", Error Code = ",GetLastError());
return(false);
}
//--- successful execution
return(true);
}
bool ChartAskSet(const bool value,const long chart_ID=0)
{
//--- reset the error value
ResetLastError();
//--- set property value
if(!ChartSetInteger(chart_ID,CHART_SHOW_ASK_LINE,0,value))
{
//--- display the error message in Experts journal
Print(__FUNCTION__+", Error Code = ",GetLastError());
return(false);
}
//--- successful execution
return(true);
}
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
---