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

 
Roman Sharanov :

아무것도, 비어

여기에서 물어 보세요.

 
Artyom Trishkin :

여기에서 물어 보세요.

도움이 된다면 화살표를 그려야 합니다. 유로화에, 유로엔에, 호주인이 그립니다.

파일:
Hydra.mq4  9 kb
 
Roman Sharanov :

도움이 된다면 화살표를 그려야 합니다. 유로화에, 유로엔에, 호주인이 그립니다.

그냥 추측입니다.

설정에는 다음과 같은 값이 있습니다.

 input int so_slowma = 233 ; //Медленная МА

그리고 OnInit()에서 더:

   //---- установка номера бара, начиная с которого будет отрисовываться индикатор 
   SetIndexDrawBegin( 0 , so_slowma );
   SetIndexDrawBegin( 1 , so_slowma );

일일 막대 데이터가 계산에 사용되는 것을 봅니다.

 if (so > so_minsize && fto > fto_minsize && fo[ 1 ] < 0 && fo[ 0 ] > 0 && ( iHigh ( _Symbol , PERIOD_D1 , 0 )- iLow ( _Symbol , PERIOD_D1 , 0 ))/daily_atr <= 0.6 ) buf_1[i+ 1 ] = Low[i+ 1 ] - 10 * Point ;  
if (so < -so_minsize && fto < -fto_minsize && fo[ 1 ] > 0 && fo[ 0 ] < 0 && ( iHigh ( _Symbol , PERIOD_D1 , 0 )- iLow ( _Symbol , PERIOD_D1 , 0 ))/daily_atr <= 0.6 ) buf_2[i+ 1 ] = High[i+ 1 ] + 10 * Point ; 

그림이 없는 기호에 막대가 충분 합니까? so_slowma 변수를 더 작은 값(최소 100)으로 설정합니다. 도면이 있으면 과거 데이터가 충분하지 않은 것입니다.

이것은 단지 내 추측일 뿐이며, 처음 코드를 보았을 때 즉시 마음에 떠올랐습니다. 그리고 틀릴 수도 있습니다. 하지만 먼저 확인해야 합니다.

 

https://docs.mql4.com/en/constants/objectconstants/enum_object/obj_rectangle 사각형을 색상을 혼합하지 않고 다른 사각형 위에 그리는 방법은 무엇입니까?

예를 들어, 여기에서 예를 들어 나중에 수평선은 색상을 혼합하지 않고 이전 수평선 위에 그려지지만 직사각형과의 차이점이 무엇인지 알 수 없습니다.

고맙습니다.

OBJ_RECTANGLE - Типы объектов - Константы объектов - Константы, перечисления и структуры - Справочник MQL4
OBJ_RECTANGLE - Типы объектов - Константы объектов - Константы, перечисления и структуры - Справочник MQL4
  • docs.mql4.com
Следующий скрипт создает и перемещает на графике прямоугольник. Для создания и изменения свойств графического объекта написаны специальные функции, которые вы можете использовать "как есть" в своих собственных программах. //| Cоздает прямоугольник по заданным координатам                    |               time1=0,           ...
 
Artyom Trishkin :

그냥 추측입니다.

설정에는 다음과 같은 값이 있습니다.

그리고 OnInit()에서 더:

일일 막대 데이터가 계산에 사용되는 것을 봅니다.

그림이 없는 기호에 막대가 충분 합니까? so_slowma 변수를 더 작은 값(최소 100)으로 설정합니다. 도면이 있으면 과거 데이터가 충분하지 않은 것입니다.

이것은 단지 내 추측일 뿐이며, 처음 코드를 보았을 때 즉시 마음에 떠올랐습니다. 그리고 틀릴 수도 있습니다. 하지만 먼저 확인해야 합니다.

즉, 코드의 어딘가에서 내가 한 날의 데이터를 가져온다는 사실 때문에 표시기가 처음 233일을 그리지 않을 것입니까?
 
Roman Sharanov :
즉, 코드의 어딘가에서 내가 한 날의 데이터를 가져온다는 사실 때문에 표시기가 처음 233일을 그리지 않을 것입니까?

아니 이런 식으로. 이 값은 지표가 차트에 그리기 시작할 막대 번호를 지정합니다. 그러나 이 막대 수는 이동 평균 을 계산하는 데도 사용됩니다. 그리고 차트에 막대가 더 적은 경우 MA가 계산되지 않습니다. 이러한 상황을 피하기 위해 73행의 코드에는 계산할 막대가 충분하지 않은 경우에 대비하여 OnCalculate()에서 반환되는 내용이 포함되어 있습니다.

 if ( Bars <= so_slowma) return ( 0 );

글쎄, 일일 데이터에 대해-그것도 거기에 없을 수도 있지만 이것은 "이야기의 계속"과 비슷합니다 ...

 
Artyom Trishkin :

아니 이런 식으로. 이 값은 지표가 차트에 그리기 시작할 막대 번호를 지정합니다. 그러나 이 막대 수는 이동 평균 을 계산하는 데도 사용됩니다. 그리고 차트에 막대가 더 적은 경우 MA가 계산되지 않습니다. 이러한 상황을 피하기 위해 73행의 코드에는 계산할 막대가 충분하지 않은 경우에 대비하여 OnCalculate()에서 반환되는 내용이 포함되어 있습니다.

글쎄, 일일 데이터에 대해-그것도 거기에 없을 수도 있지만 이것은 "이야기의 계속"과 비슷합니다 ...

예를 들어, 파운드는 일간 차트와 m15 모두에 1000개 이상의 막대가 있지만 그려지지는 않습니다...

 
Roman Sharanov :

음, 예를 들어 파운드는 일간 차트와 m15에 1000개 이상의 막대가 있지만 그려지지 않습니다...

당신은 또한 소스를 가지고 있습니다. 모든 변수의 값을 로그에 인쇄하지만 결과를 확인하십시오.

 
Artyom Trishkin :

당신은 또한 소스를 가지고 있습니다. 모든 변수의 값을 로그에 인쇄하지만 결과를 확인하십시오.

이것은 어디에서 왔습니까?


 
Roman Sharanov :

이것은 어디에서 왔습니까?


버퍼의 쓰레기. 먼저 그려진 모든 버퍼(화살표 버퍼인 경우)에 빈 값을 입력한 다음 표시기 계산을 수행해야 합니다 . 모바일에서는 코드가 안보여서 확답은 못드리겠네요.