오류, 버그, 질문 - 페이지 379 1...372373374375376377378379380381382383384385386...3184 새 코멘트 --- 2011.04.30 21:32 #3781 Graff : 그리고 그것이 의미가 있습니까? rate_total을 BarsCalculated(ich)로 바꾸시겠습니까? 생각하지마. 버퍼가 준비되었는지 확인하는 서비스 플러그와 비슷합니다... 또한 Copy는 요청된 크기가 아니라 계산된 만큼의 데이터를 반환합니다. 비밀이 아니라면 어느 도시에서 왔습니까? 드네프르에는 없습니다. Serge 2011.04.30 21:40 #3782 sergeev : 그건 그렇고, 추가 기능을 호출 할 필요가 없다고 확신합니까? 라이브러리에는 Refresh와 BufferResize가 모두 있습니다. 정상적인 기능에 필요한 것 같습니다. 필요한 것은 어디에 기록되어 있습니까? 다른 버전에서 시도했습니다. ichi.Refresh( true ); ichi.Refresh( false ); ichi.RefreshCurrent( true ); ichi.RefreshCurrent( false ); 효과가 없습니다. Serge 2011.05.01 11:17 #3783 우리는 계속.... iIchimoku 표시기에 결함이 있습니다. 내 표시기는 if(tenkan[i]>kijun[i])에 따라 화살표를 그립니다. 스크린샷에서 볼 수 있듯이 화살표가 잘못 그려집니다. Ich_1_f.mq5 파일의 전체 코드 그러나 수동으로 계산하면 모든 것이 올바르게 표시됩니다. Ich_1_ok.mq5 파일의 전체 코드 파일: Ich_1_f.mq5 6 kb Ich_1_ok.mq5 6 kb Mykola Demko 2011.05.01 17:22 #3784 우리는 dll을 작성합니다: #define _DLLAPI extern "C" __declspec(dllexport) //+------------------------------------------------------------------+ //| адрес переменной double | //+------------------------------------------------------------------+ _DLLAPI int __stdcall GetPtrVar( double a){ return (( int )(&a));} //+------------------------------------------------------------------+ //| значение переменной double по адресу | //+------------------------------------------------------------------+ _DLLAPI double __stdcall GetValuePtr( int pointer){ return (*( double *)pointer);} 우리는 연결합니다: #import "Projeckt1.dll" int GetPtrVar( double a); double GetValuePtr( int pointer); #import 우리는 호출: void OnStart () { double var= 153.25 ; Print ( "вложенный вызов = " ,GetValuePtr(GetPtrVar(var))); int pointer=GetPtrVar(var); Print ( "вызов с сохранением адреса = " ,GetValuePtr(pointer)); } 우리는 이것을 얻는다: 2011.05 . 01 18 : 09 : 12 Черновик 31 (EURUSD,H1) вызов с сохранением адреса = 5.560304580319136 e- 287 2011.05 . 01 18 : 09 : 12 Черновик 31 (EURUSD,H1) вложенный вызов = 153.25 이론상 두 줄 모두 동일한 값 153.25를 반환해야 합니다. 왜요? Renat Fatkhullin 2011.05.01 18:14 #3785 Urain : 왜요? 32비트 버전인가요 64비트 버전인가요? Mykola Demko 2011.05.01 18:17 #3786 Renat : 32비트 버전인가요 64비트 버전인가요? 32 Renat Fatkhullin 2011.05.01 18:39 #3787 모든 것이 매우 간단합니다. GetPtrVar( double a) 함수에서 스택에 있는 변수 복사본의 주소를 가져온 다음 스택 메모리의 흩어져 있는 부분을 읽으려고 시도합니다. 처음으로 GetValuePtr에 대한 닫기 호출로 인해 손상되지 않은 스택에서 읽을 수 있었고 후속 함수 호출 로 인해 스택이 복구 불가능하게 손상되었습니다. 오류가 없습니다. Документация по MQL5: Основы языка / Функции / Вызов функции www.mql5.com Основы языка / Функции / Вызов функции - Документация по MQL5 Mykola Demko 2011.05.01 18:45 #3788 Renat : 모든 것이 매우 간단합니다. GetPtrVar( double a) 함수에서 스택에 있는 변수 복사본의 주소를 가져온 다음 스택 메모리의 흩어져 있는 부분을 읽으려고 시도합니다. 네, 정확히는 어딘가를 파고들 필요가 있다고 느꼈습니다. dll에서 작성해야합니다 GetPtrVar( double &a){ return (( int )(&a));} Vladimir Gomonov 2011.05.01 18:46 #3789 Renat : 모든 것이 매우 간단합니다. GetPtrVar( double a) 함수에서 스택에 있는 변수 복사본의 주소를 가져온 다음 스택 메모리의 흩어져 있는 부분을 읽으려고 시도합니다. 처음으로 GetValuePtr에 대한 닫기 호출로 인해 손상되지 않은 스택에서 읽을 수 있었고 후속 함수 호출 로 인해 스택이 복구 불가능하게 손상되었습니다. 오류가 없습니다. 나도 알아차렸다. 올바르게 나는 그렇게 생각합니다. #define _DLLAPI extern "C" __declspec(dllexport) //+------------------------------------------------------------------+ //| адрес переменной double | //+------------------------------------------------------------------+ _DLLAPI int __stdcall GetPtrVar( double & a){ return (( int )(&a));} //+------------------------------------------------------------------+ //| значение переменной double по адресу | //+------------------------------------------------------------------+ _DLLAPI double __stdcall GetValuePtr( int pointer){ return (*( double *)pointer);} 우리는 연결합니다: #import "Projeckt1.dll" int GetPtrVar( double & a); double GetValuePtr( int pointer); #import President5 2011.05.01 19:27 #3790 메타트레이더5의 빌드 439에서 히스토리 품질 표시기가 추가되었습니다. M1 및 H4에서 공개 가격 으로 모든 틱에 대해 테스트할 때 품질은 51%입니다... 이 값을 높이는 이유와 방법은 무엇입니까? 인용 출처 - alpari 데모. Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы www.mql5.com Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5 1...372373374375376377378379380381382383384385386...3184 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
그리고 그것이 의미가 있습니까?
rate_total을 BarsCalculated(ich)로 바꾸시겠습니까?
생각하지마. 버퍼가 준비되었는지 확인하는 서비스 플러그와 비슷합니다...
또한 Copy는 요청된 크기가 아니라 계산된 만큼의 데이터를 반환합니다.
비밀이 아니라면 어느 도시에서 왔습니까?
그건 그렇고, 추가 기능을 호출 할 필요가 없다고 확신합니까?
라이브러리에는 Refresh와 BufferResize가 모두 있습니다. 정상적인 기능에 필요한 것 같습니다.
필요한 것은 어디에 기록되어 있습니까?
다른 버전에서 시도했습니다.
효과가 없습니다.
우리는 계속....
iIchimoku 표시기에 결함이 있습니다. 내 표시기는 if(tenkan[i]>kijun[i])에 따라 화살표를 그립니다. 스크린샷에서 볼 수 있듯이 화살표가 잘못 그려집니다.
Ich_1_f.mq5 파일의 전체 코드
그러나 수동으로 계산하면 모든 것이 올바르게 표시됩니다.
Ich_1_ok.mq5 파일의 전체 코드
우리는 dll을 작성합니다:
우리는 연결합니다:
우리는 호출:
우리는 이것을 얻는다:
이론상 두 줄 모두 동일한 값 153.25를 반환해야 합니다.
왜요?
왜요?
32비트 버전인가요 64비트 버전인가요?
모든 것이 매우 간단합니다. GetPtrVar( double a) 함수에서 스택에 있는 변수 복사본의 주소를 가져온 다음 스택 메모리의 흩어져 있는 부분을 읽으려고 시도합니다.
처음으로 GetValuePtr에 대한 닫기 호출로 인해 손상되지 않은 스택에서 읽을 수 있었고 후속 함수 호출 로 인해 스택이 복구 불가능하게 손상되었습니다.
오류가 없습니다.
모든 것이 매우 간단합니다. GetPtrVar( double a) 함수에서 스택에 있는 변수 복사본의 주소를 가져온 다음 스택 메모리의 흩어져 있는 부분을 읽으려고 시도합니다.
네, 정확히는 어딘가를 파고들 필요가 있다고 느꼈습니다.
dll에서 작성해야합니다
모든 것이 매우 간단합니다. GetPtrVar( double a) 함수에서 스택에 있는 변수 복사본의 주소를 가져온 다음 스택 메모리의 흩어져 있는 부분을 읽으려고 시도합니다.
처음으로 GetValuePtr에 대한 닫기 호출로 인해 손상되지 않은 스택에서 읽을 수 있었고 후속 함수 호출 로 인해 스택이 복구 불가능하게 손상되었습니다.
오류가 없습니다.
나도 알아차렸다. 올바르게 나는 그렇게 생각합니다.
우리는 연결합니다: