어드바이저를 무작위로 모으는 방법 - 페이지 49

 

표시기 - Obj LeM Brain - Expert Utility Command.mq5 에 적용 가능  

스냅 사진

표시기에는 2개의 표시기가 더 필요합니다. - LeMan_BrainTrend1Sig - 및 - LeManTrend 표시기 - 없이는 작동하지 않습니다. - Obj LeM Brain -

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

점에서 수평선의 거리를 늘리십시오.

스냅샷2

 
Alexsandr San :

하나의 기능을 더 추가해야 합니다. - 많은 Indicator에 존재하는 Horizontal line 이 트리거될 때 라인이 삭제될 뿐만 아니라 Horizontal line을 그리는 Indicator 자체도 삭제됩니다.

 
Alexsandr San :

하나의 기능을 더 추가해야 합니다. - 많은 Indicator에 존재하는 Horizontal line 이 트리거될 때 라인이 삭제될 뿐만 아니라 Horizontal line을 그리는 Indicator 자체도 삭제됩니다.

기능을 추가했습니다

 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"
파일:
 
Alexsandr San :

표시기 - Obj LeM Brain - Expert Utility Command.mq5 에 적용 가능  

표시에는 2개의 표시가 더 필요합니다. - LeMan_BrainTrend1Sig - 및 - LeManTrend Indicator - 없이는 작동하지 않습니다. - Obj LeM Brain -

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

점에서 수평선의 거리를 늘리십시오.


그것은 밖으로 나와 마이너스, 수평선을 안쪽으로 바꿉니다.

스냅 사진

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

이 표시기는 전문가에 입력할 필요가 없습니다. 이 표시기에서는 수평선만 필요합니다. 지표를 제거하려면 Expert Advisor에 입력해야 합니다.

당신은 그것을 사용할 수 없습니다 -

 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)

그리고 여기 - 표시기 삭제 - 표시기 수평선이 명령을 반복하지 않도록

 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
 

기능이 하나 더 필요하면 Expert Advisor에 신호를 추가하고 지표를 차트로 설정해야 합니다.

 //+------------------------------------------------------------------+
//|                                         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 );
  }
//+------------------------------------------------------------------+

스냅샷4

 

방법이 아니라 이 기능에서 필요한 것이 무엇인지 알 수 없습니다.

나는 변형이있는 것 같습니다. 코드에 등록해야합니다. 여기에 그림과 같은 작업이 있습니다.

스냅 사진

 
Alexsandr San :

방법이 아니라 이 기능에서 필요한 것이 무엇인지 알 수 없습니다.

나는 변형이있는 것 같습니다. 코드에 등록해야합니다. 여기에 그림과 같은 작업이 있습니다.

유틸리티( 유틸리티 명령 ) #property 버전 "1.004"에 이 기능을 추가했습니다.

하단에서 이 기능에 대한 설정

 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

추세 또는 수평선의 이름 - 표시기를 설정합니다.

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

지표 이름 - 차트에 설정하려는

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

지표의 수평선 또는 추세선의 이름

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


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

스냅 사진

-------------------- 작동 원리는 다음과 같아야 합니다.

GBPUSDM2

----------------------- 인디케이터가 가로선 이동(파란색) - 돌파하면 SELL로 오픈하고 인디케이터를 제거하고 설정 다른 사람 표시기에 의해 선택되고 표시기의 라일락 수준으로 선을 이동하는 노란색 선 - 이후 , 수평 노란색, 다시 표시기를 설정합니다.

GBPUSDM2h

파일:
 
"포크" 방식으로 수집하고 "포크" 방식으로 거래합니다.

"하늘에 손가락"- 바람에 시간.
 
Alexsandr San :

내가 창고를 비울 때 - 나는 찌르기 시작한다

따라서 거래를 시작하기 전에도 저장소를 비웁니다.
따라서 처음부터 끝까지 "찌르십시오".
 
Alexsandr San :

할 얘기가 없어 똑똑하다고 생각했어

영리한 일은 즉시 필요할 때 말합니다.
이제 그런 필요가 있습니다. 하지만 별 소용이 없었던 것 같습니다.