Dmitry, 나는 당신이 교육받은 프로그래머라고 생각합니다. 프로그래밍에서 매너를 배우지 않았습니까?
그렇지 않으면 예를 들어 어레이 및 기타 가정을 넘어서는 기능을 사용하여 이전 mql4에서와 같이 작성할 수 있습니다. 이에 대한 응답으로 우리는 오류를 수신했습니다 ... 글쎄, 플래그가 그녀에게 돌아 왔습니다 ... 계속 진행합시다. 시간이 없습니다 ... 그리고 나서 우리는 더 엄격한 언어를 사용하고 개발자에게 소유권을 주장하기 시작합니다 ...
예수님이 부활 하셨다.
기존 객체를 생성할 때 끔찍한 일이 발생하지 않고 끔찍한 일도 발생하지 않으며 객체가 생성되지 않은 것뿐입니다.
그건 그렇고, 흥미로운 작업은 서로 다른 표시기 입력 매개변수 집합에 대해 다른 것과는 다른 고유한 값을 제공하는 함수를 작성하는 것입니다.
가장 먼저 떠오른 것은 ChartSaveTemplate을 통해서였습니다.
글로벌 거부 - 분명히 자원.
물론, 리소스 - 그들은 나에게 최고의 솔루션으로 보입니다. 왜냐하면. 전역과 달리 보이지 않습니다. 터미널 변수와 파일이 있고 빠릅니다. 또한 파일을 통해 배열과 파일을 전송할 수 있지만 더 빠르기 때문입니다. 모든 것은 RAM에서 발생합니다. 그리고 그들은 또한 글로벌의 경우와 같이 터미널이 아닌 창에 속합니다. 또한 창의 모든 동일한 지표에 대해 하나의 리소스를 생성할 수 있습니다.
아니요, ChartSaveTemplate을 사용하는 것이 번거로운 것 같습니다. 전역 변경, 템플릿 및 파일을 사용하지 않고 하나의 지표의 모든 인스턴스에 대한 공통 리소스를 사용하려고 노력할 것입니다.
제 예제는 새로운 TF의 Unit과 기존 TF의 DeUnit의 실행 순서가 모호한 문제를 보여주기 위해 만든 것이지 해결 방법이 아닙니다.
문제를 해결한 것이지 해결한 것이 아닙니다. 내 예에서는 이전 TF의 Deunit에서 TF를 변경할 때를 포함하여 어떤 경우에도 개체가 삭제되고 새 개체의 Unit에서 다시 생성되는 것이 중요합니다.
시퀀스가 먼저 이전 TF의 Deunit이면 논리적으로 있어야 하므로 새 TF의 단위입니다. 그런 다음 개체가 삭제된 다음 다시 생성됩니다.
시퀀스가 먼저 새 TF의 단위이고 그 다음이 이전 TF의 단위인 경우 개체는 단위에서 생성하려고 할 때 단순히 수정되기 때문입니다. 아직 제거되지 않았습니다. 그런 다음 이전 TF의 Deunit에 의해 제거됩니다. 여기에 버그가 있습니다.
이것이 이 예제의 요점입니다 - 이 분기를 읽지 않고 이 "기능"을 모르는 프로그래머가 만날 수 있는 것을 보여줍니다. 이 예는 해결책으로 간주되지 않았습니다. 솔루션이 여기 와 여기에서 제시됩니다. 조금 후에 솔루션을 추가할 생각이지만 터미널과 파일의 전역 변수를 사용하지 않고 이 솔루션이 작동하려면 한 창에 여러 개의 동일한 표시기가 설치되어 있어도 마찬가지입니다. 그런 문제를 해결해 보시겠습니까? 또는 다른 사람의 코드에서 특히 오류가 없는 경우에만 오류를 찾을 수 있습니다.
그리고 스위치 TF. Deinit는 없을 것입니다! 모든 지표는 눈에 띄지 않게 실행되어 자원을 소모합니다. 그리고 그냥 원했다
핸들을 알고 싶다면 ChartIndicatorGet을 사용해야 하지만 위의 예와 같이 끔찍한 문제가 발생합니다. 표시기는 제거할 수 없게 됩니다.
일종의 쉼터.
비슷한 얼굴. 개발자는 도움말을 더 주의 깊게 읽으라고 조언했습니다. 예가 있습니다:
//+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ voidOnStart ()
{
//--- количество окон на графике (всегда есть хотя бы одно главное окно) int windows=( int ) ChartGetInteger ( 0 , CHART_WINDOWS_TOTAL );
//--- про ходим по окнам for ( int w= 0 ;w<windows;w++)
{
//--- сколько индикаторов в данном окне/подокне int total= ChartIndicatorsTotal ( 0 ,w);
//--- переберем все индикаторы в окне
for ( int i= 0 ;i<total;i++)
{
//--- получим короткое имя индикатора string name= ChartIndicatorName ( 0 ,w,i);
//--- получим хэндл индикатора int handle= ChartIndicatorGet ( 0 ,w,name);
//--- выведем в журнал PrintFormat ( "Window=%d, index=%d, Name=%s, handle=%d" ,w,i,name,handle);
//--- обязательно освобождаем хендл индикатора, как только он становится ненужным IndicatorRelease (handle);
}
}
}
그러나 그들은 나중에 행동이 "조정될" 것이라고 덧붙였습니다. 하지만 아직 수정 중인 것 같습니다.
Dmitry, 나는 당신이 교육받은 프로그래머라고 생각합니다. 프로그래밍에서 매너를 배우지 않았습니까?
그렇지 않으면 예를 들어 어레이 및 기타 가정을 넘어서는 기능을 사용하여 이전 mql4에서와 같이 작성할 수 있습니다. 이에 대한 응답으로 우리는 오류를 수신했습니다 ... 글쎄, 플래그가 그녀에게 돌아 왔습니다 ... 계속 진행합시다. 시간이 없습니다 ... 그리고 나서 우리는 더 엄격한 언어를 사용하고 개발자에게 소유권을 주장하기 시작합니다 ...
예수님이 부활 하셨다.
기존 객체를 생성할 때 끔찍한 일이 발생하지 않고 끔찍한 일도 발생하지 않으며 객체가 생성되지 않은 것뿐입니다.
나는 또한 솔루션을 조금 나중에 추가할 것이라고 생각하지만 전역 터미널 및 파일 변수를 사용하지 않고 하나의 창에서 여러 개의 동일한 표시기를 사용할 수 있습니다 .
그건 그렇고, 흥미로운 작업은 서로 다른 표시기 입력 매개변수 집합에 대해 다른 것과는 다른 고유한 값을 제공하는 함수를 작성하는 것입니다.
가장 먼저 떠오른 것은 ChartSaveTemplate을 통해서였습니다.
글로벌 거부 - 분명히 자원.
그건 그렇고, 흥미로운 작업은 서로 다른 표시기 입력 매개변수 집합에 대해 다른 것과는 다른 고유한 값을 제공하는 함수를 작성하는 것입니다.
가장 먼저 떠오른 것은 ChartSaveTemplate을 통해서였습니다.
글로벌 거부 - 분명히 자원.
물론, 리소스 - 그들은 나에게 최고의 솔루션으로 보입니다. 왜냐하면. 전역과 달리 보이지 않습니다. 터미널 변수와 파일이 있고 빠릅니다. 또한 파일을 통해 배열과 파일을 전송할 수 있지만 더 빠르기 때문입니다. 모든 것은 RAM에서 발생합니다. 그리고 그들은 또한 글로벌의 경우와 같이 터미널이 아닌 창에 속합니다. 또한 창의 모든 동일한 지표에 대해 하나의 리소스를 생성할 수 있습니다.
아니요, ChartSaveTemplate을 사용하는 것이 번거로운 것 같습니다. 전역 변경, 템플릿 및 파일을 사용하지 않고 하나의 지표의 모든 인스턴스에 대한 공통 리소스를 사용하려고 노력할 것입니다.
제 예제는 새로운 TF의 Unit과 기존 TF의 DeUnit의 실행 순서가 모호한 문제를 보여주기 위해 만든 것이지 해결 방법이 아닙니다.
문제를 해결한 것이지 해결한 것이 아닙니다.
내 예에서는 이전 TF의 Deunit에서 TF를 변경할 때를 포함하여 어떤 경우에도 개체가 삭제되고 새 개체의 Unit에서 다시 생성되는 것이 중요합니다.
시퀀스가 먼저 이전 TF의 Deunit이면 논리적으로 있어야 하므로 새 TF의 단위입니다. 그런 다음 개체가 삭제된 다음 다시 생성됩니다.
시퀀스가 먼저 새 TF의 단위이고 그 다음이 이전 TF의 단위인 경우 개체는 단위에서 생성하려고 할 때 단순히 수정되기 때문입니다. 아직 제거되지 않았습니다. 그런 다음 이전 TF의 Deunit에 의해 제거됩니다. 여기에 버그가 있습니다.
이것이 이 예제의 요점입니다 - 이 분기를 읽지 않고 이 "기능"을 모르는 프로그래머가 만날 수 있는 것을 보여줍니다.
이 예는 해결책으로 간주되지 않았습니다. 솔루션이 여기 와 여기에서 제시됩니다. 조금 후에 솔루션을 추가할 생각이지만 터미널과 파일의 전역 변수를 사용하지 않고 이 솔루션이 작동하려면 한 창에 여러 개의 동일한 표시기가 설치되어 있어도 마찬가지입니다. 그런 문제를 해결해 보시겠습니까? 또는 다른 사람의 코드에서 특히 오류가 없는 경우에만 오류를 찾을 수 있습니다.
오늘 욕하는건 죄지만 진짜 하고싶다...
나는 당신의 헛소리를 끝까지 읽지 못했습니다.
다시 한 번 반복합니다. 문제가 없는 곳에서 문제를 해결하지 마십시오.
코드의 모든 질문에 대한 답변이 여기에 있습니다.
패자의 원시적인 예를 사용하는 요점이 무엇입니까?
ALMOST 올바른 코드의 더 나은 예 사용
나는 절대성을 기대하지 않았다.
그게 다야... 사탄에게서 나와, 죄를 짓지 마.
오늘 욕하는건 죄지만 진짜 하고싶다...
나는 당신의 헛소리를 끝까지 읽지 못했습니다.
다시 한 번 반복합니다. 문제가 없는 곳에서 문제를 해결하지 마십시오.
코드의 모든 질문에 대한 답변은 여기에 있습니다.
나는 절대성을 기대하지 않았다.
그게 다야... 사탄에게서 나와, 죄를 짓지 마.
오오... 형님, 다른 포럼으로 가셔야 합니다. 심리 치료사는 어디에서 조언을 제공합니까? 이해합니다, 이해합니다. 어린 시절의 사랑 부족, 나는 관심과 사랑을 원합니다. 공감합니다. 하시면 제가 도와드리겠습니다. 개인 에 씁니다 . 농담 아니야
그러나 여기에서는 하지 않는 것이 좋습니다. 그렇지 않으면 이미 사람들을 너무 많이 "재미있게" 했습니다.
참으로 부활하셨습니다!
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
Init() 및 DeInit() 실행 순서
fxsaber , 2017.04.14 13:52
거의 주제 주제에 대한 작은 생명 해킹 개발자에 대한 어떠한 클레임도 없이.그리고 스위치 TF. Deinit는 없을 것입니다! 모든 지표는 눈에 띄지 않게 실행되어 자원을 소모합니다. 그리고 그냥 원했다
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
오류, 버그, 질문
fxsaber , 2016.09.22 16:14
표시기의 차트에서 핸들을 찾는 방법은 무엇입니까? ChartIndicatorName을 통해 적합하지 않기 때문에 짧은 이름을 반환합니다. 그리고 동일한 이름으로 다른 입력 매개변수를 가진 동일한 표시기가 이미 실행 중일 수 있습니다.
핸들을 알고 싶다면 ChartIndicatorGet을 사용해야 하지만 위의 예와 같이 끔찍한 문제가 발생합니다. 표시기는 제거할 수 없게 됩니다.
일종의 쉼터.
이마저도 안 돼
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
오류, 버그, 질문
fxsaber , 2016.09.23 10:20
INDICATOR_SHORTNAME을 찾는 방법은 무엇입니까? IndicatorGet* 기능이 없습니다!그것이 어느 sub_window에 있는지 표시기에서 찾는 것은 불가능합니다. 몇 가지 견고한 실수.
그것이 어느 sub_window에 있는지 표시기에서 찾는 것은 불가능합니다. 몇 가지 견고한 실수.
멋진 해킹! 우리는 시작합니다
그리고 스위치 TF. Deinit는 없을 것입니다! 모든 지표는 눈에 띄지 않게 실행되어 자원을 소모합니다. 그리고 그냥 원했다
핸들을 알고 싶다면 ChartIndicatorGet을 사용해야 하지만 위의 예와 같이 끔찍한 문제가 발생합니다. 표시기는 제거할 수 없게 됩니다.
일종의 쉼터.
비슷한 얼굴. 개발자는 도움말을 더 주의 깊게 읽으라고 조언했습니다. 예가 있습니다:
그러나 그들은 나중에 행동이 "조정될" 것이라고 덧붙였습니다. 하지만 아직 수정 중인 것 같습니다.https://www.mql5.com/en/docs/chart_operations/chartwindowfind
감사합니다. 그러나 어떤 식으로든 닉네임 없이(어떻게 찾을 수 있나요?) 동일한 제한이 있습니다.
비슷한 얼굴. 개발자는 도움말을 더 주의 깊게 읽으라고 조언했습니다. 예가 있습니다:
그러나 그들은 나중에 행동이 "조정될" 것이라고 덧붙였습니다. 하지만 아직 수정 중인 것 같습니다.정말 도움이 되었습니다. 감사합니다!
가장 중요한 것은 Deinit에서 IndicatorRelease 를 수행하지 않는 것입니다.