이 단축 코드를 확인하면 도움이 될 것입니다. 모든 것은 Canvas에서 구현됩니다.
캔버스의 또 다른 장점은 MT4 및 MT5의 경우 코드가 거의 동일하다는 것입니다.
안녕하세요 친애하는 프로그래머!
조언해 주십시오:
...
덕분에))
캔버스에 그리기:

- www.mql5.com
당신이 맞습니다.
//подсчитывает количество пунктов цены в одном пикселе double GetPointsInPixel( long eChartId, int eWindow) { double eMin= EMPTY_VALUE ; ChartGetDouble (eChartId, CHART_PRICE_MIN ,eWindow,eMin); if (eMin== EMPTY_VALUE ) return ( 0 ); double eMax= EMPTY_VALUE ; ChartGetDouble (eChartId, CHART_PRICE_MAX ,eWindow,eMax); if (eMax== EMPTY_VALUE ) return ( 0 ); long ePixels=- 1 ; ChartGetInteger (eChartId, CHART_HEIGHT_IN_PIXELS ,eWindow,ePixels); if (ePixels<= 0 ) return ( 0 ); return ( double (eMax-eMin)/ePixels); }
이중 eIndent=GetPointsInPixel(eChartId,eWindow);
그런 다음 이벤트가 변경되면 이 값을 필요한 가격에 더하거나 빼십시오.
-기간 변경
- 그래프 증가/감소,
- 가격 규모를 축소합니다.
이 단축 코드를 확인하면 도움이 될 것입니다. 모든 것은 Canvas에서 구현됩니다.
캔버스의 또 다른 장점은 MT4 및 MT5의 경우 코드가 거의 동일하다는 것입니다.
알았어, 고마워)
앗... 니콜라이가 앞서갔어...
...)))))) 가장 중요한 것은 생각이 일치한다는 것입니다))))
))))) 덕분에
당신이 맞습니다.
이중 eIndent=GetPointsInPixel(eChartId,eWindow);
그런 다음 이벤트가 변경되면 이 값을 필요한 가격에 더하거나 빼십시오.
- 기간 변경
- 그래프 증가/감소,
- 가격 규모를 축소합니다.
감사합니다 )))))))))
Vitaliy Kostrubko :
당신이 맞습니다.
이중 eIndent=GetPointsInPixel(eChartId,eWindow);
그런 다음 이벤트가 변경되면 이 값을 필요한 가격에 더하거나 빼십시오.
- 기간 변경
- 그래프 증가/감소,
- 가격 규모를 축소합니다.
감사합니다 )))))))))
그리고 그 불행한 컨설턴트에게 **** 코더의 예가 아니라 언어를 배워야 한다고 말하십시오.
그리고 그 불행한 컨설턴트에게 **** 코더의 예가 아니라 언어를 배워야 한다고 말하십시오.
수락)))))
... 시간은 10년 동안 다양한 어드바이저를 프로그래밍한 경험이 있음을 보여줍니다(복잡성 수준이 다름) == 무화과 하나만으로는 전체 코딩 분야를 알 수 없습니다)
왜냐하면 이 10년 안에 - 당신은 전체 프로그래밍 언어의 2/3에서 슈퍼프로가 될 수 있고 ... 그리고 1/3은 전혀 모릅니다))
따라서 기분을 상하게하는 것은 불필요합니다)))), 그러나 이것을 연구하려면 1/3 == 개별 문제)).
.... "이윤을 가져다주는 CLEAN ALGORITHMS ... 그리고 "만화를 쓰는 것은 그의 관심사가 아닙니다 ...
그러나 나는 그에게 당신의 모범을 확실히 보여줄 것입니다))
덕분에))))
수락됨)))))))
... 시간은 10년 동안 다양한 어드바이저를 프로그래밍한 경험이 있음을 보여줍니다(복잡성 수준이 다름) == 무화과 하나만으로는 전체 코딩 분야를 알 수 없습니다)
왜냐하면 이 10년 안에 - 당신은 전체 프로그래밍 언어의 2/3에서 슈퍼프로가 될 수 있고 ... 그리고 1/3은 전혀 모릅니다))
따라서 기분을 상하게하는 것은 불필요합니다)))), 그러나 이것을 연구하려면 1/3 == 개별 문제)).
.... "이윤을 가져다주는 CLEAN ALGORITHMS ... 그리고 "만화를 쓰는 것은 그의 관심사가 아닙니다 ...
그러나 나는 그에게 당신의 모범을 확실히 보여줄 것입니다 ))
덕분에))))
당신은 나를 참조할 필요가 없습니다. 이 옵션은 내가 사용했지만 내가 말한 것이 아닙니다. 나는 그의 의견으로는 그 이름을 지지했을 뿐입니다.
안녕하세요 친애하는 프로그래머!
문의하십시오:
지표 형태의 어드바이저 만들기! 그 작업은 차트에서 PATTERN을 찾고 막대 위에 텍스트를 작성하는 것입니다(여러 줄(!), 예:
라인 #1 "신호 이름"
라인 #2 "% 확률"
라인 #3 "아이콘"(화살표)
문제는 IF가 FIXED 줄 간격 = 예를 설정했다는 것입니다. 25핍, 그러면 m5에서 모든 것이 아름답습니다 ... 그리고 H1에서 = 선이 서로 맞춥니다(이것은 고정 텍스트의 문제(!!!)
알려주세요 - TF를 변경할 때 선 사이의 거리를 "자동 계산"하거나 차트를 왼쪽으로 약간 이동하거나 높이(????! !!)
..... 딱 한 가지만 떠오른다.
1) 차트의 현재 높이를 "가져오기"(최소 및 최대 가격):
2) 최대 가격 - 최소 가격 = "차트 높이(핍)"이며 항상 100%로 간주합니다.
3) "선 사이의 고정 거리(25핍)" 대신 - 거리를 백분율로 설정(예: 단락 2의 차트 높이의 2%)
..... 한 프로그래머와 이야기 - 그는 == 객체를 이동하지 마십시오 ... 글쎄, 그것은 불가능합니다 ....... 그래프를 스크롤 한 후 = 새 위치에 여러 줄 텍스트가 표시되도록 서로 어울리지 않는다는 것-친구 == 차트를 뒤집은 후에 필요합니다 == 모든 기호를 삭제하고 차트의 새 높이로 다시 그립니다(항목 2) (!)
.....그렇다면 나는 계속 똑똑해집니다 == OK, WHAT IF = 그래프의 화면 부분에만 그림을 그리세요 ???!
그는 말합니다 = ok, 그는 새로운 신호를 올바르게 쓸 것이고 남아있는 신호는 == 또는 다시 서로 맞을 것입니다. 또는 그 반대의 경우도 마찬가지입니다 = SINCE " 이미 그려진 개체는 이동할 수 없습니다." 하지만 삭제하고 다시 그리기만 하면 됩니다(!).
당신에게 질문 = 이미 유사한 사람이 발생 했습니까 ???????? 이 문제를 어떻게 해결하셨나요??? )))
(그래프의 모든 크기와 높이에서 = 여러 줄 텍스트가 줄 사이의 일반 거리로 돌아갑니다(눈으로 눈금자로 측정하는 경우 == 3mm) ... 즉, 줄 간격을 동적으로 만듭니다) ?? ??? )))))))))))
텍스트가 수평이고 2-3줄이면 시각적으로 편리하기 때문에 전체 비문을 한 줄에 45 *(!) 각도로 만들고 싶지 않습니다. :)
알려주세요(경험 공유)
덕분에))