초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 806

 
User_mt5 :

비탈리, 비탈리!))
내가 당신에게 얼마나 감사한지 당신은 모릅니다!

이것은 머리와 함께. 물론 지금 모든 것을 시도해야하지만 이것은 이미 사소한 일입니다.

행복이 이렇게 가까이 있을 수 있는지 몰랐어요!)) 감사합니다! 어때요 .. 난 당신을 위해, 당신을 위해 더 이상 당신을 위해!

F1은 종종 포럼보다 빠르게 많은 문제를 해결합니다.
 
Artyom Trishkin :
F1은 종종 포럼보다 빠르게 많은 문제를 해결합니다.
F1을 사용하여 내 질문 에 대한 답변을 찾을 수 없습니다.
 
DCodec :
F1을 사용하여 내 질문 에 대한 답변을 찾을 수 없습니다.

글쎄, 그것은 두 개의 선이있는 하나의 지표이기 때문입니다. 하나의 MA 라인만 그리려면 Envelopes와 동일한 매개변수로 이동 평균을 사용합니다. MA 값에만 위쪽 라인의 Deviation*Point() 값을 추가하고 아래쪽 라인의 Deviation*Point() 값을 빼면 됩니다.

 
Artyom Trishkin :
F1은 종종 포럼보다 빠르게 많은 문제를 해결합니다.

당신은 거래가 무엇인지 이해합니다 .. Smart to smart sent ..
그리고 저는 Forex의 광대한 영역을 따라 이동합니다.. 이제 저는 이 포럼에 참여하게 되었습니다.

F1은 일반적으로 버튼이 그렇죠? 조언 해주셔서 감사합니다. 밀어보도록 하겠습니다.

 
IgorM М :

모두를 환영합니다! 30분 동안 포럼에서 " new bar "를 검색했는데 슬프게도 포럼 검색이 내 자신의 이해에 따라 작동한다는 것을 발견했습니다...

한 시간 프레임에서 작동하는 표시기에 대한 새 막대를 감지하는 측면에서 mql5의 최신 빌드에서 현재 어떤 코드가 사용 중인지 알려주세요.

추신: 검색하여 TimeframesFlags를 찾았 습니다. .. 번거로운 솔루션이지만 보편적입니다.

미리 감사합니다!


https://www.mql5.com/ru/articles/159

Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Для создателей индикаторов и экспертов всегда был актуален вопрос написания экономичного кода с точки зрения времени выполнения. Можно подойти к решению этой задачи с разных сторон. Из этой обширной темы в данной статье будет затронут, казалось бы уже решенный вопрос: проверка появления нового бара. Это достаточно популярный способ ограничения...
 
Artyom Trishkin :

글쎄, 그것은 두 개의 선이있는 하나의 지표이기 때문입니다. 하나의 MA 라인만 그리려면 Envelopes와 동일한 매개변수로 이동 평균을 사용합니다. MA 값에만 위쪽 라인의 Deviation*Point() 값을 추가하고 아래쪽 라인의 Deviation*Point() 값을 빼면 됩니다.

흥미로운 솔루션, 감사합니다!

그러나 이것이 Envelopes가 아니라 Bollinger Bands라면 표준편차를 계산하는 공식을 규정해야 합니까? 물론 할 수 있지만 MQL4와 같은 간단한 솔루션은 실제로 없는 것입니까?

 iEnvelopes

Возвращает значение технического индикатора Envelopes.

double    iEnvelopes (
   string        symbol,           // имя символа
   int           timeframe,         // таймфрейм
   int           ma_period,         // период
   int           ma_method,         // метод усреднения
   int           ma_shift,         // сдвиг средней
   int           applied_price,     // тип цены
   double        deviation,         // отклонение (в процентах)
   int           mode,             // индекс линии
   int           shift             // сдвиг
   );

저것들. 매개변수

 int           mode,             // индекс линии
줄 번호를 설정합니다.
 
DCodec :

...



그러나 그러한 지표는 사용자 정의 이동 평균 수준 에 적합하지 않습니까?

MQL5 코드에서 두 레벨 값을 설정할 수 있는 이동 평균 표시기:

사용자 정의 이동 평균 수준

 
Vladimir Karputov :

그러나 그러한 지표는 사용자 정의 이동 평균 수준 에 적합하지 않습니까?

MQL5 코드에서 두 레벨 값을 설정할 수 있는 이동 평균 표시기:

도와주셔서 대단히 감사합니다. 하지만 저는 MQL5를 배우는 과정에 있습니다. 그래서 iCustom 을 사용하여 여러 표시줄이 있는 이미 내장된 표시기에서 필요한 값을 "추출"하려고 합니다 .

아직 해보진 못했는데 좀 쉽네요.

 
DCodec :

많은 도움을 주셔서 감사합니다. 하지만 저는 MQL5를 배우는 과정에 있습니다. 그래서 iCustom 을 사용하여 여러 표시줄이 있는 이미 내장된 표시기에서 필요한 값을 "추출"하려고 합니다 .

아직 해보진 못했는데 좀 쉽네요.


iCustom을 사용하면 모든 것이 매우 간단합니다. 예: 사용자 정의 이동 평균 수준 코드에서   있다

이 표시기를 만드는 예("터미널 데이터 디렉터리"\MQL5\Indicators\ MyInd \ 폴더에 있음):

...
int             handle_iMA_Custom;             // variable for storing the handle of the iMA indicator 
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
...
//--- create handle of the Custom indicator "Custom Moving Average Levels"
   handle_iMA_Custom= iCustom ( Symbol (), Period (), " MyInd \\Custom Moving Average Levels" ,
                             ma_period,
                             ma_shift,
                             ma_method,
                             100 ,
                             - 100 );
//--- if the handle is not created 
   if (handle_iMA_Custom== INVALID_HANDLE )
     {
       //--- tell about the failure and output the error code 
       PrintFormat ( "Failed to create handle of the iMA indicator for the symbol %s/%s, error code %d" ,
                   Symbol (),
                   EnumToString ( Period ()),
                   GetLastError ());
       //--- the indicator is stopped early 
       return ( INIT_FAILED );
     }
   ChartIndicatorAdd ( 0 , 0 ,handle_iMA_Custom);
//---
   return ( INIT_SUCCEEDED );
  }
따라서 iCustom을 통해 호출된 표시기의 경우 - 먼저 표시기 핸들을 생성합니다(OnInit()에서 핸들을 한 번 생성한다는 사실을 잊지 마십시오).
 
Vladimir Karputov :

iCustom을 사용하면 모든 것이 매우 간단합니다. 예: 사용자 정의 이동 평균 수준 코드에서   있다

이 표시기를 만드는 예("터미널 데이터 디렉터리"\MQL5\Indicators\ MyInd \ 폴더에 있음):

따라서 iCustom을 통해 호출된 표시기의 경우 - 먼저 표시기 핸들을 생성합니다(OnInit()에서 핸들을 한 번 생성한다는 사실을 잊지 마십시오).

솔직히, 나는 아무것도 이해하지 못했습니다. Close[2], Close[1]에 있는 표시기의 위쪽 라인 값이 필요합니다. 그게 전부입니다.

표시기 코드에 "맞춤"되지 않도록 모든 표시기에서 이러한 값을 추출하는 방법.