gchrmt4 : 어떤 버전의 MT4를 사용하고 있는지 모르지만 내 컴퓨터의 v616에서 WindowFind()는 OnInit() 중에 -1을 반환합니다. 설명서 에는 항상 "init() 함수가 작동할 때 사용자 지정 표시기가 자체적으로 검색하면 WindowFind()가 -1을 반환합니다."라고 나와 있습니다.
내 버전은 610입니다.
맙소사.. 모든 업데이트가 더 나빠지고 더 나빠지는 것 같습니다. 더 나아지지 않습니다.
나는 FFcalendar 표시기를 가지고 있었다.
나는 그것을 버전 604..로 수리했고 잘 작동합니다.
610으로 업데이트하고.. 다시 컴파일하면.. 또 에러가 난다..
그래서 포기하고.. 버전 509로 다시 컴파일... 하하하 (내 버전 604가 사라졌기 때문에)
죄송합니다. WindowsFind retun -1 에 대한 말씀이 맞습니다.
그 인디를 첨부한 후에만 표시됩니다. 그런 다음 TF를 변경합니다. 하지만 결과는 여전히 고유합니다.
이 게시물이 매우 오래된 것임을 알고 있지만 고유한 인스턴스 이름 문제를 해결하는 방법은 다음과 같습니다. 전역 터미널 변수 저장소와 함께 GetTickCount() 조합을 사용합니다. 이는 인스턴스 로드에서도 작동합니다.
conststring _uniqueSeedVarName = "MyVar" ;
string GetUniqueInstanceName( conststring baseName)
{
uint seed = 1 ;
// See if our last stored unique seed value existsif ( GlobalVariableCheck (_uniqueSeedVarName))
{
// It does, so get it
seed = ( uint ) GlobalVariableGet (_uniqueSeedVarName);
// Do some boundary checking and ensure the user didn't muck with the value// If we're okay, increment the seed by one if (seed > 0 && seed < UINT_MAX )
seed = seed + 1 ;
else// The seed has been corrupted by the user or is too large; reset to current tick count
seed = GetTickCount ();
}
else// First time in; initialize the seed to the current tick count
seed = GetTickCount ();
// Store the value in global terminal variables// The user DOES have access to this value, so the handling above should account for any changes the user might makeGlobalVariableSet (_uniqueSeedVarName, seed);
// Initialize the random generatorMathSrand (seed);
// Create a unique instance name in the format of "[BaseName][Random1][Random2]"returnStringFormat ( "%s%s%s" , baseName, IntegerToString ( MathRand ()), IntegerToString ( MathRand ()));
}
어떤 버전의 MT4를 사용하고 있는지 모르지만 내 컴퓨터의 v616에서 WindowFind()는 OnInit() 중에 -1을 반환합니다. 설명서 에는 항상 "init() 함수가 작동할 때 사용자 지정 표시기가 자체적으로 검색하면 WindowFind()가 -1을 반환합니다."라고 나와 있습니다.
내 버전은 610입니다.
맙소사.. 모든 업데이트가 더 나빠지고 더 나빠지는 것 같습니다. 더 나아지지 않습니다.
나는 FFcalendar 표시기를 가지고 있었다.
나는 그것을 버전 604..로 수리했고 잘 작동합니다.
610으로 업데이트하고.. 다시 컴파일하면.. 또 에러가 난다..
그래서 포기하고.. 버전 509로 다시 컴파일... 하하하 (내 버전 604가 사라졌기 때문에)
죄송합니다. WindowsFind retun -1 에 대한 말씀이 맞습니다.
그 인디를 첨부한 후에만 표시됩니다. 그런 다음 TF를 변경합니다. 하지만 결과는 여전히 고유합니다.
이 게시물이 매우 오래된 것임을 알고 있지만 고유한 인스턴스 이름 문제를 해결하는 방법은 다음과 같습니다. 전역 터미널 변수 저장소와 함께 GetTickCount() 조합을 사용합니다. 이는 인스턴스 로드에서도 작동합니다.
그런 다음 OnInit()에서 다음과 같이 간단히 호출합니다.
지금까지는 제대로 작동하는 것으로 보입니다.
정말 감사합니다. 이 기능은 나에게 정말 큰 문제를 해결했습니다.
이 게시물이 매우 오래된 것임을 알고 있지만 고유한 인스턴스 이름 문제를 해결하는 방법은 다음과 같습니다. 전역 터미널 변수 저장소와 함께 GetTickCount() 조합을 사용합니다. 이는 인스턴스 로드에서도 작동합니다.
그런 다음 OnInit()에서 다음과 같이 간단히 호출합니다.
지금까지는 제대로 작동하는 것으로 보입니다.