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

 

코드를 공유할 수 없는 이유는 무엇입니까?

오류가 발생합니다. DLL 사용이 감지되었습니다 .

코드를 공유할 수 있는 방법을 알려주세요.

나는 이것을 보았다: https://www.mql5.com/en/code/7673

그리고 내 코드도 비슷합니다.

Period Converter Optimized
Period Converter Optimized
  • www.mql5.com
Lastest Version: 1.4 2005.12.24  1.4      faster to detect if data changed by removing float point  operations, added support to output CSV file in real time.                             OutputCSVFile = 0 means no CSV.                             OutputCSVFile = 1 means CSV + HST.                             OutputCSVFile = 2 CSV only, no HST...
 

안녕하세요. 내가 무엇을 잘못하고 있지?

히스토그램 표시기가 있습니다. 위아래 틱 수의 차이를 보여줍니다.

EA의 1, 2, 3 막대에 표시기 값을 사용하려고 합니다.

 double tbs1= iCustom ( Symbol (), 0 , "tickbs" , 1 , 1 );

double tbs2= iCustom ( Symbol (), 0 , "tickbs" , 1 , 2 );

double tbs3= iCustom ( Symbol (), 0 , "tickbs" , 1 , 3 );

테스터에서 오류가 발생합니다: tickbs EURUSD,M1: array out of range in 'tickbs.mq4' (26,19)

 #property copyright "tickbs"
#property link        ""
#property version    "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers      1
#property indicator_color1      clrGreen
//--- input parameter
extern color    ClrUpUp        = clrGreen ;
extern int      HistWidth      = 2 ;
//--- buffers
double BufB[];
double dOldPrice, dNewPrice;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   IndicatorBuffers( 1 );
   SetIndexBuffer ( 0 ,BufB);  
   SetIndexEmptyValue( 0 , 0.0 );
   SetIndexStyle( 0 , DRAW_HISTOGRAM , STYLE_SOLID ,HistWidth,ClrUpUp);       
   SetIndexLabel( 0 , "Hs" );
   
   dOldPrice=Close[ 0 ];
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
   dNewPrice=Close[ 0 ];
   if (dNewPrice>dOldPrice){
      BufB[ 0 ]=BufB[ 0 ]+ 1 ;
      dOldPrice=dNewPrice;
   }
   else 
       if (dNewPrice<dOldPrice){
         BufB[ 0 ]=BufB[ 0 ]- 1 ;
         dOldPrice=dNewPrice;
      }
   return (rates_total);
  }
//+------------------------------------------------------------------+

고맙습니다.

 
Oleg Bondarev :

안녕하세요. 내가 무엇을 잘못하고 있지?

히스토그램 표시기가 있습니다. 위아래 틱 수의 차이를 보여줍니다.

EA의 1, 2, 3 막대에 표시기 값을 사용하려고 합니다.


테스터에서 오류가 발생합니다: tickbs EURUSD,M1: array out of range in 'tickbs.mq4' (26,19)

고맙습니다.

버퍼는 처음부터 인덱싱됩니다.
 
Igor Makanu :

계속해서.... 클래스는 주로 int, double과 같은 데이터 유형입니다.

이 유형의 데이터 배열을 원하십니까? - 배열을 선언하고 배열이 동적이면 크기를 변경한 다음 필요한 데이터로 EACH ELEMENT를 초기화합니다. - 포인터가 필요하고 클래스에 대한 포인터로 초기화하고 클래스 인스턴스가 필요하면 배열의 각 요소가 포인터이지만 객체 자체

이것이 OOP의 본질입니다. 모든 클래스는 무엇보다도 사용자 정의 데이터 유형이라는 것입니다.... 이것에 대해 얼마나 말해야 할지 모르겠지만 일반 데이터 유형으로 작업하는 기술, 그러나 클래스 내부에 작성할 내용은 개인적인 문제이지만 새 인스턴스의 초기화는 항상 생성자의 시작과 함께 시작되며 생성자가 어디에 있는지 - 기본적으로 매개변수가 있든 없든 이렇게 하면 개체가 초기화되었습니다 ...... 휴, 하지만 여전히 책을 읽습니다. 질문은 여기에서 작동하지 않습니다.

MT4의 예와 함께 OOP에서 읽을 내용을 알려주세요. 또는 심지어 예. 언어의 구문과 논리는 한 번에 어렵고 언어 매뉴얼에서 끝까지 항상 명확하지 않습니다.

 
Valeriy Yastremskiy :

MT4의 예와 함께 OOP에서 읽을 내용을 알려주세요. 또는 심지어 예. 언어의 구문과 논리는 한 번에 어렵고 언어 매뉴얼에서 끝까지 항상 명확하지 않습니다.

여기 기사 섹션으로 이동하여 살펴보십시오. 초보자를 포함하여 여기에 OOP에 대한 많은 정보가 있습니다.

Статьи по MQL5
Статьи по MQL5
  • www.mql5.com
Статьи по программированию на языке MQL5
 
Artyom Trishkin :

여기 기사 섹션으로 이동하여 살펴보십시오. 초보자를 포함하여 여기에 OOP에 대한 많은 정보가 있습니다.

고맙습니다. 건강한. 누군가 필요할 수도 있습니다.

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

https://www.mql5.com/en/articles/703

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

https://www.mql5.com/en/articles/70

https://www.mql5.com/en/articles/351

조지아

https://www.mql5.com/en/articles/55

MQL4

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

그리고 나는 그것을 좋아했다)))

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


또한 질문은 기사를 클릭하면 18페이지의 기사와 제목이 나타납니다.

MQL4 및 MQL5 프로그래밍에 대한 기사

두 번째 페이지를 클릭하면 MQL4가 사라집니다. MT4를 클릭하면 6페이지가 나타납니다. 그리고 그들은 초기 샘플에 없습니다.


Объектно-ориентированный подход к построению мультитаймфреймовых и мультивалютных панелей
Объектно-ориентированный подход к построению мультитаймфреймовых и мультивалютных панелей
  • www.mql5.com
В статье рассказывается о том, как объектно-ориентированный подход может быть использован для создания мультитаймфреймовых и мультивалютных индикаторов для MetaTrader 5. Главной целью является построение универсальной панели, которая может быть использована для отображения различных типов данных (цены, их изменения, значения индикаторов...
 
Alexey Viktorov :
버퍼는 처음부터 인덱싱됩니다.

고맙습니다.

 
누군가 포럼에서 내 요청에 응답해 주세요: https://www.mql5.com/ru/forum/336385
Как я могу скопировать symbols.raw и symgroups.raw в новый файл с дополнительной группой и символом в соответствующей группе MQL4/MT4?
Как я могу скопировать symbols.raw и symgroups.raw в новый файл с дополнительной группой и символом в соответствующей группе MQL4/MT4?
  • 2020.04.01
  • www.mql5.com
Я хочу знать, как я могу создать новый файл, скажем symbols_extra.raw и symgroups_extra.raw на MQL4, используя существующие symbols.raw и symgroups...
 
Valeriy Yastremskiy :

두 번째 페이지를 클릭하면 MQL4가 사라집니다. MT4를 클릭하면 6페이지가 나타납니다. 그리고 그들은 초기 샘플에 없습니다.

MQL4와 MQL5 언어는 99% 동일( SQlITE , OpenCL, DirectX 제외)하여 MQL5에 대한 기사를 안전하게 읽을 수 있지만 터미널 4와 5는 주문에 대한 작업이 다르고 뉘앙스가 있다는 점을 고려하면 시계열 작업을 위해

 
Igor Makanu :

MQL4와 MQL5 언어는 99% 동일하므로(SQlITE, OpenCL, DirectX 제외) MQL5에 대한 기사를 안전하게 읽을 수 있지만 터미널 4와 5는 주문에 대한 작업이 다르고 뉘앙스가 있다는 점을 고려하면 시계열 작업을 위해

그것에 관한 것이 아니라 초기 선택에서 mql4에 대한 기사가 없습니다. 이것은 오해의 소지가 있습니다. 그건 그렇고, 동일한 논리가 코드 기반에 있습니다. 그러나 제목은 단순히 변경되지 않습니다. 나는 찌르는 방법에 도달해야했습니다.) 감사합니다, 우리는 읽었습니다)))