EA의 init() 함수에서 MQL SRP 생성기가 초기화됩니다: MathSrand(...). 템플릿에서 터미널을 시작할 때 어드바이저의 여러 복사본(확실성을 위해 3개라고 가정해 봅시다)이 로드됩니다. 로딩이 빠르기 때문에 TimeLocal() 및 TimeCurrent() 함수가 모든 복사본에서 동일한 값을 생성할 좋은 기회(사실 거의 항상)가 있습니다.
문제:
PRNG가 다른 번호를 가진 어드바이저의 다른 복사본에서 초기화되도록 하는 트릭은 무엇입니까? 다시 말해, (최소한의 프로그래밍 노력으로) 무작위 요소를 어디에서 얻을 수 있습니까?
EA의 init() 함수에서 MQL SRP 생성기가 초기화됩니다: MathSrand(...). 템플릿에서 터미널을 시작할 때 어드바이저의 여러 복사본(확실성을 위해 3개라고 가정해 봅시다)이 로드됩니다. 로딩이 빠르기 때문에 TimeLocal() 및 TimeCurrent() 함수가 모든 복사본에서 동일한 값을 생성할 좋은 기회(사실 거의 항상)가 있습니다.
문제:
PRNG가 다른 번호를 가진 어드바이저의 다른 복사본에서 초기화되도록 하는 트릭은 무엇입니까? 다시 말해, (최소한의 프로그래밍 노력으로) 무작위 요소를 어디에서 얻을 수 있습니까?
주어진:
EA의 init() 함수에서 MQL SRP 생성기가 초기화됩니다: MathSrand(...). 템플릿에서 터미널을 시작할 때 어드바이저의 여러 복사본(확실성을 위해 3개라고 가정해 봅시다)이 로드됩니다. 로딩이 빠르기 때문에 TimeLocal() 및 TimeCurrent() 함수가 모든 복사본에서 동일한 값을 생성할 좋은 기회(사실 거의 항상)가 있습니다.
문제:
PRNG가 다른 번호를 가진 어드바이저의 다른 복사본에서 초기화되도록 하는 트릭은 무엇입니까? 다시 말해, (최소한의 프로그래밍 노력으로) 무작위 요소를 어디에서 얻을 수 있습니까?
주어진:
EA의 init() 함수에서 MQL SRP 생성기가 초기화됩니다: MathSrand(...). 템플릿에서 터미널을 시작할 때 어드바이저의 여러 복사본(확실성을 위해 3개라고 가정해 봅시다)이 로드됩니다. 로딩이 빠르기 때문에 TimeLocal() 및 TimeCurrent() 함수가 모든 복사본에서 동일한 값을 생성할 좋은 기회(사실 거의 항상)가 있습니다.
문제:
PRNG가 다른 번호를 가진 어드바이저의 다른 복사본에서 초기화되도록 하는 트릭은 무엇입니까? 다시 말해, (최소한의 프로그래밍 노력으로) 무작위 요소를 어디에서 얻을 수 있습니까?
GetTickCount?
교차 할 수 있지만 사실은 아닙니다 ...
프로그램의 밀리초는 영원할 수 있습니다))
교차 할 수 있지만 사실은 아닙니다 ...
옵션 2 - 글로벌 변수를 사용하여 전문가의 일관된 초기화를 위한 "세마포어" 생성.
dll에서 mql로 문자열 가져오기에 대한 질문입니다.
libmysql.dll의 mysql_fetch_row 함수는 MYSQL_ROW 유형을 반환합니다.
이 유형은 다음과 같이 정의됩니다. typedef char** MYSQL_ROW
반환된 문자열 배열에 도달하는 방법은 무엇입니까?
배열의 차원을 알고 있습니까?
그러나 각 문자열의 길이는 그렇지 않습니다.
그 예에서는 링크에 하나의 쓰레기가 더 있습니다 - *length 포인터를 가져옵니다.
그것은 또한 배열로 밝혀졌습니다 ... 그러나 그것에 도달하는 방법 ...
unsigned long *길이; 길이 = mysql_fetch_lengths(결과); for(i = 0; i < num_fields; i++) { printf("[%.*s] ", (int) lengths[i] , row[i] ? row[i] : "NULL"); }이것은 단순히 mysql_fetch_row 의 결과를 문자열로 전달할 때 MQL에서 일어나는 일입니다.
p0ƒ u0ƒ ;1;a
어디
p0ƒ u0ƒ - 내가 알기로는 원하는 줄의 주소(8바이트)
;1;a는 페이로드입니다.
int에 할당된 경우 p0ƒ 대신 주소는 42152040이 됩니다.
프로그램이 실행되는 동안 문자열에 대한 포인터가 변경되지 않으면 버퍼에 복사하지 않고 문자열에 대한 포인터를 반환할 수 있습니다.
어떤 식 으로든 MQL에 있습니까? 심지어 MQL5?
프로그램이 실행되는 동안 문자열에 대한 포인터가 변경되지 않으면 버퍼에 복사하지 않고 문자열에 대한 포인터를 반환할 수 있습니다.
간단히