Bir danışmanı rastgele nasıl bir araya getiririm? - sayfa 49

 

Gösterge - Obj LeM Brain - Expert Utility Command.mq5'e uyarlanabilir  

enstantane fotoğraf

Göstergenin 2 Göstergeye daha ihtiyacı var - LeMan_BrainTrend1Sig - ve - LeManTrend Göstergesi - onlarsız çalışmaz - Obj LeM Brain -

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

noktadan itibaren yatay çizgilerin mesafesini artırın

anlık görüntü2

 
Alexsandr San :

Bir işlev daha eklemek gerekir - birçok Göstergede bulunan Yatay çizgi tetiklendiğinde, yalnızca çizgi silinmez, aynı zamanda Yatay çizgiyi çizen Göstergenin kendisi de silinir.

 
Alexsandr San :

Bir işlev daha eklemek gerekir - birçok Göstergede bulunan Yatay çizgi tetiklendiğinde, yalnızca çizgi silinmez, aynı zamanda Yatay çizgiyi çizen Göstergenin kendisi de silinir.

fonksiyon eklendi

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

Gösterge - Obj LeM Brain - Expert Utility Command.mq5'e uyarlanabilir  

Göstergenin 2 Göstergeye daha ihtiyacı var - LeMan_BrainTrend1Sig - ve - LeManTrend Göstergesi - onlarsız çalışmaz - Obj LeM Brain -

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

noktadan itibaren yatay çizgilerin mesafesini artırın


Çıkıyor ve eksi, yatay çizgileri içe doğru değiştiriyor

enstantane fotoğraf

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

bu göstergenin Uzman'a girilmesi gerekmez - bu göstergeden yalnızca Yatay çizgiler gerekir. Göstergeyi kaldırmak için bunu Expert Advisor'a girmeniz gerekir.

kullanamazsın -

 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)

ve burada - göstergenin silinmesi - göstergenin yatay çizgilerinin komutları tekrarlamaması için

 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
 

bir işlev daha, sinyalden Uzman Danışmana eklemeniz gerekir, Göstergeyi Tabloya ayarlayın

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

anlık görüntü4

 

nasıl değil, bu fonksiyondan neye ihtiyacım olduğunu çözemiyorum.

Görünüşe göre bir varyantım var, koda kaydolmaya devam ediyor, işte resimdeki eylemler

enstantane fotoğraf

 
Alexsandr San :

nasıl değil, bu fonksiyondan neye ihtiyacım olduğunu çözemiyorum.

Görünüşe göre bir varyantım var, koda kaydolmaya devam ediyor, işte resimdeki eylemler

Bu özellik Yardımcı Programa eklendi ( Utility Command ) #property version "1.004"

altta, bu özelliğin ayarları

 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

trendin veya yatay çizginin adı - Göstergeyi ayarlamak için

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

Gösterge adı - Grafikte ayarlamak istediğiniz

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

Göstergenin yatay veya trend çizgilerinin adı

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


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

enstantane fotoğraf

-------------------------- çalışma prensibi şöyle olmalı

GBPUSDM2

-------------------------- Gösterge yatay çizgiyi (mavi) hareket ettirdi - kırılırsa, SATIŞ'ta açacak ve göstergeyi kaldıracak ve ayarlayacaktır. diğer gösterge tarafından alınacak ve çizgiyi Göstergenin leylak seviyesine taşıyacak sarı bir çizgi - sonra , Yatay sarı, Göstergeyi tekrar ayarlar

GBPUSDM2h

Dosyalar:
 
"poke" yöntemiyle toplarsınız ve "poke" yöntemiyle ticaret yaparsınız.

"Gökyüzüne parmak" - rüzgar zamanı.
 
Alexsandr San :

depoyu boşalttığımda - dürtmeye başlıyorum

Böylece, ticarete başlamadan önce depoyu boşaltırsınız.
Bu nedenle, baştan sona "dürtmek".
 
Alexsandr San :

konuşacak bir şey yok akıllı dediğin sandım

Akıllıca şeyler hemen ihtiyaç duyulduğunda söylenir.
Şimdi böyle bir ihtiyaç var. Ama görünüşe göre hiçbir faydası olmadı.