오류, 버그, 질문 - 페이지 2412 1...240524062407240824092410241124122413241424152416241724182419...3184 새 코멘트 Andrey Dik 2019.03.24 13:45 #24111 Andrey Barinov : 그런 다음 디버그하십시오. 거래 티켓을 인쇄 하고 테스터에서 실제로 선택된 것이 무엇인지 확인하십시오. 거래 유형별 로 필터를 추가합니다. 로트가 각각 올바르게 제공되면 티켓이 올바르게 선택됩니다. Andrey Barinov 2019.03.24 13:47 #24112 Andrey Dik : 로트가 각각 올바르게 제공되면 티켓이 올바르게 선택됩니다. 아니요. 인과 아웃 모두 같은 로트를 가지고 있습니다. 그리고 이익이 없습니다. 여기 내 코드가 있습니다. 공장. //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ ulong LastOutDealTicket( const string symbol, const uint magic) { //=============== long lasttime= 0 ; //=============== //=============== ulong ticket= 0 ; //=============== //=============== #ifdef __MQL5__ //=============== :: HistorySelect ( 0 , TimeCurrent ()+ 60 ); //=============== const int deals=:: HistoryDealsTotal (); //=============== for ( int i=deals- 1 ;i>= 0 ;i--) { //=============== const ulong tempticket=:: HistoryDealGetTicket (i); //=============== //=============== if (:: HistoryDealGetInteger (tempticket, DEAL_ENTRY )!= DEAL_ENTRY_OUT || :: HistoryDealGetString (tempticket, DEAL_SYMBOL )!=symbol || :: HistoryDealGetInteger (tempticket, DEAL_MAGIC )!=magic) continue ; //=============== //=============== if (:: MQLInfoInteger ( MQL_TESTER )) return (tempticket); //=============== //=============== if (:: HistoryDealGetInteger (tempticket, DEAL_TIME )<=lasttime) continue ; //=============== //=============== ticket=tempticket; lasttime=:: HistoryDealGetInteger (tempticket, DEAL_TIME ); //=============== } //=============== #endif //=============== //=============== #ifdef __MQL4__ //=============== const int ordershistory= OrdersHistoryTotal (); //=============== for ( int i=ordershistory- 1 ;i>= 0 ;i--) { //=============== if (!:: OrderSelect (i, SELECT_BY_POS , MODE_HISTORY ) || :: OrderSymbol ()!=symbol || :: OrderMagicNumber ()!=magic || (:: OrderType ()!= OP_SELL && :: OrderType ()!= OP_BUY )) continue ; //=============== //=============== if (:: MQLInfoInteger ( MQL_TESTER )) return (:: OrderTicket ()); //=============== //=============== if (:: OrderCloseTime ()<=lasttime) continue ; //=============== //=============== ticket=:: OrderTicket (); lasttime=:: OrderCloseTime (); //=============== } //=============== #endif //=============== //=============== return (ticket); //=============== } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ double LastClosedProfit( const string symbol, const uint magic) { //=============== const ulong lastoutticket=::LastOutDealTicket(symbol,magic); //=============== //=============== if (lastoutticket<= 0 ) return ( 0 ); //=============== //=============== double result= 0 ; //=============== //=============== #ifdef __MQL5__ //=============== result=:: HistoryDealGetDouble (lastoutticket, DEAL_PROFIT ); //=============== #endif //=============== //=============== #ifdef __MQL4__ //=============== if (:: OrderSelect (( int )lastoutticket, SELECT_BY_TICKET , MODE_HISTORY ))result=:: OrderProfit (); //=============== #endif //=============== //=============== return (result); //=============== } Andrey Dik 2019.03.24 14:06 #24113 Andrey Barinov : 아니요. 인과 아웃 모두 같은 로트를 가지고 있습니다. 그리고 이익이 없습니다. 여기 내 코드가 있습니다. 공장. 나는 시도했지만 코드도 0.0을 제공합니다))) 헤징 계정이 있는 경우. Andrey Barinov 2019.03.24 14:21 #24114 Andrey Dik : 나는 시도했지만 코드도 0.0을 제공합니다))) 헤징 계정이 있는 경우. 2009 빌드에서 모든 것을 확인했습니다. 내 코드는 출력해야 할 내용을 출력합니다. 0을 반환하면 거기에 0이 있는 것입니다. Andrey Dik 2019.03.24 14:57 #24115 Andrey Barinov : 2009 빌드에서 모든 것을 확인했습니다. 내 코드는 출력해야 할 내용을 출력합니다. 0을 반환하면 거기에 0이 있는 것입니다. 글쎄, 그와 같은 것, 역사상 0이 아닌 결과에 대한 닫힌 거래가 있지만 0을 제공합니다. [삭제] 2019.03.24 16:26 #24116 Andrey Barinov : 안드레이 딕 : 문제가 DC 쪽에 있을 수 있다는 옵션이 있습니다. Andrey Dik 2019.03.24 16:30 #24117 Alexey Kozitsyn : 문제가 DC 쪽에 있을 수 있다는 옵션이 있습니다. 테스터에서 Metaquotes와 Robo에서 시도했습니다. Andrey Dik 2019.03.24 16:50 #24118 오류를 발견했습니다.. 제 문제는 제가 매직을 포지션 클로징 함수로 넘기지 않고 오프닝 함수로 넘겼기 때문에 결과적으로 매직으로 딜을 선택할 수 없었습니다.. Andrey Pogoreltsev 2019.03.25 14:14 #24119 Name 메서드로 초기화할 때 다음을 호출하는 다중 통화 교환에서 CSymbolInfo를 사용하는 경우: if (! SymbolInfoDouble (m_name, SYMBOL_TRADE_TICK_VALUE ,m_tick_value)) return ( false ); if (! SymbolInfoDouble (m_name, SYMBOL_TRADE_TICK_VALUE_PROFIT ,m_tick_value_profit)) return ( false ); if (! SymbolInfoDouble (m_name, SYMBOL_TRADE_TICK_VALUE_LOSS ,m_tick_value_loss)) return ( false ); 그런 다음 USDCAD 기호 를 테스트하는 동안 오류가 생성됩니다. no prices for symbol Vladimir Karputov 2019.03.25 14:17 #24120 Andrey Pogoreltsev : Name 메서드로 초기화할 때 다음을 호출하는 다중 통화 교환에서 CSymbolInfo를 사용하는 경우: 그런 다음 USDCAD 기호를 테스트하는 동안 오류가 생성됩니다. 그들이 말하는 내용을 이해하는 사람이 있습니까? 1...240524062407240824092410241124122413241424152416241724182419...3184 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
그런 다음 디버그하십시오. 거래 티켓을 인쇄 하고 테스터에서 실제로 선택된 것이 무엇인지 확인하십시오. 거래 유형별 로 필터를 추가합니다.
로트가 각각 올바르게 제공되면 티켓이 올바르게 선택됩니다.
로트가 각각 올바르게 제공되면 티켓이 올바르게 선택됩니다.
아니요. 인과 아웃 모두 같은 로트를 가지고 있습니다. 그리고 이익이 없습니다.
여기 내 코드가 있습니다. 공장.
아니요. 인과 아웃 모두 같은 로트를 가지고 있습니다. 그리고 이익이 없습니다.
여기 내 코드가 있습니다. 공장.
나는 시도했지만 코드도 0.0을 제공합니다)))
헤징 계정이 있는 경우.나는 시도했지만 코드도 0.0을 제공합니다)))
헤징 계정이 있는 경우.2009 빌드에서 모든 것을 확인했습니다. 내 코드는 출력해야 할 내용을 출력합니다. 0을 반환하면 거기에 0이 있는 것입니다.
2009 빌드에서 모든 것을 확인했습니다. 내 코드는 출력해야 할 내용을 출력합니다. 0을 반환하면 거기에 0이 있는 것입니다.
글쎄, 그와 같은 것, 역사상 0이 아닌 결과에 대한 닫힌 거래가 있지만 0을 제공합니다.
문제가 DC 쪽에 있을 수 있다는 옵션이 있습니다.
문제가 DC 쪽에 있을 수 있다는 옵션이 있습니다.
테스터에서 Metaquotes와 Robo에서 시도했습니다.
Name 메서드로 초기화할 때 다음을 호출하는 다중 통화 교환에서 CSymbolInfo를 사용하는 경우:
그런 다음 USDCAD 기호 를 테스트하는 동안 오류가 생성됩니다.
no prices for symbolName 메서드로 초기화할 때 다음을 호출하는 다중 통화 교환에서 CSymbolInfo를 사용하는 경우:
그런 다음 USDCAD 기호를 테스트하는 동안 오류가 생성됩니다.
그들이 말하는 내용을 이해하는 사람이 있습니까?