Wie ich meinen Berater durch Versuch und Irrtum zusammenstelle - Seite 49

 

Indikator - Obj LeM Brain - kann an ExpertUtility Command.mq5 angepasst werden

Foto von

für einen Indikator benötigen Sie 2 weitere Indikatoren - LeMan_BrainTrend1Sig - und - LeManTrend Indikator - ohne sie wird nicht funktionieren- Obj LeM Brain -

-----------------------------------------------------------

den Abstand der horizontalen Linien von dem Punkt

Schnappschuss2

 
Alexsandr San:

Wir müssen eine weitere Funktion hinzufügen - wenn die horizontale Linie ausgelöst wird, die in vielen Indikatoren vorhanden ist, um nicht nur die Linie zu löschen, sondern auch den Indikator selbst, der die horizontale Linie zeichnet

 
Alexsandr San:

Eine weitere Funktion, die hinzugefügt werden sollte - wenn die horizontale Linie ausgelöst wird, die in vielen Indikatoren vorhanden ist, um nicht nur die Linie zu löschen, sondern auch den Indikator selbst, der die horizontale Linie zeichnet

Hinzugefügte Funktion

input string   t8="------ Indicator Delete ------";              //
input string   Inpshort_name                = "Obj LeM Brain";   // INDICATOR_SHORTNAME 1
input string   Inpshort_name0               = "Indicator 2";     // INDICATOR_SHORTNAME 2
input bool     Inpres                       = false;             // Delete All Indicators
//---
#property version     "1.002"
Dateien:
 
Alexsandr San:

Indikator - Obj LeM Brain - kann an ExpertUtility Command.mq5 angepasst werden

für einen Indikator benötigen Sie 2 weitere Indikatoren - LeMan_BrainTrend1Sig - und - LeManTrend Indikator - ohne sie wird nicht funktionieren- Obj LeM Brain -

-----------------------------------------------------------

den Abstand der horizontalen Linien vom Punkt


Dreht aus und minus, ändert horizontale Linien nach innen

Foto von

---------------------------------------------------------

Dieser Indikator muss nicht in einen Expert Advisor geschrieben werden - nur die horizontalen Linien werden von diesem Indikator benötigt. Es sollte in Expert Advisor geschrieben werden, um den Indikator zu löschen

Sie müssen es nicht benutzen -

input string   t2="----- Indicators: SELL   -----";              //
input string   short_name                   = "LeMan_BrainTrend1Sig";   // Name Indicators "SELL"
input bool     InpIndicators                = false;             // Indicators: Start (true)
input ENUM_TRADE_COMMAND InpTradeCommandY   = open_sell;         // Trade command: (BuyBuffer Indicators)
input ENUM_TRADE_COMMAND InpTradeCommandU   = close_sells;       // Trade command: (SellBuffer Indicators)
input string   t3="----- Indicators: BUY    -----";              //
input string   short_name1                  = "LeMan_BrainTrend1Sig";   // Name Indicators "BUY"
input bool     InpIndicators1               = false;             // Indicators: Start (true)
input ENUM_TRADE_COMMAND InpTradeCommandY1  = close_buys;        // Trade command: (BuyBuffer Indicators)
input ENUM_TRADE_COMMAND InpTradeCommandU1  = open_buy;          // Trade command: (SellBuffer Indicators)

und hier - um den Indikator zu löschen - damit die horizontalen Linien des Indikators keine Befehle wiederholen

input string   t8="------ Indicator Delete ------";              //
input string   Inpshort_name                = "Obj LeM Brain";   // INDICATOR_SHORTNAME 1
input string   Inpshort_name0               = "Indicator 2";     // INDICATOR_SHORTNAME 2
input bool     Inpres                       = false;             // Delete All Indicators
 

eine weitere Funktion, die dem Experten hinzugefügt werden soll, um den Indikator auf dem Chart zu setzen, ausgehend vom Signal

//+------------------------------------------------------------------+
//|                                         AddChartIndicatorAdd.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property script_show_inputs
//---
input string Inpshort_name  = "Obj LeM Brain"; // INDICATOR_SHORTNAME
input string Inpshort_name0 = "Examples/MACD"; // INDICATOR_SHORTNAME
//---
int indicator_handle=INVALID_HANDLE;
int indicator_handle0=INVALID_HANDLE;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   AddIndicator();
   AddIndicator0();
  }
//+------------------------------------------------------------------+
//| Функция проверки и добавления индикатора на график               |
//+------------------------------------------------------------------+
bool AddIndicator()
  {
//--- выводимое сообщение
   string message;
//--- проверим на совпадение символ индикатора и символ графика
   if(_Symbol!=_Symbol)
     {
      message="Демонстрация использования функции Demo_ChartIndicatorAdd():";
      message=message+"\r\n";
      message=message+"Нельзя на график добавить индикатор, рассчитанный на другом символе.";
      message=message+"\r\n";
      message=message+"Укажите в свойствах эксперта символ графика - "+_Symbol+".";
      Alert(message);
      //--- досрочный выход, не будем добавлять индикатор на график
      return false;
     }
//--- проверим на совпадение таймфрейм индикатора и таймфрейм графика
   if(_Period!=_Period)
     {
      message="Нельзя на график добавить индикатор, рассчитанный на другом таймфрейме.";
      message=message+"\r\n";
      message=message+"Укажите в свойствах эксперта таймфрейм графика - "+EnumToString(_Period)+".";
      Alert(message);
      //--- досрочный выход, не будем добавлять индикатор на график
      return false;
     }
//--- все проверки прошли, символ и период индикатора соответствуют графику
   if(indicator_handle==INVALID_HANDLE)
     {
      Print(__FUNCTION__,"  Создаем индикатор MACD");
      indicator_handle=iCustom(_Symbol,_Period,Inpshort_name);
      if(indicator_handle==INVALID_HANDLE)
        {
         Print("Не удалось создать индикатор MACD. Код ошибки ",GetLastError());
        }
     }
//--- сбросим код ошибки
   ResetLastError();
//--- накладываем индикатор на график
   Print(__FUNCTION__,"  Добавляем индикатор MACD на график");
   Print("MACD построен на ",_Symbol,"/",EnumToString(_Period));
//--- получим номер нового подокна, в которое добавим индикатор MACD
   int subwindow=(int)ChartGetInteger(0,0);
   PrintFormat("Добавляем индикатор MACD на окно %d графика",subwindow);
   if(!ChartIndicatorAdd(0,subwindow,indicator_handle))
     {
      PrintFormat("Не удалось добавить индикатор MACD на окно %d графика. Код ошибки  %d",
                  subwindow,GetLastError());
     }
//--- добавление индикатора на график прошло успешно
   return(true);
  }
//+------------------------------------------------------------------+
//| Функция проверки и добавления индикатора на график               |
//+------------------------------------------------------------------+
bool AddIndicator0()
  {
//--- выводимое сообщение
   string message;
//--- проверим на совпадение символ индикатора и символ графика
   if(_Symbol!=_Symbol)
     {
      message="Демонстрация использования функции Demo_ChartIndicatorAdd():";
      message=message+"\r\n";
      message=message+"Нельзя на график добавить индикатор, рассчитанный на другом символе.";
      message=message+"\r\n";
      message=message+"Укажите в свойствах эксперта символ графика - "+_Symbol+".";
      Alert(message);
      //--- досрочный выход, не будем добавлять индикатор на график
      return false;
     }
//--- проверим на совпадение таймфрейм индикатора и таймфрейм графика
   if(_Period!=_Period)
     {
      message="Нельзя на график добавить индикатор, рассчитанный на другом таймфрейме.";
      message=message+"\r\n";
      message=message+"Укажите в свойствах эксперта таймфрейм графика - "+EnumToString(_Period)+".";
      Alert(message);
      //--- досрочный выход, не будем добавлять индикатор на график
      return false;
     }
//--- все проверки прошли, символ и период индикатора соответствуют графику
   if(indicator_handle0==INVALID_HANDLE)
     {
      Print(__FUNCTION__,"  Создаем индикатор MACD");
      indicator_handle0=iCustom(_Symbol,_Period,Inpshort_name0);
      if(indicator_handle0==INVALID_HANDLE)
        {
         Print("Не удалось создать индикатор MACD. Код ошибки ",GetLastError());
        }
     }
//--- сбросим код ошибки
   ResetLastError();
//--- накладываем индикатор на график
   Print(__FUNCTION__,"  Добавляем индикатор MACD на график");
   Print("MACD построен на ",_Symbol,"/",EnumToString(_Period));
//--- получим номер нового подокна, в которое добавим индикатор MACD
   int subwindow=(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL);
   PrintFormat("Добавляем индикатор MACD на окно %d графика",subwindow);
   if(!ChartIndicatorAdd(0,subwindow,indicator_handle0))
     {
      PrintFormat("Не удалось добавить индикатор MACD на окно %d графика. Код ошибки  %d",
                  subwindow,GetLastError());
     }
//--- добавление индикатора на график прошло успешно
   return(true);
  }
//+------------------------------------------------------------------+

Schuss4

 

Ich kann nicht herausfinden, was ich von dieser Funktion brauche.

Ich glaube, ich habe eine Möglichkeit gefunden, ich muss nur in den Code schreiben, solche Aktionen, wie auf dem Bild

Foto von

 
Alexsandr San:

Ich kann nicht herausfinden, was ich von dieser Funktion brauche.

Ich glaube, ich habe eine Möglichkeit gefunden, ich muss nur in den Code schreiben, solche Aktionen, wie auf dem Bild

Ich habe diese Funktion dem Utility Command ("Utility Command") hinzugefügt #property version "1.004"

am unteren Rand, Einstellungen für diese Funktion

input string   t1="----- Trailing Line: 2   -----";              //
input string   InpObjUpNameG                = "POT";             // Obj: TOP (Horizontal Line)
input int      InpStep3                     = 0;                 // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InpTradeCommandG   = close_open_b;      // Obj:  command:
input string   InpObjDownNameG              = "REWOL";           // Obj: LOWER (Horizontal Line)
input int      InpStep4                     = 0;                 // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InTradeCommandG    = close_open_s;      // Obj:  command:
input ushort   InpObjTrailingStopG          = 0;                 // Obj: Trailing Stop (distance from price to object, in pips)
input ushort   InpObjTrailingStepG          = 5;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)
input string   t9="------ ChartIndicatorAdd -----";              //
input bool     InpChartInd                  = false;             // Avto Line Chart Indicators
input string   InpIndiL                     = "AVERAGE 0";       // Line name (ChartIndicatorAdd)
input int      InpStep5                     = 15;                // Obj: Шаг сетки, пунктов("0" -> false)
input string   InpIndi_name                 = "Obj LeM Brain";   // INDICATOR_SHORTNAME

Name der Trendlinie oder der horizontalen Linie - zum Setzen des Indikators

input string   InpIndiL                     = "AVERAGE 0";       // Line name (ChartIndicatorAdd)

Indikatorname - welcher Indikator auf dem Diagramm installiert werden soll

input string   InpIndi_name                 = "Obj LeM Brain";   // INDICATOR_SHORTNAME

Name der horizontalen Linie oder Trendlinie des Indikators

input string   InpObjUpNameG                = "POT";             // Obj: TOP (Horizontal Line)


input string   InpObjDownNameG              = "REWOL";           // Obj: LOWER (Horizontal Line)

Foto von

-------------------------- sollte das Arbeitsprinzip sein

GBPUSDM2

----------------------- Der Indikator verschiebt die horizontale Linie (blau) - wenn sie durchbrochen wird, öffnet er sich in SELL und entfernt den Indikator und setzt eine gelbe Linie, die von einem anderen Indikator aufgegriffen wird und die Linie auf das lila Niveau des Indikators verschiebt - nach, die horizontale gelbe Linie, setzt den Indikator wieder

GBPUSDM2h

Dateien:
 
Man macht es nach "Maß" und man macht es nach "Maß".

Finger im Himmel" ist Zeit im Wind.
 
Alexsandr San:

Wenn ich ein Depot leerlaufen lasse, fange ich an zu stochern.

Sie verlieren also die Einlage, bevor Sie überhaupt mit dem Handel beginnen.
Sie "stochern" also von Anfang bis Ende.
 
Alexsandr San:

Ich dachte, du würdest etwas Kluges sagen.

Kluge Dinge werden gesagt, wenn ein unmittelbarer Bedarf besteht.
Das war auch nötig. Aber anscheinend hat es nichts genützt.