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

 
Artyom Trishkin :

CArrayObj 배열에 다른 CArrayObj 배열을 추가하기만 하면 됩니다. Add()

그런 식으로 작동하지 않습니다. 매개변수 변환이 허용되지 않음

그건 그렇고, 그것이 중요하다면. 배열에 추가되는 내 개체는 CArrayObj 에서 상속되는 클래스입니다.

 class CCustomClass : public CArrayObj
{
}




CCustomClass obj1;
CCustomClass obj2;
...

CArrayObj objects_array;
objects_array.Add(obj1); 
글쎄, 그것은 마지막 줄에서 맹세합니다 - 매개 변수 변환은 허용되지 않습니다.
 
objects_array.Add(GetPointer(obj1)); 
작동했습니다. 포인터가 없다는 것을 눈치 채지 못했습니다.
 
TaywinLannister :

Forumchane 친애하는 도움 pozyazya!!!

변수에 가격 단계를 할당하고 싶습니다.

int V=SymbolInfoInteger(기호, SYMBOL_POINT );

오류 발생: 'SymbolInfoInteger' - 어떤 오버로드도 함수 호출에 적용할 수 없습니다.

내 실수는 또 뭐야?


int V=(int)SymbolInfoInteger(기호, SYMBOL_POINT );

그래서 시도

 
foreXteller :

친애하는 포럼 사용자!

말해주세요!!!

MetaTrader 5 창에는 Bid & Ask 값이 표시됩니다.   (내가 아는 한) 승패가 결정된다.

그러나 내 전략을 테스트하기 위해 1분 기록 인용문을 사용하려고 할 때 이 인용문에는 입찰가 값이 포함되어 있지 않습니다.   그리고 묻고 , 가치를 부여하라   "열기", "높음", "낮음", "닫기", "틱볼",   "볼", " 확산 ". 동시에 이러한 값에서 입찰가 를 얻는 방법은 완전히 불분명합니다.  Ask 및 이러한 값에서 스프레드를 계산하는 방법.

절대적으로 모든 것이 가능합니다. "분 역사 인용문을 사용하려고 할 때"가 정확히 무엇을 의미하는지 자세히 설명해 주십시오. 정확히 무엇을 하고 있거나 하고 싶은가요?

 
TaywinLannister :

Forumchane 친애하는 도움 pozyazya!!!

변수에 가격 단계를 할당하고 싶습니다.

int V=SymbolInfoInteger(기호, SYMBOL_POINT );

오류 발생: 'SymbolInfoInteger' - 어떤 오버로드도 함수 호출에 적용할 수 없습니다.

실수 는 또 뭐야?


도움말 SymbolInfoInteger :

1. 속성 값을 직접 반환합니다.

 long    SymbolInfoInteger ( 
   string                     name,       // символ 
   ENUM_SYMBOL_INFO_INTEGER   prop_id     // идентификатор свойства 
   );

2. 함수의 성공 여부에 따라 true 또는 false를 반환합니다. 성공하면 속성 값이 마지막 매개변수로 참조로 전달된 수신 변수에 배치됩니다.

 bool    SymbolInfoInteger ( 
   string                     name,       // символ 
   ENUM_SYMBOL_INFO_INTEGER   prop_id,   // идентификатор свойства 
   long &                     long_var   // сюда примем значение свойства 
   );


즉, OR long OR bool 입니다.

 
TaywinLannister :

Forumchane 친애하는 도움 pozyazya!!!

변수에 가격 단계를 할당하고 싶습니다.

int V=SymbolInfoInteger(기호, SYMBOL_POINT );

오류 발생: 'SymbolInfoInteger' - 어떤 오버로드도 함수 호출에 적용할 수 없습니다.

내 실수는 또 뭐야?


 double V= SymbolInfoDouble (Symb, SYMBOL_POINT );

포인트 - double 유형의 값입니다. int로 받으면 null이 됩니다.

 
Vladimir Karputov :

도움말 SymbolInfoInteger :

1. 속성 값을 직접 반환합니다.

2. 함수의 성공 여부에 따라 true 또는 false를 반환합니다. 성공하면 속성 값이 마지막 매개변수로 참조로 전달된 수신 변수에 배치됩니다.


즉, OR long OR bool 입니다.

이해 감사)

 
#property copyright "Copyright 2018, Sergey S Morozov"
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict

//#property indicator_separate_window    // Индик. рисуется в новом окне
#property indicator_chart_window      // Индик. рисуется в основном окне

#property indicator_buffers 1        // Количество буферов
#property indicator_color1 Red     // Цвет первой линии

extern int History  = 50 ;             // Колич.баров в расчётной истории
extern int Aver_Bars= 5 ;             // Количество баров для расчёта

double ArrayBuff[];

//----------------------------------------------------------------------------------------------------

int OnInit ()
{
   SetIndexBuffer ( 0 ,ArrayBuff);
   SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 1 );
   return ( INIT_SUCCEEDED );
}

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[])

  {

       int i,                           // Индекс бара
      n,                               // Формальный параметр
      Counted_bars;                     // Количество просчитанных баров 
       double
      Sum_H,                           // Сумма значений High за переиод
      Sum_L;                           // Сумма значений Low  за переиод
   //--------------------------------------------------------------------
      Counted_bars= IndicatorCounted (); // Количество просчитанных баров
      i= Bars -Counted_bars- 1 ;           // Индекс первого непосчитанного
       if (i>History- 1 )                 // Если много баров то ..
         i=History- 1 ;                   // ..рассчитывать заданное колич.
       while (i>= 0 )                       // Цикл по непосчитанным барам
        {
         Sum_H= 0 ;                       // Обнуление в начале цикла
         Sum_L= 0 ;                       // Обнуление в начале цикла
         for (n=i;n<=i+Aver_Bars- 1 ;n++) // Цикл суммирования значений
           {
            Sum_H=Sum_H + High [n];     // Накопление суммы макс.значений
            Sum_L=Sum_L + Low [n];       // Накопление суммы мин. значений
           }
         ArrayBuff[i]=(Sum_H-Sum_L)/Aver_Bars;   // Знач. 0 буфера на i-ом баре
         i--;                                   // Расчёт индекса следующего бара
        }

   return (rates_total);

  }
//+------------------------------------------------------------------+

이제 막 시작했는데 아직 이 언어로 글을 쓰는 법을 모릅니다. 그러나 문제는 다음과 같습니다. 새 창에 있으면 그래프가 나타납니다. 그런데 현재에 표시가 안되는데... 내 잘못이 뭔가요? 내가 직접 작성하고 예제에서 컴파일하지 못한 것을 생각하면 여기에서 찾을 수 없습니다. 게다가 이 모든 것은 SetChartData( point1 , point2); 하지만 어떻게 되는지...

글쎄, 변수는 ( indicator_chart_window ) 인 것 같지만 여전히 작동하지 않습니다 ....

Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
  • www.mql5.com
Задавайте вопросы по техническому анализу, обсуждайте торговые системы и улучшайте свои навыки программирования торговых стратегий на языке MQL5. Общайтесь и обменивайтесь опытом на форуме с трейдерами всего мира и помогайте ответами новичкам — наше сообщество развивается вместе с вами. Как прописать расписание торговли робота? Здравствуйте...
 
Vladimir Karputov :

절대적으로 모든 것이 가능합니다. "분 역사 인용문을 사용하려고 할 때"가 정확히 무엇을 의미하는지 자세히 설명해 주십시오. 정확히 무엇을 하고 있거나 하고 싶은가요?

기록 시세를 다운로드하려면 MetaTrader 5를 로드하고 c 아이콘을 클릭하십시오. 달러 기호: "기호 목록 표시"(또는 Ctrl 키 를 누를 수 있음) ). 기호 창이 나타납니다. "사양" 탭에서 원하는 통화 쌍을 찾습니다(예: GBPCHF ) .   "BARS" 탭에서 분 따옴표(M1)와 필요한 기간의 시작 및 종료 날짜를 설정합니다. "요청" 버튼을 클릭하면 메타 트레이더를 사용하여 전략을 테스트하는 데 사용할 수 있는 csv 파일이 다운로드됩니다.   그들의 프로그램과 함께.

엑셀 사용하기 이 파일의 내용을 볼 수 있습니다. 여기서 첫 번째 행은 파일에 있는 정보의 내용을 나타냅니다. "날짜, 시간", 그리고   "열기", "높음", "낮음", "닫기", "틱볼", "볼륨",   " 확산 "

이 데이터가 무엇을 의미하는지 완벽하게 이해하지만 어떻게 BIT 를 만들 수 있습니까? MetaTrader 5가 사용하는 ASK ?

 
친애하는 중재자, mt5에서 기호에 대한 정보를 볼 수 있는 곳을 알려주실 수 있습니까? mt4에서는 전략 테스터 에서 확인이 가능했던 걸로 기억하는데 mt5 테스터에서는 이 기능을 못찾았습니다.
사유: