int OnInit()
{
...
account=AccountNumber();
...
}
voidOnTick ()
{
staticbool first_run = true ;
if (first_run)
{
if(account==0) { // Если терминал не успел получить данные с сервера
OnInit (); // пробуем снова всё инициализировать
return;
}
first_run = false ;
}
귀하의 예는 몇 개의 추가 문자를 작성하고 체계화되지 않은 코드를 얻는 것이 얼마나 게으른지 보여주는 예입니다. 여기에서 OnInit()는 EA를 시작할 때 최소 2번 호출됩니다. 이것이 필요하거나 오히려 이겼다는 사실은 아닙니다. 이전에 작성된 것을 위반하지 마십시오 - 질문의 수준을 보셨습니까? )))
귀하의 예는 몇 개의 추가 문자를 작성하고 체계화되지 않은 코드를 얻는 것이 얼마나 게으른지 보여주는 예입니다. 여기에서 OnInit()는 EA를 시작할 때 최소 2번 호출됩니다. 이것이 필요하거나 오히려 이겼다는 사실은 아닙니다. 이전에 작성된 것을 위반하지 마십시오 - 질문의 수준을 보셨습니까? )))
first_run = true ;
또한 최초 초기화 시 Init를 체크인해야 하며 그곳에서 이미 "재설정"할 수 있습니다.
그래서 그렇습니다. 동의한다.
추신: 동의하지 않습니다. 서버에 연결하여 서버에서 최신 데이터를 얻을 수 있다면 두 번 호출되지 않습니다.
MT4에 그런 쓰레기가 있습니다. 계정 변경 후 OnInit이 작동하는지 모르겠습니다. 그러면 환경 에 계정 번호를 업데이트할 시간이 없거나 다른 잼이 있습니다. 타이머로 결정했습니다.
많이, 실행 중인 EA가 있는 터미널이 다시 로드되면 작동하지 않는 것
IMHO, 코드가 테스터용이 아닌 경우 첫 번째 틱이 도착할 때 모든 초기화를 수행하는 것이 좋습니다. 그러면 모든 것의 99.9%가 올바르게 초기화됩니다.
많이, 실행 중인 EA가 있는 터미널이 다시 로드되면 작동하지 않는 것
IMHO, 코드가 테스터용이 아닌 경우 첫 번째 틱이 도착할 때 모든 초기화를 수행하는 것이 좋습니다. 그러면 모든 것의 99.9%가 올바르게 초기화됩니다.
동의하지만 아마도 이것은 0.1%))
많이, 실행 중인 EA가 있는 터미널이 다시 로드되면 작동하지 않는 것
IMHO, 코드가 테스터용이 아닌 경우 첫 번째 틱이 도착할 때 모든 초기화를 수행하는 것이 좋습니다. 그러면 모든 것의 99.9%가 올바르게 초기화됩니다.
첫 번째 틱이 도착할 때 모든 초기화를 수행하는 것이 좋습니다. 그러면 모든 것의 99.9%가 올바르게 초기화됩니다... 어때요 ??
첫 번째 틱이 도착할 때 모든 초기화를 수행하는 것이 좋습니다. 그러면 모든 것의 99.9%가 올바르게 초기화됩니다... 어때요 ??
"My" 형식의 패딩을 피하고 직접 수행 가능
"My" 형식의 패딩을 피하고 직접 수행 가능
이것은 패딩이 아니라 구조화된 코드입니다 .
귀하의 예는 몇 개의 추가 문자를 작성하고 체계화되지 않은 코드를 얻는 것이 얼마나 게으른지 보여주는 예입니다. 여기에서 OnInit()는 EA를 시작할 때 최소 2번 호출됩니다. 이것이 필요하거나 오히려 이겼다는 사실은 아닙니다. 이전에 작성된 것을 위반하지 마십시오 - 질문의 수준을 보셨습니까? )))
이것은 패딩이 아니라 구조화된 코드입니다 .
귀하의 예는 몇 개의 추가 문자를 작성하고 체계화되지 않은 코드를 얻는 것이 얼마나 게으른지 보여주는 예입니다. 여기에서 OnInit()는 EA를 시작할 때 최소 2번 호출됩니다. 이것이 필요하거나 오히려 이겼다는 사실은 아닙니다. 이전에 작성된 것을 위반하지 마십시오 - 질문의 수준을 보셨습니까? )))
first_run = true ;
또한 최초 초기화 시 Init를 체크인해야 하며 그곳에서 이미 "재설정"할 수 있습니다.
그래서 그렇습니다. 동의한다.
추신: 동의하지 않습니다. 서버에 연결하여 서버에서 최신 데이터를 얻을 수 있다면 두 번 호출되지 않습니다.
문서에 OnTick ()이 표시기에서 작동하지 않는다고 나와 있기 때문에 작동하지 않습니다!
문서에 OnTick ()이 표시기에서 작동하지 않는다고 나와 있기 때문에 작동하지 않습니다!
그게 한계입니다 :(
OnTick()을 다음으로 대체
그리고 다른 지점으로 가겠습니다.그게 한계입니다 :(
나는 질문의 수준에 대해 위에 썼습니다.)
그리고 이미 OnTick / OnInit에서 최적의 초기화를 찾기 시작했습니다. 모든 것이 더 간단합니다. 발견된 코드를 같은 친구와 공유할 수 있도록 보호해야 합니다. )))