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

 
Alexsandr San :

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

altta, bu özelliğin ayarları

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

Gösterge adı - Grafikte ayarlamak istediğiniz

Göstergenin yatay veya trend çizgilerinin adı

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

-------------------------- 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


İşlev mükemmel çalışıyor - Yardımcı program, çok eşit, fena değil.

ancak, bu fonksiyona açık konumdan nokta sayısı üzerinden Göstergeyi ayarlayacak bir ayar eklemek gerekir.

enstantane fotoğraf

 
Alexsandr San :

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

altta, bu özelliğin ayarları

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

Gösterge adı - Grafikte ayarlamak istediğiniz

Göstergenin yatay veya trend çizgilerinin adı

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

-------------------------- 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


kodda küçük düzeltmeler, //| Grafiğe bir gösterge ekleme ve kontrol etme işlevi |

#özellik sürümü "1.005"

 //+------------------------------------------------------------------+
//| Функция проверки и добавления индикатора на график               |
//+------------------------------------------------------------------+
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__ , "  Создаем индикатор" );
      indicator_handle= iCustom ( _Symbol , _Period ,Inpshort_name);
       if (indicator_handle== INVALID_HANDLE )
        {
         Print ( "Не удалось создать индикатор. Код ошибки " , GetLastError ());
        }
     }
//--- сбросим код ошибки
   ResetLastError ();
//--- накладываем индикатор на график
   Print ( __FUNCTION__ , "  Добавляем индикатор на график" );
   Print ( "Индикатор построен на " , _Symbol , "/" , EnumToString ( _Period ));
//--- получим номер нового подокна, в которое добавим индикатор
   int subwindow=( int ) ChartGetInteger ( 0 ,- 1 );
   PrintFormat ( "Добавляем индикатор на окно %d графика" ,subwindow);
   if (! ChartIndicatorAdd ( 0 ,subwindow,indicator_handle))
     {
       PrintFormat ( "Не удалось добавить индикатор на окно %d графика. Код ошибки  %d" ,
                  subwindow, GetLastError ());
     }
//--- добавление индикатора на график прошло успешно
   return ( true );
  }
//+------------------------------------------------------------------+
Dosyalar:
 
Alexsandr San :

kodda küçük düzeltmeler, //| Grafiğe bir gösterge ekleme ve kontrol etme işlevi |

#özellik sürümü "1.005"

kodu biraz değiştirdim

#özellik sürümü "1.006"

 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                 = "Indicator" ;       // INDICATOR_SHORTNAME

"ORTALAMA 0" dan ; Yatay çizgiler "POT" ayarlayacaktır ; ve "REWOL" ; belirli bir mesafede = 0 ; // Obj: Izgara aralığı, noktalar ("0" -> yanlış)

= true olarak ayarlarsanız ( = false; // Avto Çizgi Grafik Göstergeleri ) "ORTALAMA 0" satırından belirli bir mesafede tekrarlanacaktır ;

Dosyalar:
 

bütün gün ve bütün gece - ama istediğimi aldım Teşekkürler! Büyük!!! Vladimir Karputov

zamanında - bir sinyal !!! İşte fonksiyon

 input string    t= "-----  Parameters         -----" ;               //
input datetime InpMonday_1                  = D'1980.07.19 10:00:00' ; // Monday time 1 (use only HH::MM) (00::00 -> off)
//+------------------------------------------------------------------+
long      m_monday_1= 0 ;

 int OnInit ()
  {
//---
   MqlDateTime STime;
//--- Monday
   TimeToStruct (InpMonday_1,STime);
   m_monday_1=STime.hour* 60 * 60 +STime.min* 60 ;
//---
   return ( INIT_SUCCEEDED );
  }

void OnTick ()
  {
      TimeSession();

  }


 //+------------------------------------------------------------------+
//| Search trading signals                                                                 |
//+------------------------------------------------------------------+
bool TimeSession()
  {
   bool res= false ;
//---
   MqlDateTime STimeCurrent;
   TimeToStruct ( TimeCurrent (),STimeCurrent);
   long time_current=STimeCurrent.hour* 60 * 60 +STimeCurrent.min* 60 +STimeCurrent.sec;
   if (m_monday_1== 0 )
       return ( true );
//--- Monday time 1
   if (m_monday_1!= 0 && (time_current>=m_monday_1 && time_current<m_monday_1+ 60 ))
     {
       datetime last_setup= 0 ;
       MqlDateTime SLastSetup;
       TimeToStruct (last_setup,SLastSetup);
       long time_last_setup=SLastSetup.hour* 60 * 60 +SLastSetup.min* 60 +SLastSetup.sec;
       if (SLastSetup.day_of_week== 1 && (time_last_setup>=m_monday_1 && time_last_setup<m_monday_1+ 60 ))
         return ( true );
       if ( 1 > 0 )
        {
         Sleep ( 59 * 1000 );
         PlaySound ( "tick.wav" );
        }
      res= true ;
     }
//---
   return ( true );
  }
//+------------------------------------------------------------------+
Vladimir Karputov
Vladimir Karputov
  • www.mql5.com
Люди. Граждане! Огромная просьба - заполняйте свой профиль на сайте и пользуйтесь стандартными программами - устанавливайте Skype. У Skype есть очень полезная функция - показ рабочего стола. В таком случае можно оперативно подсказать по возникшей проблеме. Помните - время - деньги! Древняя народная мудрость гласит: если хочешь помочь...
 
Alexsandr San :

kodu biraz değiştirdim

#özellik sürümü "1.006"

"ORTALAMA 0" dan ; Yatay çizgiler "POT" ayarlayacaktır ; ve "REWOL" ; belirli bir mesafede = 0 ; // Obj: Izgara aralığı, noktalar ("0" -> yanlış)

= true olarak ayarlarsanız ( = false; // Avto Çizgi Grafik Göstergeleri ) "ORTALAMA 0" satırından belirli bir mesafede tekrarlanacaktır ;

#özellik sürümü "1.007"
Eklendi - Zamana göre, fiyattan ne kadar uzakta ayarlanan Göstergeyi, Yatay çizgileri ayarlayın.

ve ayrıca Zamana göre, tüm Pozisyonları kapatın ve Uzman Danışmanı silin ve çizelgeleri değiştirin ya da açık pozisyonları silmeden Uzman Danışmanı silebilir ve Grafik şablonunu değiştirebilirsiniz.

İşte onun ayarları

 //+------------------------------------------------------------------+
input string    t= "-----  Parameters         -----" ;               //
input string    Template                     = "ADX" ;             // Имя шаблона(without '.tpl')
input bool      Inpwithout                   = false ;             // Сменить только шаблон (true)
input datetime InpMonday_2                  = D'1970.01.01' ;     // Dell (00::00 -> off)
input double    TargetProfit                 = 999999.99 ;         // Цель Баланса(Ваш Баланс + сумма)
input uint      maxLimits                    = 1 ;                 // Кол-во Позиции Открыть в одну сторону
input double    InpLots                      = 0.01 ;               // Lots
input int       InpTakeProfit                = 90 ;                 // Take Profit ("0"-No. 5<100)
input string    t0= "----- Trailing Line: 1   -----" ;               //
input string    InpObjUpName                 = "ZTOP" ;             // Obj: TOP (Horizontal Line)
input int       InpStep1                     = 25 ;                 // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InpTradeCommand    = open_sell;         // Obj:  command:
input string    InpObjDownName               = "ZLOWER" ;           // Obj: LOWER (Horizontal Line)
input int       InpStep2                     = 25 ;                 // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InTradeCommand     = open_buy;           // Obj:  command:
input ushort    InpObjTrailingStop           = 0 ;                 // Obj: Trailing Stop (distance from price to object, in pips)
input ushort    InpObjTrailingStep           = 5 ;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)
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    t4= "----- Button:            -----" ;               //
input ENUM_TRADE_COMMAND InpTradeCommandBut = open_buy;           // Obj(BUY):  command:Button: BUY
input ENUM_TRADE_COMMAND InTradeCommandBut  = open_sell;         // Obj(SELL):  command:Button: SELL
input int       TrailingStop_STOP_LEVEL      = 36 ;                 // Button: Trailing Stop LEVEL
input string    t5= "----- Line name: 1       -----" ;               //
input string    InpNameR                     = "LineR" ;           // Line name (Horizontal Line or Trend Line)
input ENUM_TRADE_COMMAND InpTradeCommandR   = open_buy;           // Trade command:
input string    t6= "----- Line name: 2       -----" ;               //
input string    InpNameS                     = "LineS" ;           // Line name (Horizontal Line or Trend Line)
input ENUM_TRADE_COMMAND InpTradeCommandS   = open_sell;         // Trade command:
input string    t7= "----- Revers Buy><Sell   -----" ;               //
input bool      ObjRevers                    = false ;             //  Revers
input string    t8= "------ Indicator Delete  -----" ;               //
input string    Inpshort_name_1              = "Indicator 2" ;     // INDICATOR_SHORTNAME 2
input bool      Inpres                       = false ;             // Delete All Indicators
input string    t1= "----- Trailing Line: 2   -----" ;               //
input string    InpObjUpNameG                = "POT" ;             // Obj: TOP (Horizontal Line)
input int       InpStep3                     = 20 ;                 // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InpTradeCommandG   = close_open_b;       // Obj:  command:
input string    InpObjDownNameG              = "REWOL" ;           // Obj: LOWER (Horizontal Line)
input int       InpStep4                     = 20 ;                 // 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                 = "Indicator" ;       // INDICATOR_SHORTNAME
input datetime InpMonday_1                  = D'1970.01.01' ;     // Indicators(use only HH::MM)(00::00->off)
//+------------------------------------------------------------------+
Dosyalar:
 

Gösterge bir Uyarı verir - Yatay mavi çizgiden birini yukarı, diğerini alta çizin ve mavi kesiştiğinde Uyarı tetiklenir ve satır silinir

- Bu işlevi Utility_Command.mq5 yardımcı programına ekleyeceğim   225 kb

enstantane fotoğraf

Dosyalar:
macd_Line.mq5  21 kb
 

Gösterge Penceresinde Yatay çizgilerin çalışması kolay değil

ama ben - bir şeyler yaptım. İşte bir taslak. sıfır MACD satırından (Düşük SAT, yukarı SATIN AL)

enstantane fotoğraf

anlık görüntü2

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

taslak Uzman Danışman ve Gösterge

Dosyalar:
 
Alexsandr San :

Gösterge Penceresinde Yatay çizgilerin çalışması kolay değil

ama ben - bir şeyler yaptım. İşte bir taslak. sıfır MACD satırından (Düşük SAT, yukarı SATIN AL)

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

taslak Uzman Danışman ve Gösterge

Aslında Uzman Danışman Gösterge Penceresinde çalışır - DÜŞÜK Yatay bir çizgi ise, AL ve SATIŞ Çizgileri arasında bir pozisyon açmaz, ancak nasıl daha yükseğe çıkılır AL açılır

satın almak için bir pozisyon - ve tam tersi, aşağıda SATIŞ satışa açılacaktır

AUDCADM1

 
Alexsandr San :

Gösterge bir Uyarı verir - Yatay mavi çizgiden birini yukarı, diğerini alta çizin ve mavi kesiştiğinde Uyarı tetiklenir ve satır silinir

- Bu işlevi Utility_Command.mq5 yardımcı programına ekleyeceğim   225 kb

Bu İşlevi Eklendi - her şeyin basit olduğu ortaya çıktı, ancak nasıl uygulanacağı noktasına geldim.

#özellik sürümü "1.008"

AUDCADM1V 1

AUDCADM1B 2

enstantane fotoğraf 3


Bu İşlev için Gösterge, ekli

Dosyalar:
 

Evet! bunu https://www.mql5.com/ru/code/23939 Yardımcı Programına da eklemeniz gerekir.


OBJ_HLINE follows price
OBJ_HLINE follows price
  • www.mql5.com
GannZIGZAG_Fibo_Grand_xN_Din Зигзаг Ганна с графическим объектом "Уровни Фибоначчи", построенными на двух, последних вершинах с расширенными настройками для отображения фибо-уровней. XKPrmSt_NRTR_HTF