MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 577

 
Evgeniy Oshurkevich :

모두를 환영합니다! 첫 번째 지표를 생성하는 데 문제가 있습니다. 지표 이전에는 Expert Advisor만 생성되었습니다. 나는 교과서에서 배울 수 없었고, 당신 중 한 명이 나에게 가장 단순한 조언자를 버렸고, 그것에서 나는 여기저기 찔리기 시작했고 홍수가 났습니다. 약 5~7년 전의 일이다. 이제 지표를 만들고 싶습니다. 다시 튜토리얼과 문서로 이동했습니다. 글쎄, PPC, 내가 얼마나 멍청한가, 모든 것이 내 모국어로되지 않는 것 같습니다.

요컨대, 내 임무는 연속으로 최대 강세 양초 수와 약세 양초 수를 표시하는 지표를 만드는 것입니다. 적어도 어디서부터 시작해야 하는지 알려주십시오. 또는 비슷한 스레드 표시기를 던집니다.

https://www.mql5.com/ru/code/19416

https://www.mql5.com/ru/code/19418

Candle_row
Candle_row
  • 투표: 15
  • 2017.11.22
  • Vitaly Muzichenko
  • www.mql5.com
Индикатор отслеживает непрерывную последовательность баров одного направления и ставит на них метки. В индикаторе есть Alert для оповещения при последовательном направлении N-свечей. mCandle_row - только в главном окне. sCandle_row - с графиком в подокне. Входные параметры Font size arrow - размер шрифта; Bull arrow candle - цвет Bull...
 
 

깨끗한(비 브로커) MT4를 찾을 수 없습니다. 링크를 주세요.

 
PAzar :

깨끗한(중개 없는) MT4를 찾을 수 없습니다 링크를 주세요

터미널을 시작합니다 . 필요한 모든 파일과 폴더가 생성되고 모든 Expert Advisors, 지표 및 스크립트가 로드됩니다.

5. 계정에 연결하거나 새 데모 계정을 등록합니다.

모두...


또는 이 게시물에서.
Помогите!!! MT4 при установке требует прокси сервер
Помогите!!! MT4 при установке требует прокси сервер
  • 2018.05.31
  • www.mql5.com
Помогите узнать решение этой вечной долбанной проблемы о которой уже писано переписано, но ни одного реально внятного ответа я так нигде и не нашел...
 
좋은 오후입니다. "m5 촛불에서 두 개 이상의 신호를 열지 마십시오" 기호를 선택하여 함수를 작성하는 데 도움을 주세요.
 
Alexey Viktorov :

두 번째 옵션

고맙습니다.

타라스 슬로보디아닉 :

반올림하면 계산이 정확하려면 +1을 수행해야 합니다.

고맙습니다.

진드기가 없을 때 목표물, 경보. 경고 없음, 무슨 일이야?

 #property strict
//--- input parameters
input int s_clo= 2 ;
input int Period_= 13 ,
Shift_= 0 ;
input      ENUM_MA_METHOD Method_MA_= MODE_SMA ;
input ENUM_APPLIED_PRICE Apply_to_= PRICE_CLOSE ;
double ma_fast;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- create timer
   EventSetTimer ( 60 );

//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//--- destroy timer
   EventKillTimer ();

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
ma_fast= 0 ;
   if (SecondsToCandleClose( Symbol (), 0 )<=s_clo){ ma_fast=ma(Period_,Shift_,Method_MA_,Apply_to_, 0 ); Alert ( "a" ,ma_fast);}
   Comment ( "ma_fast " ,ma_fast);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
long SecondsToCandleClose( const string symbol_name, const ENUM_TIMEFRAMES timeframe)
  {
   datetime array[];
   return ( CopyTime (symbol_name,timeframe, 0 , 1 ,array)== 1 ? PeriodSeconds (timeframe)+array[ 0 ]- TimeCurrent () : 0 );
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer ()
  {
   RefreshRates ();
   OnTick ();
  }
//+------------------------------------------------------------------+
double ma( int period, int ma_shift, ENUM_MA_METHOD ma_method, ENUM_APPLIED_PRICE ap_price, int shift)
  {
   return (ND( iMA ( NULL ,( int ) 0 ,period,ma_shift,ma_method,ap_price,shift)));
  }
   //
   double ND( double A)
  {
   return ( NormalizeDouble (A, Digits ));
  }
   //
 
PolarSeaman :

고맙습니다.

고맙습니다.

진드기가 없을 때 목표물, 경보. 경고 없음, 무슨 일이야?

 //+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer ()
  {
   RefreshRates ();
   OnTick ();
  }

왜 이게 다야? 각 새 틱과 함께 이미 시작되는 OnTick()을 실행하는 타이머의 목적은 무엇입니까? 불필요하게 지속적으로 데이터를 업데이트하는 이유는 무엇입니까? 그들은 각각의 새로운 틱으로 업데이트됩니다. 그리고 장기 계산에는 강제 업데이트가 필요합니다. 그런 다음 틱을 건너뛸 수 있습니다. 그리고 필요한 작업을 수행하기 직전에만 데이터를 업데이트해야 하며 타이머에서 아무 생각 없이 업데이트해서는 안 됩니다.

 
Artyom Trishkin :

왜 이게 다야? 각 새 틱과 함께 이미 시작되는 OnTick()을 실행하는 타이머의 목적은 무엇입니까?

따라서 막대가 닫히기 2초 전에 틱이 없는 경고가 필요합니다.

https://www.mql5.com/en/forum/213937#comment_5633888
Как работать в режиме OnTimer() ?
Как работать в режиме OnTimer() ?
  • 2017.08.20
  • www.mql5.com
Здравствуйте, уважаемые! Как правильно запустить советник с функцией OnTimer...
 
PolarSeaman :

따라서 틱이 없으면 막대가 닫히기 2초 전에 경고가 필요합니다.

https://www.mql5.com/ru/forum/213937#comment_5633888

그래서 무엇? 타이머에서 OnTick()을 실행하는 이유는 무엇입니까? 데이터를 업데이트하는 이유는 무엇입니까?

 
Artyom Trishkin :

왜 거기에서 데이터를 업데이트합니까?

내가 직접 생각해낸 것은 아닙니다 . " 코드가 작동하도록 OnTimer()의 데이터를 업데이트해야 합니다. "

어떻게 필요합니까?