오류, 버그, 질문 - 페이지 2411 1...240424052406240724082409241024112412241324142415241624172418...3184 새 코멘트 Vladimir Karputov 2019.03.24 06:45 #24101 Aleksey Sergan : 다음 코드를 실행하십시오: Multicurrency iMA Trend 2 . 설정(매개변수 Symbols )에서 "EURUSD,GBPUSD"를 지정합니다. 나는 구성이있다 MetaTrader 5 x64 build 2009 started (MetaQuotes Software Corp.) Windows 10 (build 17763 ) x64, IE 11 , UAC, Intel Core i3- 3120 M @ 2.50 GHz, Memory: 3518 / 8077 Mb, Disk: 86 / 415 Gb, GMT+ 2 C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075 모든 SL은 해당 심볼의 가격으로 마감되었습니다. 즉, 가격 중복 오류가 없습니다. Aleksey Sergan 2019.03.24 07:10 #24102 Vladimir Karputov : 다음 코드를 실행하십시오: Multicurrency iMA Trend 2 . 설정(매개변수 Symbols )에서 "EURUSD,GBPUSD"를 지정합니다. 나는 구성이있다 모든 SL은 해당 심볼의 가격으로 마감되었습니다. 즉, 가격 중복 오류가 없습니다. 덕분에 버그가 수정되었습니다. 아래에 게시합니다. Aleksey Sergan 2019.03.24 07:10 #24103 Andrey Barinov : 2개의 오류가 있습니다. 1번. 당신의 실수. 코드 어딘가. GBPUSD 가격을 사용하여 EURUSD 포지션에 대한 SL을 설정합니다. 터미널은 이에 대해 아무런 조치도 취하지 않아야 합니다. 2번. 터미널 버그. 이 SL이 EURUSD 흐름에서 해당 시점에 존재하지 않는 가격에서 트리거되면 GBPUSD 가격을 사용합니다. 안드레이 바리노프 : https://www.mql5.com/ru/docs/constants/structures/mqltraderequest 분명히 수정 요청을 보낼 때 위치 필드는 기호가 아닌 우선 순위를 갖습니다. 인쇄 요청 위치 네, 맞습니다. 내 오류는 논리적입니다. 구조: MqlTradeRequest m_request; m_request.position = #3 m_request.symbol = GBPUSD m_request.sl = 1.60704 GBPUSD #4의 실제 포지션 번호 OrderSend를 실행할 때 테스터는 위치 #3에 해당하는 기호에 대해 중지를 설정합니다. 이것은 eurusd입니다. 테스터 오류: - 준수 여부를 확인하지 않음 m_request.position 및 m_request.symbol; - 현재 가격이 1.30935인 매수 포지션, 기호 eurusd에 대해 스톱 1.60704를 설정합니다. - 다음 틱에서 실제 가격은 1.30935이지만 1.60704의 가격에서 중지를 실행합니다. 모두에게 감사합니다. 플랫폼 개발자가 게시물을 보았으면 합니다. Errors, bugs, questions 오류 코드 찻주전자의 질문 Andrey Barinov 2019.03.24 07:28 #24104 Aleksey Sergan : 네, 맞습니다. 내 오류는 논리적입니다. 구조: MqlTradeRequest m_request; m_request.position = #3 m_request.symbol = GBPUSD m_request.sl = 1.60704 GBPUSD #4의 실제 포지션 번호 OrderSend를 실행할 때 테스터는 위치 #3에 해당하는 기호에 대해 중지를 설정합니다. 이것은 eurusd입니다. 테스터 오류: - 준수 여부를 확인하지 않음 m_request.position 및 m_request.symbol; - 현재 가격이 1.30935인 매수 포지션, 기호 eurusd에 대해 스톱 1.60704를 설정합니다. - 다음 틱에서 실제 가격은 1.30935이지만 1.60704의 가격에서 중지를 실행합니다. 모두에게 감사합니다. 플랫폼 개발자가 게시물을 보았으면 합니다. 1.30935의 현재 가격에서 1.60704의 매수 포지션에 대한 스탑 실행은 오류가 아닙니다. 그러나 현재 가격 1.30935에서 1.60704 수준에서 매수 스톱을 설정하는 것은 실수입니다. Andrey Dik 2019.03.24 13:30 #24105 빌드 2007 기능: bool GetDialLastProfit ( string symbol, datetime startDate, datetime endDate, long magic, double &profit, double &lot) { HistorySelect (startDate, endDate); int deals = HistoryDealsTotal (); ulong ticket; for ( int i = deals - 1 ; i >= 0 ; i--) //for (int i = 0; i < deals; i++) { ticket = HistoryDealGetTicket (i); if (ticket != 0 ) { if ( HistoryDealGetInteger (ticket, DEAL_MAGIC ) == magic) { profit = HistoryDealGetDouble (ticket, DEAL_PROFIT ); //if (!HistoryDealGetDouble(ticket, DEAL_PROFIT, profit)) // return false; lot = HistoryDealGetDouble (ticket, DEAL_VOLUME ); return ( true ); } } } return ( false ); } 이익 변수에서 이론적 으로 거래의 재정적 결과를 제공해야 하지만 항상 0.0으로 밝혀지고 로트 변수의 값은 항상 정확합니다. 실수? 아니면 내가 뭔가 잘못하고 있습니까 Andrey Barinov 2019.03.24 13:33 #24106 Andrey Dik : 빌드 2007 기능: 이익 변수에서 이론적 으로 거래의 재정적 결과를 제공해야 하지만 항상 0.0으로 밝혀지고 로트 변수의 값은 항상 정확합니다. 실수? 아니면 내가 뭔가 잘못하고 있습니까 DEAL_ENTRY_OUT 또는 INOUT을 살펴봐야 합니다. 거래 _IN의 이익은 0입니다. Andrey Dik 2019.03.24 13:35 #24107 Andrey Barinov : DEAL_ENTRY_OUT 또는 INOUT을 살펴봐야 합니다. 거래 _IN 이익 0 글쎄, 목록의 끝에서 첫 번째 것을 가져 와서 OUT이어야합니다. Andrey Barinov 2019.03.24 13:40 #24108 Andrey Dik : 글쎄, 목록의 끝에서 첫 번째 것을 가져 와서 OUT이어야합니다. endDate에서 TimeCurrent()를 전달 하면 TimeCurrent()+60 또는 이와 유사한 것으로 대체하십시오. 도움이 될 것입니다. Andrey Dik 2019.03.24 13:42 #24109 Andrey Barinov : endDate에서 TimeCurrent()를 전달하면 TimeCurrent()+60 또는 이와 유사한 것으로 대체하십시오. 도움이 될 것입니다. 아니, 역시 0.0 Andrey Barinov 2019.03.24 13:43 #24110 Andrey Dik : 아니, 역시 0.0 그런 다음 디버그하십시오. 거래 티켓을 인쇄하고 테스터에서 실제로 선택된 것이 무엇인지 확인하십시오. 거래 유형별 로 필터를 추가합니다. 1...240424052406240724082409241024112412241324142415241624172418...3184 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
다음 코드를 실행하십시오: Multicurrency iMA Trend 2 .
설정(매개변수 Symbols )에서 "EURUSD,GBPUSD"를 지정합니다.
나는 구성이있다
모든 SL은 해당 심볼의 가격으로 마감되었습니다. 즉, 가격 중복 오류가 없습니다.
다음 코드를 실행하십시오: Multicurrency iMA Trend 2 .
설정(매개변수 Symbols )에서 "EURUSD,GBPUSD"를 지정합니다.
나는 구성이있다
모든 SL은 해당 심볼의 가격으로 마감되었습니다. 즉, 가격 중복 오류가 없습니다.
덕분에 버그가 수정되었습니다. 아래에 게시합니다.
2개의 오류가 있습니다.
1번. 당신의 실수. 코드 어딘가. GBPUSD 가격을 사용하여 EURUSD 포지션에 대한 SL을 설정합니다. 터미널은 이에 대해 아무런 조치도 취하지 않아야 합니다.
2번. 터미널 버그. 이 SL이 EURUSD 흐름에서 해당 시점에 존재하지 않는 가격에서 트리거되면 GBPUSD 가격을 사용합니다.
https://www.mql5.com/ru/docs/constants/structures/mqltraderequest
분명히 수정 요청을 보낼 때 위치 필드는 기호가 아닌 우선 순위를 갖습니다. 인쇄 요청 위치
네, 맞습니다. 내 오류는 논리적입니다.
구조:
MqlTradeRequest m_request;
m_request.position = #3
m_request.symbol = GBPUSD
m_request.sl = 1.60704
GBPUSD #4의 실제 포지션 번호
OrderSend를 실행할 때 테스터는 위치 #3에 해당하는 기호에 대해 중지를 설정합니다. 이것은 eurusd입니다.
테스터 오류:
- 준수 여부를 확인하지 않음 m_request.position 및 m_request.symbol;
- 현재 가격이 1.30935인 매수 포지션, 기호 eurusd에 대해 스톱 1.60704를 설정합니다.
- 다음 틱에서 실제 가격은 1.30935이지만 1.60704의 가격에서 중지를 실행합니다.
모두에게 감사합니다. 플랫폼 개발자가 게시물을 보았으면 합니다.
네, 맞습니다. 내 오류는 논리적입니다.
구조:
MqlTradeRequest m_request;
m_request.position = #3
m_request.symbol = GBPUSD
m_request.sl = 1.60704
GBPUSD #4의 실제 포지션 번호
OrderSend를 실행할 때 테스터는 위치 #3에 해당하는 기호에 대해 중지를 설정합니다. 이것은 eurusd입니다.
테스터 오류:
- 준수 여부를 확인하지 않음 m_request.position 및 m_request.symbol;
- 현재 가격이 1.30935인 매수 포지션, 기호 eurusd에 대해 스톱 1.60704를 설정합니다.
- 다음 틱에서 실제 가격은 1.30935이지만 1.60704의 가격에서 중지를 실행합니다.
모두에게 감사합니다. 플랫폼 개발자가 게시물을 보았으면 합니다.
1.30935의 현재 가격에서 1.60704의 매수 포지션에 대한 스탑 실행은 오류가 아닙니다. 그러나 현재 가격 1.30935에서 1.60704 수준에서 매수 스톱을 설정하는 것은 실수입니다.
빌드 2007
기능:
이익 변수에서 이론적 으로 거래의 재정적 결과를 제공해야 하지만 항상 0.0으로 밝혀지고 로트 변수의 값은 항상 정확합니다.
실수? 아니면 내가 뭔가 잘못하고 있습니까
빌드 2007
기능:
이익 변수에서 이론적 으로 거래의 재정적 결과를 제공해야 하지만 항상 0.0으로 밝혀지고 로트 변수의 값은 항상 정확합니다.
실수? 아니면 내가 뭔가 잘못하고 있습니까
DEAL_ENTRY_OUT 또는 INOUT을 살펴봐야 합니다. 거래 _IN의 이익은 0입니다.
DEAL_ENTRY_OUT 또는 INOUT을 살펴봐야 합니다. 거래 _IN 이익 0
글쎄, 목록의 끝에서 첫 번째 것을 가져 와서 OUT이어야합니다.
글쎄, 목록의 끝에서 첫 번째 것을 가져 와서 OUT이어야합니다.
endDate에서 TimeCurrent()를 전달 하면 TimeCurrent()+60 또는 이와 유사한 것으로 대체하십시오. 도움이 될 것입니다.
endDate에서 TimeCurrent()를 전달하면 TimeCurrent()+60 또는 이와 유사한 것으로 대체하십시오. 도움이 될 것입니다.
아니, 역시 0.0
아니, 역시 0.0
그런 다음 디버그하십시오. 거래 티켓을 인쇄하고 테스터에서 실제로 선택된 것이 무엇인지 확인하십시오. 거래 유형별 로 필터를 추가합니다.