Four horizontal lines Indicator For MT5
Table Of Contents:
- Four horizontal lines Indicator For MT5
- Instalace Four horizontal lines Indicator For MT5
- Parametry Four horizontal lines Indicator For MT5
- Vyrovnávací Four horizontal lines Indicator For MT5
- Hlavní části Kodexu
Indikátor Four horizontal lines Indicator For MT5 nakreslí 4 vodorovné čáry (2 červené a 2 zelené čáry) do grafu. Jedna červená čára je nakreslena nad a jedna červená čára je nakreslena pod svíčkou s konfigurovatelnou vzdáleností od skutečné svíčky.
Instalace Four horizontal lines Indicator For MT5
Po stažení indikátoru pomocí výše uvedeného formuláře je třeba rozbalit zip soubor. Pak musíte zkopírovat soubor Four horizontal lines.mq5 do složky MQL5Indicators vaší instalace MT5 . Poté prosím restartujte MT5 a poté uvidíte indikátor v seznamu indikátorů.
Parametry Four horizontal lines Indicator For MT5
Four horizontal lines Indicator For MT5 obsahuje parametry 10 lze nakonfigurovat.
input color InpColorHighLow = clrRed; // HighLow: Line color input color InpColorDifference = clrLimeGreen; // Difference: Line color input ENUM_LINE_STYLE InpStyle = STYLE_SOLID; // Line style input int InpWidth = 2; // Line width input bool InpBack = false; // Background line input bool InpSelection = false; // Highlight to move input bool InpHidden = true; // Hidden in the object list input long InpZOrder = 0; // Priority for mouse click input int InpBarNumber = 1; // Bar number input int InpShiftHighLowUP = 20; // Shift
Vyrovnávací Four horizontal lines Indicator For MT5
Four horizontal lines Indicator For MT5 0 Four horizontal lines Indicator For MT5 poskytuje vyrovnávací paměti 0 .
Hlavní části Kodexu
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[]) { //--- if(prev_calculated==0 || rates_total!=prev_calculated) { //--- Move horizontal line double high_1=high[rates_total-1-InpBarNumber]; double low_1=low[rates_total-1-InpBarNumber]; HLineMove(0,ExtNameHighLowUP,high_1+ExtInpShiftHighLowUP); HLineMove(0,ExtNameHighLowDOWN,low_1-ExtInpShiftHighLowUP); HLineMove(0,ExtNameDifferenceUP,high_1+(high_1-low_1)-ExtInpShiftHighLowUP/2.0); HLineMove(0,ExtNameDifferenceDOWN,low_1-(high_1-low_1)+ExtInpShiftHighLowUP/2.0); } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ //| Create the horizontal line | //+------------------------------------------------------------------+ bool HLineCreate(const long chart_ID=0, // chart s ID const string name="HLine", // line name const int sub_window=0, // subwindow index double price=0, // line price const color clr=clrRed, // line color const ENUM_LINE_STYLE style=STYLE_SOLID, // line style const int width=1, // line width const bool back=false, // in the background const bool selection=true, // highlight to move const bool hidden=true, // hidden in the object list const long z_order=0) // priority for mouse click { //--- if the price is not set, set it at the current Bid price level if(!price) price=SymbolInfoDouble(Symbol(),SYMBOL_BID); //--- reset the error value ResetLastError(); //--- create a horizontal line if(!ObjectCreate(chart_ID,name,OBJ_HLINE,sub_window,0,price)) { Print(__FUNCTION__, ": failed to create a horizontal line! Error code = ",GetLastError()); return(false); } //--- set line color ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr); //--- set line display style ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style); //--- set line width ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,width); //--- display in the foreground (false) or background (true) ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back); //--- enable (true) or disable (false) the mode of moving the line by mouse //--- when creating a graphical object using ObjectCreate function, the object cannot be //--- highlighted and moved by default. Inside this method, selection parameter //--- is true by default making it possible to highlight and move the object ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection); ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection); //--- hide (true) or display (false) graphical object name in the object list ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden); //--- set the priority for receiving the event of a mouse click in the chart ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order); //--- successful execution return(true); } //+------------------------------------------------------------------+ //| Move horizontal line | //+------------------------------------------------------------------+ bool HLineMove(const long chart_ID=0, // chart s ID const string name="HLine", // line name double price=0) // line price { //--- if the line price is not set, move it to the current Bid price level if(!price) price=SymbolInfoDouble(Symbol(),SYMBOL_BID); //--- reset the error value ResetLastError(); //--- move a horizontal line if(!ObjectMove(chart_ID,name,0,0,price)) { Print(__FUNCTION__, ": failed to move the horizontal line! Error code = ",GetLastError()); return(false); } //--- successful execution return(true); } //+------------------------------------------------------------------+ //| Delete a horizontal line | //+------------------------------------------------------------------+ bool HLineDelete(const long chart_ID=0, // chart s ID const string name="HLine") // line name { //--- reset the error value ResetLastError(); //--- delete a horizontal line if(!ObjectDelete(chart_ID,name)) { Print(__FUNCTION__, ": failed to delete a horizontal line! Error code = ",GetLastError()); return(false); } //--- successful execution return(true); } //+------------------------------------------------------------------+