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

 
Artyom Trishkin:
코드 살펴보기

빠른 응답에 감사합니다. 무례하게 들리고 싶지는 않지만 가깝지만 옳지 않습니다. 제 경우에는 DRAW_COLOR_HISTOGRAM2가 사용됩니다.

그것은 세 개의 버퍼를 가지고 있습니다. 두 개는 양초의 시작과 끝 값을 위한 것이고 세 번째는 이 양초의 색상을 저장하기 위한 것입니다.

언급한 예는 DRAW_COLOR_HISTOGRAM을 사용하고 두 개의 버퍼(촛불 크기 및 색상)가 있으며 열은 "0"에서만 작성됩니다. 수준(예: 50)에서 이러한 히스토그램은 연기할 수 없습니다.

값이 원래 소스에서와 같이 0에서 100으로 변경되지 않고 -50에서 50으로 변경되지 않도록 표시기 배열 의 값 범위 에서 50을 빼야 합니다. 레벨 50 대신 레벨 0이 됩니다. 그리고

0 위아래로 히스토그램을 구성하려면 하나는 "음수", 0 미만, 두 번째 "양수"는 0 위의 두 가지를 사용해야 합니다. 아마도 :-))

물론 이것도 옵션이고, 지금은 구현하기가 더 쉬울 것 같지만, 알아내고 ERROR를 찾고 싶습니다.


내가 무엇을 잘못하고 있지? 값이 올바르게 계산되고(테스터에서 단계별로 확인) 색상 인덱스가 올바르게 변경되지만 어떤 이유로 인해 표시기 자체에 영향을 미치지 않고 색상이 변경되지 않으며 색상 사이에 연결이 없습니다. 인덱스

 SetIndexBuffer ( 6 ,ColorHistogram_2Colors, INDICATOR_COLOR_INDEX ); 

그리고 디스플레이. 어쨌든 감사합니다.

 

모든 틱에서 변경 사항을 확인하기 위해 변경, 인쇄 추가

색인이 녹색 "32768"의 수치와 동일함을 알 수 있으며 분명히 그래야 합니다. 왜냐하면

ExtMainBuffer[i]> 50

즉, 스토캐스틱은 50 이상입니다. 그리고 히스토그램 막대는 여전히 빨간색입니다.

인쇄된 파일이 추가되었습니다.

파일:
 

글을 쓸 때의 예로 MQL5 참조의 예를 사용했습니다.

MQL5 참조 / 사용자 지정 표시기 / 예제의 표시기 스타일 / DRAW_COLOR_HISTOGRAM2

나는 모든 것을 스무 번이나 다시 확인했는데 모든 것이 그들의 것과 같고 작동하지 않습니다 !!!!
누가 알겠습니까? pliz, 오류가 어디에 있고 무엇이 잘못되었는지 ???

 
Seric29 :

글쎄, 이것은 이해할 수 있습니다. 나는 비유적으로 프로그램을 컴파일러라고 불렀지 만 일반적으로 어떤 경우에 더 좋습니까?

@Ilyas 가 제안한 것처럼 하나의 "큰 발판" 코드가 아닌 많은 작은 기능을 사용합니다.

 
Sergey Voytsekhovsky :

글을 쓸 때의 예로 MQL5 참조의 예를 사용했습니다.

MQL5 참조 / 사용자 지정 표시기 / 예제의 표시기 스타일 / DRAW_COLOR_HISTOGRAM2

나는 모든 것을 스무 번이나 다시 확인했는데 모든 것이 그들의 것과 같고 작동하지 않습니다 !!!!
누가 알겠습니까? pliz, 오류가 어디에 있고 무엇이 잘못되었는지 ???

히스토그램이 아니라 색상 버퍼로 작업할 수 있는 링크를 알려 드렸습니다. 히스토그램을 추상화하고 색상 작업 방법에 중점을 둡니다.

 
Sergey Voytsekhovsky :

좋은 저녁이에요. 길고 열심히 노력했습니다. 히스토그램은 올바르게 그려지지만 다른 색상(레벨 50 이상 및 이하)의 채색은 이기지 못했습니다. 내가 어디를 망쳤는지 알려주세요. 아래 텍스트, 파일 묶음


가장 먼저 눈에 들어온 것은 버퍼의 순서였습니다.

 //--- indicator buffers mapping
   SetIndexBuffer ( 0 ,ExtMainBuffer, INDICATOR_DATA );
   SetIndexBuffer ( 1 ,ExtSignalBuffer, INDICATOR_DATA );
   SetIndexBuffer ( 2 ,ColorHistogram_2Buffer1, INDICATOR_DATA );
   SetIndexBuffer ( 3 ,ColorHistogram_2Buffer2, INDICATOR_DATA );
   SetIndexBuffer ( 4 ,ExtHighesBuffer, INDICATOR_CALCULATIONS );
   SetIndexBuffer ( 5 ,ExtLowesBuffer, INDICATOR_CALCULATIONS );
   SetIn dexBuffer ( 6 ,ColorHistogram_2Colors, INDICATOR_COLOR_INDEX );

빌드 버퍼는 항상 연속적이어야 합니다. 즉, 데이터 버퍼의 번호가 2와 3인 경우 색상 버퍼 의 번호는 4여야 합니다.

이것이 유일한 실수가 아닌 경우 더 자세히 살펴보겠습니다.

 

뭔가 전혀 익지 않는다.

30분 앉아있어 찔러봐도 모르겠어

틱 크기와 가격이 악기 사양에서 다른 경우 1 가격대의 루블 비용을 찾는 방법을 알려주십시오.

예를 들어 값이 10인 변수가 있는 경우

저축을 위해 10 루블이라는 것이 분명합니다.

rts 130 문지름

기름 60 루블

코드에서 어떻게 보이는지, 뭔가 혼란스러워요, 규범의 단순한 요점은 모든 것이지만 RTS 오일은 세부 사항이 다릅니다.

 
Konstantin Seredkin :

뭔가 전혀 익지 않는다.

30분 앉아있어 찔러봐도 모르겠어

틱 크기와 가격이 악기 사양에서 다른 경우 1 가격대의 루블 비용을 찾는 방법을 알려주십시오.

예를 들어 값이 10인 변수가 있는 경우

저축을 위해 10 루블이라는 것이 분명합니다.

rts 130 문지름

기름 60 루블

코드에서 어떻게 보이는지, 뭔가 혼란스러워요, 규범의 단순한 요점은 모든 것이지만 RTS 오일은 세부 사항이 다릅니다.

SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE ) * 볼륨

MQL4

 
Alexandr Sokolov :

SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE ) * 볼륨

MQL4

MQL5 필요

선물은 MT4에서 거래되지 않습니다


여기에 필요합니다


 
Konstantin Seredkin :

MQL5 필요

선물은 MT4에서 거래되지 않습니다


여기에 필요합니다


따라서 mql5에서도 동일합니다. 약간 확장되기도 합니다. 그게 당신에게 필요한 것 아닌가요?

SYMBOL_TRADE_TICK_VALUE

SYMBOL_TRADE_TICK_VALUE_PROFIT

더블

SYMBOL_TRADE_TICK_VALUE_PROFIT

수익성 있는 포지션에 대한 계산된 틱 값

더블

SYMBOL_TRADE_TICK_VALUE_LOSS

손실 위치에 대한 계산된 틱 값

더블

SYMBOL_TRADE_TICK_SIZE

최소 가격 변경

더블

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString(). В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Некоторые символы (как...