오류, 버그, 질문 - 페이지 2041

 
Kirill Belousov :
우리는 하위 창의 번호를 지정하지 않지만 함수는 우리에게 알려줍니다(입력이 아닌 출력 매개변수) - 지정된 ID를 가진 차트의 하위 창에 가격 차트가 있고 어떤 가격과 시간이 해당 가격 차트에 해당하는지 알려줍니다. 해당 차트에서 지정한 X,Y 좌표입니다.

매개변수를 참조로 전달하면 이해할 수 있습니다. 그러나 질문은 열려 있습니다. 왜 함수는 표시기가 설정된 하위 창 번호를 보지 못하고 데이터를 가져오지 않습니까?

 
Vitaly Muzichenko :

매개변수를 참조로 전달하면 이해할 수 있습니다. 그러나 질문은 열려 있습니다. 왜 함수는 표시기가 설정된 하위 창 번호를 보지 못하고 데이터를 가져오지 않습니까?

CHART_HEIGHT_IN_PIXELS
 
fxsaber :
CHART_HEIGHT_IN_PIXELS

하위 창에 여러 지표가 있는 경우 계산이 포함된 전체 이야기지만 시간을 내주셔서 감사합니다.

 
Vitaly Muzichenko :

하위 창에 여러 지표가 있는 경우 계산이 포함된 전체 이야기지만 시간을 내주셔서 감사합니다.

https://www.mql5.com/en/docs/chart_operations/chartwindowfind

Документация по MQL5: Операции с графиками / ChartWindowFind
Документация по MQL5: Операции с графиками / ChartWindowFind
  • www.mql5.com
1. Функция ищет на указанном графике подокно с указанным "коротким именем" индикатора (короткое имя выводится слева вверху подокна) и в случае удачи возвращает номер подокна. Не следует путать короткое имя индикатора и имя файла, которое указывается при создании индикатора функциями iCustom() и IndicatorCreate(). Если короткое наименование...
 

예, 이 모든 기능을 알고 있습니다.

작업은 간단합니다. 네 번째 하위 창(빨간색으로 강조 표시됨)에 있는 개체를 가격에 연결해야 합니다. 이 경우에는 -0.02이고 차트의 Y 좌표는 34입니다.


 
Vitaly Muzichenko :

작업은 간단합니다. 네 번째 하위 창(빨간색으로 강조 표시됨)에 있는 개체를 가격에 연결해야 합니다. 이 경우에는 -0.02이고 차트의 Y 좌표는 34입니다.

 #property indicator_separate_window

#property indicator_buffers 0 
#property indicator_plots 0

#define CHART_SUBWINDOW_BORDER_SIZE 2 // Размер разделителя подокон

void OnInit ()
{
   int X = 0 ;
   int Y = 0 ;

   const int SubWindow = ChartWindowFind ();
  
   for ( int i = 0 ; i < SubWindow; i++)  
    Y += ( int ) ChartGetInteger ( 0 , CHART_HEIGHT_IN_PIXELS , i) + CHART_SUBWINDOW_BORDER_SIZE;
  
   int SubWindow2;
   datetime time;
   double Price;
  
   if ( ChartXYToTimePrice ( 0 , X, Y, SubWindow2, time, Price))
     Print (SubWindow2);
}

int OnCalculate ( const int rates_total, const int , const int , const double &[] )
{ 
   return (rates_total);
}
 
fxsaber :

기성품 버전에 감사드립니다. 지표에 연결하려고 합니다.

추신 그것은 밝혀졌습니다, 다시 한 번 감사합니다!


그러나 탬버린과 함께 춤을 출 필요가 있는 경우 왜 함수에서 하위 창 번호를 전혀 표시하지 않는지에 대한 질문이 남아 있습니다.

 
Vitaly Muzichenko :

탬버린과 함께 춤을 출 필요가 있는 경우 함수에서 일반적으로 하위 창의 번호를 표시하는 이유는 무엇입니까?

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

오류, 버그, 질문

키릴 벨루소 프 , 2017.10.15 19:50

우리는 하위 창의 번호를 지정하지 않지만 함수는 우리에게 알려줍니다( 입력 매개변수가 아니라 출력 매개변수 임) - 지정된 ID를 가진 차트의 하위 창에 가격 차트가 있고 어떤 가격과 시간이 해당하는지 알려줍니다. 해당 차트에서 지정한 X,Y 좌표입니다.
 
Vitaly Muzichenko :

기성품 버전에 감사드립니다. 지표에 연결하려고 합니다.

추신 그것은 밝혀졌습니다, 다시 한 번 감사합니다!


그러나 탬버린과 함께 춤을 출 필요가 있는 경우 왜 함수에서 하위 창 번호를 전혀 표시하지 않는지에 대한 질문이 남아 있습니다.

이 매개변수와 함께 ChartGetInteger()를 사용하여 춤을 줄일 수 있습니다.

CHART_WINDOW_YDISTANCE

표시기 하위 창의 위쪽 프레임과 기본 차트 창의 위쪽 프레임 사이의 수직 Y축을 따른 거리(픽셀)입니다. 마우스 이벤트가 발생하면 커서 좌표는 메인 차트 창의 좌표로 전송되고 인디케이터 서브 창의 그래픽 개체 좌표는 서브 창의 왼쪽 상단 모서리를 기준으로 설정됩니다.

이 값은 기본 차트의 절대 좌표를 하위 창 프레임의 왼쪽 상단 모서리를 기준으로 좌표가 설정된 그래픽 개체로 올바르게 작업 하기 위해 하위 창의 로컬 좌표로 변환하는 데 필요합니다.

int r/o 수정자 - 하위 창 번호

 
Kirill Belousov :

이 매개변수와 함께 ChartGetInteger()를 사용하여 춤을 줄일 수 있습니다.

CHART_WINDOW_YDISTANCE

표시기 하위 창의 위쪽 프레임과 기본 차트 창의 위쪽 프레임 사이의 수직 Y축을 따른 거리(픽셀)입니다. 마우스 이벤트가 발생하면 커서 좌표는 메인 차트 창의 좌표로 전송되고 인디케이터 서브 창의 그래픽 개체 좌표는 서브 창의 왼쪽 상단 모서리를 기준으로 설정됩니다.

이 값은 기본 차트의 절대 좌표를 하위 창 프레임의 왼쪽 상단 모서리를 기준으로 좌표가 설정된 그래픽 개체로 올바르게 작업 하기 위해 하위 창의 로컬 좌표로 변환하는 데 필요합니다.

int r/o 수정자 - 하위 창 번호

덕분에 줄었습니다. 결과는 같지만 코드가 적습니다!