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

 
Alexsandr San :

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

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

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

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

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

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

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


기능이 완벽하게 작동합니다. 유틸리티가 매우 고르게도 나쁘지 않은 것으로 나타났습니다.

그러나 열린 위치에서 포인트 수를 통해 표시기를 설정하는 이 기능에 설정을 추가해야 합니다.

스냅 사진

 
Alexsandr San :

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

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

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

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

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

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

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


//| 에 있는 코드의 사소한 수정 지표 확인 및 차트 추가 기능 |

#속성 버전 "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 );
  }
//+------------------------------------------------------------------+
파일:
 
Alexsandr San :

//| 에 있는 코드의 사소한 수정 지표 확인 및 차트 추가 기능 |

#속성 버전 "1.005"

코드를 약간 수정

#속성 버전 "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

"평균 0" 에서 ; 수평선을 "POT" 로 설정합니다 . 및 "REWOL" ; 주어진 거리에서 = 0 ; // Obj: 그리드 간격, points("0" -> false)

=true로 설정하면 ( = false; // Avto Line Chart Indicators )는 "AVERAGE 0" 라인에서 주어진 거리에서 반복됩니다 .

파일:
 

하루 종일 그리고 밤새도록 - 하지만 나는 내가 원하는 것을 얻었습니다. 감사합니다! 거대한!!! 블라디미르 카르푸토프

시간에 - 하나의 신호 !!! 다음은 기능입니다.

 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 :

코드를 약간 수정

#속성 버전 "1.006"

"평균 0" 에서 ; 수평선을 "POT" 로 설정합니다 . 및 "REWOL" ; 주어진 거리에서 = 0 ; // Obj: 그리드 간격, points("0" -> false)

=true로 설정하면 ( = false; // Avto Line Chart Indicators )는 "AVERAGE 0" 라인에서 주어진 거리에서 반복됩니다 .

#속성 버전 "1.007"
추가 - 시간에 따라 가격과 어느 정도 거리에 설정되어 있는지 표시기, 수평선을 설정합니다.

뿐만 아니라 시간별로 모든 포지션을 닫고 Expert Advisor를 삭제하고 차트를 변경하거나 열려 있는 포지션을 삭제하지 않고 간단하게 Expert Advisor를 삭제하고 차트 템플릿을 교체할 수 있습니다.

그의 설정은 다음과 같습니다.

 //+------------------------------------------------------------------+
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)
//+------------------------------------------------------------------+
파일:
 

표시기는 경고를 제공합니다. 수평 파란색 선에서 위쪽에 하나를, 아래쪽에 하나를 그리고 파란색이 교차하면 경고가 트리거되고 선이 삭제됩니다.

- 이 기능을 Utility_Command.mq5 유틸리티에 추가하겠습니다.   225kb

스냅 사진

파일:
macd_Line.mq5  21 kb
 

인디케이터 창에서 수평선이 작동하기 쉽지 않습니다.

그러나 나는 무언가를 만들었습니다. 여기 초안이 있습니다. 제로 MACD 라인에서 (SELL 하단은 BUY 상단을 깨뜨림)

스냅 사진

스냅샷2

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

초안 전문가 고문 및 지표

파일:
 
Alexsandr San :

인디케이터 창에서 수평선이 작동하기 쉽지 않습니다.

그러나 나는 무언가를 만들었습니다. 여기 초안이 있습니다. 제로 MACD 라인에서 (SELL 하단은 BUY 상단을 깨뜨림)

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

초안 전문가 고문 및 지표

실제로 Expert Advisor는 지표 창에서 작동합니다. LOW가 BUY와 SELL 라인 사이의 수평선이면 포지션을 열지 않지만 더 높은 곳으로 이동하는 방법 BUY가 열립니다 .

매수 포지션 - 그 반대의 경우 SELL 아래에서 매도가 열립니다.

AUDCADM1

 
Alexsandr San :

표시기는 경고를 제공합니다. 수평 파란색 선에서 위쪽에 하나를, 아래쪽에 하나를 그리고 파란색이 교차하면 경고가 트리거되고 선이 삭제됩니다.

- 이 기능을 Utility_Command.mq5 유틸리티에 추가하겠습니다.   225kb

이 기능을 추가했습니다. 모든 것이 간단하지만 구현 방법에 대한 요점에 도달했습니다.

#속성 버전 "1.008"

AUDCADM1V 하나

AUDCADM1B 2

스냅 사진


이 기능에 대한 표시기(첨부됨)

파일:
 

예! 이것을 유틸리티 https://www.mql5.com/ru/code/23939 에 추가해야 합니다.


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