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

 
Alexsandr San :

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


#속성 버전 "1.009"

이 기능을 추가했습니다

 input string    t10= "----- Price Line:     -----" ;                 //
input string    InpFont0                     = "BUY" ;             // Obj: BUY (Obj:Name) ВЕРХУ
input ENUM_TRADE_COMMAND InpCSCommand       = close_open_b;       // Obj:  command:
input string    InpFont1                     = "SELL" ;             // Obj: SELL (Obj:Name) ВНИЗУ
input ENUM_TRADE_COMMAND InCSCommand        = close_open_s;       // Obj:  command:
input string    InpFont2                     = "LOW Up" ;           // Obj: Name Price Line BUY
input string    InpFont3                     = "LOW Down" ;         // Obj: Name Price Line SELL
input ushort    InpIndentUp                  = 5 ;                 // Indent up, in pips (1.00045-1.00055=1 pips)
input ushort    InpIndentDown                = 10 ;                 // Indent down, in pips (1.00045-1.00055=1 pips)
input int       InpSeconds                   = 3 ;                 // Number of seconds

표시기 아래에 하나의 이름이 필요합니다 - LOW

 input string    InpFont2                     = "LOW Up" ;           // Obj: Name Price Line BUY
input string    InpFont3                     = "LOW Down" ;         // Obj: Name Price Line SELL
파일:
 
Alexsandr San :

#속성 버전 "1.009"

이 기능을 추가했습니다

표시기 아래에 하나의 이름이 필요합니다 - LOW

잊어버렸다! 이 기능을 비활성화

#속성 버전 "1.010"

 input string    InpFont2                     = "LOW Up" ;           // Obj: Name Price Line BUY
input string    InpFont3                     = "LOW Down" ;         // Obj: Name Price Line SELL
input ushort    InpIndentUp                  = 5 ;                 // Indent up, in pips (1.00045-1.00055=1 pips)
input ushort    InpIndentDown                = 10 ;                 // Indent down, in pips (1.00045-1.00055=1 pips)
input int       InpSeconds                   = 3 ;                 // Number of seconds
input bool      InpOnTimer                   = false ;             // OnTimer "LOW Up" "LOW Down"
파일:
 

이 유틸리티는 무엇을 할 수 있습니까!? - 예! 거의 모든 것, 모든 환상을 하나로.

GBPUSDM30

 
Alexsandr San :

이 유틸리티는 무엇을 할 수 있습니까!? - 예! 거의 모든 것, 하나의 모든 환상.

글쎄, 가격이 교차점에 도달하면 확실히 예))))

 
Alexsandr San :

이 유틸리티는 무엇을 할 수 있습니까!? - 예! 거의 모든 것, 하나의 모든 환상.

이 유틸리티를 요청하면 수평 파란색 선 뒤에 다른 기능이 있습니다.

이 유틸리티 요청 하나

스냅샷2 2

여기에서 노란색 수평선을 수동으로 이동하고 중지가 트리거되었습니다.

스냅샷3

 
Alexsandr San :

이 유틸리티를 요청하면 수평 파란색 선 뒤에 다른 기능이 있습니다.

하나

2

여기에서 노란색 수평선을 수동으로 이동하고 중지가 트리거되었습니다.

수평선 뒤에 있습니다. 표시기 Low_Macd_Line.mq5 에서 수행되는 계산을 파악하는 것이 남아 있습니다.   블루를 위해 트롤

스냅 사진

그림에서 - 상단 파란색, 상단 노란색을 만지면 신호가 트리거됩니다.

하단 파란색, 하단 노란색과 함께 신호가 트리거됩니다.

 
Alexsandr San :

수평선 뒤에 있습니다. 표시기 Low_Macd_Line.mq5 에서 수행되는 계산을 파악하는 것이 남아 있습니다.   블루를 위해 트롤

그림에서 - 상단 파란색, 상단 노란색을 만지면 신호가 트리거됩니다.

하단 파란색, 하단 노란색과 함께 신호가 트리거됩니다.

나는 표시기 Low_Macd_Line.mq5 가 작동하기 시작한 창에서 트롤을 처리할 수 있었습니다. 이제 월요일에 올바르게 지내고 있으며 유틸리티를 업데이트할 것입니다.

스냅샷4

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

여기 트롤이 있습니다

 //+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTickObjTrailingCS( void )
  {
//---
   if (InpSignalsFrequency>= 10 ) // trailing no more than once every 10 seconds
     {
       datetime time_current= TimeCurrent ();
       if (time_current-m_obj_last_trailingCS> 10 )
        {
         if (RefreshRates())
            ObjTrailingCS();
         else
             return ;
         m_obj_last_trailingCS=time_current;
        }
     }
//--- we work only at the time of the birth of new bar
   datetime time_0= iTime (m_symbol.Name(), Period (), 0 );
   if (time_0==m_prev_barsCS)
       return ;
   m_prev_barsCS=time_0;
   if (InpSignalsFrequency< 10 ) // trailing only at the time of the birth of new bar
     {
       if (RefreshRates())
         ObjTrailingCS();
     }
  }
//+------------------------------------------------------------------+
//| Object Trailing                                                  |
//|   InpObjTrailingStop: min distance from price to object          |
//+------------------------------------------------------------------+
void ObjTrailingCS( void )
  {
   double new_up_price        = - 1 ;   //
   double new_down_price      = 1 ;   //
   double current_up_price    = ObjectGetDouble ( 0 ,InpFont0, OBJPROP_PRICE );
   double current_down_price  = ObjectGetDouble ( 0 ,InpFont1, OBJPROP_PRICE );
   double price_up            = ObjectGetDouble ( 0 ,InpFont2, OBJPROP_PRICE );
   double price_down          = ObjectGetDouble ( 0 ,InpFont3, OBJPROP_PRICE );

   if (current_up_price>new_up_price)
     {
       if (current_up_price>price_up+InpObjTrail)
        {
         m_obj_up_priceCS=price_up+InpObjTrail;
         HLineMove( 0 ,InpFont0,m_obj_up_priceCS);
        }
     }
   if (current_down_price<new_down_price)
     {
       if (current_down_price<price_down-InpObjTrail)
        {
         m_obj_down_priceCS=price_down-InpObjTrail;
         HLineMove( 0 ,InpFont1,m_obj_down_priceCS);
        }
     }
  }
//+------------------------------------------------------------------+
 
Alexsandr San :

나는 표시기 Low_Macd_Line.mq5 가 작동하기 시작한 창에서 트롤을 처리할 수 있었습니다. 이제 월요일에 올바르게 지내고 있으며 유틸리티를 업데이트할 것입니다.

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

여기 트롤이 있습니다

어쩌면 누군가, 테스터에서 이 기능을 사용하는 것이 흥미로울 것입니다. 유틸리티를 게시합니다. 순전히 테스터를 위한 것이며 이 표시기도 필요합니다.    Low_Macd_Line.mq5  

여기에서 기능 자체-

 input string    t10= "----- Price Line:     -----" ;                 //
input string    InpFont0                     = "BUY" ;             // Obj: BUY (Obj:Name) ВЕРХУ
input ENUM_TRADE_COMMAND InpCSCommand       = close_open_b;       // Obj:  command:
input string    InpFont1                     = "SELL" ;             // Obj: SELL (Obj:Name) ВНИЗУ
input ENUM_TRADE_COMMAND InCSCommand        = close_open_s;       // Obj:  command:
input double    InpObjTrail                  = 0.0001 ;             // Obj: Trailing Stop MACD
input double    InpObjTrailStep              = 0.0001 ;             // Obj: Trailing Step MACD
input ushort    InpObjTrailingStopCS         = 15 ;                 // Obj: Trailing Stop (distance from price to object, in pips)
input ushort    InpObjTrailingStepCS         = 5 ;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)
input string    InpFont2                     = "LOW Up" ;           // Obj: Name Price Line BUY
input string    InpFont3                     = "LOW Down" ;         // Obj: Name Price Line SELL
input ushort    InpIndentUp                  = 5 ;                 // Indent up, in pips (1.00045-1.00055=1 pips)
input ushort    InpIndentDown                = 10 ;                 // Indent down, in pips (1.00045-1.00055=1 pips)
input int       InpSeconds                   = 3 ;                 // Number of seconds
input bool      InpOnTimer                   = true ;               // OnTimer "LOW Up" "LOW Down"

꺼짐 표시기 Low_Macd_Line.mq5 이 수평선에 하나의 이름을 "LOW" 로 지정해야 합니다.

 input string    InpFont2                     = "LOW Up" ;           // Obj: Name Price Line BUY
input string    InpFont3                     = "LOW Down" ;         // Obj: Name Price Line SELL
파일:
02_llliiiooo.mq5  255 kb
 
Alexsandr San :

이 유틸리티를 요청하면 수평 파란색 선 뒤에 다른 기능이 있습니다.

#속성 버전 "1.011"

1분 동안 각 쌍( 1시간 동안 XAU / USD 미만)에 대해 트레일을 선택해야 합니다. 0.1001

1분 미만 GBPUSD 0.0001

 input double    InpObjTrail                  = 1.0001 ;             // Obj: Trailing Stop MACD ("0" -> Off)
input double    InpObjTrailStep              = 1.0001 ;             // Obj: Trailing Step MACD

가장 중요한 것은 지표에서 언제 Low_Macd_Line.mq5

수평선의 이름을 정확하게 입력해야 합니다. (두 가지가 있습니다) - 여전히 매우 중요합니다!!! 지표는 무엇을   Low_Macd_Line.mq5 는 차트 지표의 1개 창에 있었습니다.

 input string    InpFont2                     = "LOW Up" ;           // Obj: Name Price Line BUY
input string    InpFont3                     = "LOW Down" ;         // Obj: Name Price Line SELL

이렇게 되어야 합니다!!!

 input string    InpFont2                     = "LOW" ;           // Obj: Name Price Line BUY
input string    InpFont3                     = "LOW" ;           // Obj: Name Price Line SELL

GBPUSDM1XX 하나.

GBPUSDM1YY 2.

GBPUSDM1YY1 삼.

GBPUSDM1YY2 4.

사진에서 - 트롤이 작동하고 방향이 변경되었습니다 - 이제 방향이 다시 바뀔 경우를 대비하여 수평 판매 라인을 다시 수동으로 설정해야 합니다.

파일:
 
Alexsandr San :

#속성 버전 "1.011"

1분 동안 각 쌍( 1시간 동안 XAU / USD 미만)에 대해 트레일을 선택해야 합니다. 0.1001

1분 미만 GBPUSD 0.0001

가장 중요한 것은 지표에서 언제 Low_Macd_Line.mq5

수평선의 이름을 정확하게 입력해야 합니다. (두 가지가 있습니다) - 여전히 매우 중요합니다!!! 지표는 무엇을   Low_Macd_Line.mq5 는 차트 지표의 1개 창에 있었습니다.

#속성 버전 "1.012"

기능이 약간 향상됨

 input string    t0= "----- Price Line:        -----" ;               //
input string    InpFont0                     = "BUY" ;             // Obj: BUY (Obj:Name) ВЕРХУ
input ENUM_TRADE_COMMAND InpCSCommand       = close_open_b;       // Obj:  command:
input string    InpFont1                     = "SELL" ;             // Obj: SELL (Obj:Name) ВНИЗУ
input ENUM_TRADE_COMMAND InCSCommand        = close_open_s;       // Obj:  command:
input double    InpObjTrail                  = 1.0001 ;             // Obj: Trailing Stop MACD ("0" -> Off)
input double    InpObjTrailStep              = 1.0001 ;             // Obj: Trailing Step MACD
input bool      InpDub                       = false ;             // "0.0":Price=false(Trail->Off) "LOW":Price=true(Trail->ON)
input bool      InpDubll                     = false ;             // Duplicate "BUY""SELL" (ObjTrailStep)
input ushort    InpObjTrailingStopCS         = 15 ;                 // Obj: Trailing Stop (distance from price to object, in pips)
input ushort    InpObjTrailingStepCS         = 5 ;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)
input string    InpFont2                     = "LOW Up" ;           // Obj: Name Price Line BUY
input string    InpFont3                     = "LOW Down" ;         // Obj: Name Price Line SELL
input bool      InpOnTimer                   = false ;             // OnTimer "LOW Up" "LOW Down"
input ushort    InpIndentUp                  = 5 ;                 // Indent up, in pips (1.00045-1.00055=1 pips)
input ushort    InpIndentDown                = 10 ;                 // Indent down, in pips (1.00045-1.00055=1 pips)

트리거되면 수평 매도 라인이 포지션을 열고 수평 매수 라인을 설정하며 그 반대의 경우도 마찬가지입니다.

또한 라인은 " 0 " 으로 또는 그 사이에서 설정되고 거리는 Obj: Trailing Step MACD 에 의해 설정됩니다.

또는 수평선 "LOW" 에서


input double   InpObjTrailStep              = 1.0001;            // Obj: Trailing Step MACD
input bool     InpDub                       = false;             // "0.0":Price=false(Trail->Off) "LOW":Price=true(Trail->ON)
input bool     InpDubll                     = false;             // Duplicate "BUY""SELL" (ObjTrailStep)

OnTimer 에서 "LOW Up" "LOW Down" 은 동일하며 거리만 설정됩니다( 입력 짧은 InpObjTrailingStepCS = 5 ; // Obj: 후행 단계, 핍(1.00045-1.00055=1 핍)

 input ushort    InpObjTrailingStepCS         = 5 ;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)
input string    InpFont2                     = "LOW Up" ;           // Obj: Name Price Line BUY
input string    InpFont3                     = "LOW Down" ;         // Obj: Name Price Line SELL
input bool      InpOnTimer                   = false ;             // OnTimer "LOW Up" "LOW Down"

표시기에서 수평선 의 거리 를 찾는 방법 트롤에 설정하기 위한 Low_Macd_Line.mq5 (각 쌍에서 다른 거리)

유틸리티 설정에서 복사하여 붙여넣기

 input double    InpObjTrailStep              = 1.0001 ;             // Obj: Trailing Step MACD

스냅 사진

그림 에서 " 0 "에서 Horizontal BUY 0.0064까지 그리고 Horizontal LOW에 닿으면 Horizontal SELL을 설정합니다(아래만 " 0 " - 0.0064)

중요한!!! 유틸리티에 입력하는 숫자 앞에 빼기(-)를 넣는 것은 불가능합니다.

스냅샷2 옵션 중 하나인 이 기능은

파일: