MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1621 1...161416151616161716181619162016211622162316241625162616271628...1953 새 코멘트 Valeriy Yastremskiy 2021.09.21 12:34 #16201 Alexey Viktorov # : 발레리, 라인에 주목 내 코드에서… 나는 오랫동안 5중 함수를 사용해 왔지만 여기에 비슷한 함수가 있습니다. ssstakaya에게 0을 주었습니다. 바퀴벌레가 어디에 있는지 생각해보세요... 그리고 그들이 MT4 지원을 거부한다는 사실 때문에 우리는 그것이 결코 고쳐지지 않을 것이라고 추측할 수 있습니다... 다른 모든 것은 확인해야 합니다. 나는 기억하고 싶지도 않을 정도로 오랫동안 이것을 귀찮게 하지 않았다. 흠 ... 시간이 에뮬레이트된다) 헷갈릴 필요가 있다) int sd; /*******************Expert initialization function*******************/ int OnInit () { sd = ( int )MarketInfo( "EURJPY" , MODE_DIGITS); return ( INIT_SUCCEEDED ); } /******************************************************************/ /************************Expert tick function************************/ void OnTick () { datetime lt = iTime ( _Symbol , PERIOD_M15 , 0 ); static datetime ct = 0 ; if (ct != lt) { ct = lt; Print ( DoubleToString ( iMA ( "EURJPY" , PERIOD_M15 , 21 , 0 , MODE_SMA , PRICE_CLOSE , 0 ), sd), " Time[0] " ,TimeToStr( Time[ 0 ]), " iTime(EURJPY,0,0) " ,TimeToStr( iTime ( "EURJPY" , 0 , 0 ))); } 결과 2021.09 . 21 15 : 30 : 48.696 2021.08 . 13 20 : 15 : 00 testMulti EURUSD,M15: 129.482 Time[ 0 ] 2021.08 . 13 20 : 15 iTime (EURJPY, 0 , 0 ) 2021.08 . 13 20 : 15 2021.09 . 21 15 : 30 : 48.632 2021.08 . 13 20 : 00 : 00 testMulti EURUSD,M15: 129.495 Time[ 0 ] 2021.08 . 13 20 : 00 iTime (EURJPY, 0 , 0 ) 2021.08 . 13 20 : 00 2021.09 . 21 15 : 30 : 48.568 2021.08 . 13 19 : 45 : 00 testMulti EURUSD,M15: 129.512 Time[ 0 ] 2021.08 . 13 19 : 45 iTime (EURJPY, 0 , 0 ) 2021.08 . 13 19 : 45 2021.09 . 21 15 : 30 : 48.504 2021.08 . 13 19 : 30 : 00 testMulti EURUSD,M15: 129.527 Time[ 0 ] 2021.08 . 13 19 : 30 iTime (EURJPY, 0 , 0 ) 2021.08 . 13 19 : 30 2021.09 . 21 15 : 30 : 48.440 2021.08 . 13 19 : 15 : 00 testMulti EURUSD,M15: 129.539 Time[ 0 ] 2021.08 . 13 19 : 15 iTime (EURJPY, 0 , 0 ) 2021.08 . 13 19 : 15 추신: 그것은 다른 기호에서 막대의 데이터를 가져오는 데 작동합니다))) 그러나 히스토리를 구체적으로 로드해야 합니다. 어레이를 넘어서는 것은 언로드된 기기에서 유일한 방법이거나 먼 막대에서 데이터를 요청하는 유일한 방법입니다. 추신 추신 정말 효과가!!! 나는 모든 인용문 아카이브를 업로드해야했습니다 !!! 필요한 통화 쌍이며 6월 21일부터 1분 동안 작동했습니다. Alexey Viktorov 2021.09.21 14:12 #16202 giros # : MQL5(러시아어)를 배울 수 있는 곳을 알려주실 수 있습니까? 여기 . 나는 다른 것을 읽지 않았다. Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 www.mql5.com Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Maksim Burov 2021.09.22 15:18 #16203 double FindPenultBuyPrice() { int oldticket; double oldopenprice= 0 ; ticket= 0 ; for ( int i= OrdersTotal ()- 2 ; i>= 0 ; i--) { if ( OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic && OrderType() == OP_BUY) { oldticket = OrderTicket(); if (oldticket > ticket) { ticket = oldticket; oldopenprice = OrderOpenPrice(); } } } } return (oldopenprice); } 안녕하세요. 끝에서 두 번째 오더의 시가를 구하려고 하는데 매도 오더가 없으면 잘 됩니다. 나는 그가 그들도 계산한다는 것을 이해합니다. MQL4 Valeriy Yastremskiy 2021.09.22 15:41 #16204 makssub # : 안녕하세요. 끝에서 두 번째 오더의 시가를 구하려고 하는데 매도 오더가 없으면 잘 됩니다. 나는 그가 그들도 계산한다는 것을 이해합니다. MQL4 double FindPenultBuyPrice() { int oldticket; double oldopenprice= 0 ; ticket= 0 ; for ( int i= OrdersTotal ()- 2 ; i>= 0 ; i--) { if ( OrderSelect ( i , SELECT_BY_POS, MODE_TRADES)) // внимательней к копипасту) цикл по i а перебираешь cnt)) { if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic && OrderType() == OP_BUY) { oldticket = OrderTicket(); if (oldticket > ticket) { ticket = oldticket; oldopenprice = OrderOpenPrice(); } } } } return (oldopenprice); } Maksim Burov 2021.09.22 15:46 #16205 Valeriy Yastremskiy # : double FindPenultBuyPrice() { int oldticket; double oldopenprice= 0 ; ticket= 0 ; for ( int cnt= OrdersTotal ()- 2 ; cnt>= 0 ; cnt--) { if ( OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic && OrderType() == OP_BUY) { oldticket = OrderTicket(); if (oldticket > ticket) { ticket = oldticket; oldopenprice = OrderOpenPrice(); } } } } return (oldopenprice); } 고맙습니다. 다시 확인했지만 여전히 Sell도 고려 중입니다( Galim_V 2021.09.22 16:43 #16206 makssub # : 고맙습니다. 다시 확인했지만 여전히 Sell도 고려 중입니다( 아마도 총 주문 수에서 빼기 때문일 것입니다. OrdersTotal ()- 2 그리고 당신은 단지 찾고 있습니다 OP_BUY Valeriy Yastremskiy 2021.09.22 16:45 #16207 makssub # : 고맙습니다. 다시 확인했지만 여전히 Sell도 고려 중입니다( 두 번째 if 앞에 번호, 티켓 및 주문 유형을 인쇄하고 두 번째 if 내부에 인쇄하십시오. double FindPenultBuyPrice() { int oldticket; double oldopenprice= 0 ; ticket= 0 ; for ( int cnt= OrdersTotal ()- 2 ; cnt>= 0 ; cnt--) { if ( OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES)) { Print (" Print 1 "," cnt ",cnt," OrderTicket() ",OrderTicket()," OrderType() ",OrderType()); if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic && OrderType() == OP_BUY) { Print (" Print 2 "," cnt ",cnt," OrderTicket() ",OrderTicket()," OrderType() ",OrderType()); oldticket = OrderTicket(); if (oldticket > ticket) { ticket = oldticket; oldopenprice = OrderOpenPrice(); } } } } return (oldopenprice); } Roman Sharanov 2021.09.23 11:39 #16208 private: CPoint *startPoint; CPoint *endPoint; 두 개의 생성자가 있습니다. 두 번째에서 첫 번째를 호출하고 위의 변수에 값을 설정하면 두 번째로 리턴할 때 이 변수가 NULL 로 이동합니다. 또한 첫 번째 생성자에서 두 번째 생성자로 코드를 복사하고 호출하지 않으면 모든 것이 작동합니다. 문제가 무엇입니까? CWave::CWave( string namePref, double startPrice, datetime startTime, double endPrice, datetime endTime) { prevWave = NULL ; nextWave = NULL ; name = namePref+ "_" + TimeToString (startTime, TIME_DATE | TIME_MINUTES ); startPoint = new CPoint(startPrice, startTime); endPoint = new CPoint(endPrice, endTime); dir = startPrice < endPrice ? true : false ; } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ CWave::CWave( string namePref, double startPrice, datetime startTime, double endPrice, datetime endTime, CWave *prevWave) { CWave(namePref, startPrice, startTime, endPrice, endTime); this .prevWave = prevWave; prevWave.nextWave = & this ; } PapaYozh 2021.09.23 11:52 #16209 Roman Sharanov NULL 로 이동합니다. 또한 첫 번째 생성자에서 두 번째 생성자로 코드를 복사하고 호출하지 않으면 모든 것이 작동합니다. 문제가 무엇입니까? 문제는 MQL에 있습니다. 비슷한 상황에서 다른 생성자에서 가져온 별도의 방법으로 초기화를 수행합니다. --- 여전히 부모의 생성자를 호출하는 데 문제가 있습니다. Maksim Burov 2021.09.23 14:02 #16210 Valeriy Yastremskiy # : 두 번째 if 앞에 번호, 티켓 및 주문 유형을 인쇄하고 두 번째 if 내부에 인쇄하십시오. 고맙습니다. 오늘 확인하겠습니다. 1...161416151616161716181619162016211622162316241625162616271628...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
발레리, 라인에 주목
내 코드에서… 나는 오랫동안 5중 함수를 사용해 왔지만 여기에 비슷한 함수가 있습니다.
ssstakaya에게 0을 주었습니다.
바퀴벌레가 어디에 있는지 생각해보세요... 그리고 그들이 MT4 지원을 거부한다는 사실 때문에 우리는 그것이 결코 고쳐지지 않을 것이라고 추측할 수 있습니다...
다른 모든 것은 확인해야 합니다. 나는 기억하고 싶지도 않을 정도로 오랫동안 이것을 귀찮게 하지 않았다.
흠 ... 시간이 에뮬레이트된다) 헷갈릴 필요가 있다)
결과
추신: 그것은 다른 기호에서 막대의 데이터를 가져오는 데 작동합니다))) 그러나 히스토리를 구체적으로 로드해야 합니다. 어레이를 넘어서는 것은 언로드된 기기에서 유일한 방법이거나 먼 막대에서 데이터를 요청하는 유일한 방법입니다.
추신 추신
정말 효과가!!! 나는 모든 인용문 아카이브를 업로드해야했습니다 !!! 필요한 통화 쌍이며 6월 21일부터 1분 동안 작동했습니다.
MQL5(러시아어)를 배울 수 있는 곳을 알려주실 수 있습니까?
안녕하세요. 끝에서 두 번째 오더의 시가를 구하려고 하는데 매도 오더가 없으면 잘 됩니다. 나는 그가 그들도 계산한다는 것을 이해합니다. MQL4
안녕하세요. 끝에서 두 번째 오더의 시가를 구하려고 하는데 매도 오더가 없으면 잘 됩니다. 나는 그가 그들도 계산한다는 것을 이해합니다. MQL4
고맙습니다. 다시 확인했지만 여전히 Sell도 고려 중입니다(
고맙습니다. 다시 확인했지만 여전히 Sell도 고려 중입니다(
아마도 총 주문 수에서 빼기 때문일 것입니다.
그리고 당신은 단지 찾고 있습니다
고맙습니다. 다시 확인했지만 여전히 Sell도 고려 중입니다(
두 번째 if 앞에 번호, 티켓 및 주문 유형을 인쇄하고 두 번째 if 내부에 인쇄하십시오.
두 개의 생성자가 있습니다. 두 번째에서 첫 번째를 호출하고 위의 변수에 값을 설정하면 두 번째로 리턴할 때 이 변수가 NULL 로 이동합니다.
또한 첫 번째 생성자에서 두 번째 생성자로 코드를 복사하고 호출하지 않으면 모든 것이 작동합니다. 문제가 무엇입니까?
또한 첫 번째 생성자에서 두 번째 생성자로 코드를 복사하고 호출하지 않으면 모든 것이 작동합니다. 문제가 무엇입니까?
문제는 MQL에 있습니다.
비슷한 상황에서 다른 생성자에서 가져온 별도의 방법으로 초기화를 수행합니다.
---
여전히 부모의 생성자를 호출하는 데 문제가 있습니다.
두 번째 if 앞에 번호, 티켓 및 주문 유형을 인쇄하고 두 번째 if 내부에 인쇄하십시오.
고맙습니다. 오늘 확인하겠습니다.