기고글 토론 "MQL5에서 행렬 및 벡터 연산" - 페이지 5 1234567 새 코멘트 Aleksey Vyazmikin 2022.10.10 16:42 #41 그렇다면 행렬에서 열을 추출하려면 어떻게 해야 할까요? Rashid Umarov 2022.10.10 16:49 #42 Aleksey Vyazmikin #:벡터가 아니라 행렬입니다. 위의 코드가 있습니다. 직접 알아내거나 컴파일러를 설득해야 합니다. 예제를 참조하세요. Rashid Umarov 2022.10.10 16:51 #43 Aleksey Vyazmikin #: 그렇다면 행렬에서 열을 얻으려면 어떻게 해야 할까요? Col을 사용하여 행렬에서 벡터를 가져올 수 있습니다. "꺼내다"는 무슨 뜻인가요? 제거하다? Документация по MQL5: Методы матриц и векторов / Манипуляции / Col www.mql5.com Col - Манипуляции - Методы матриц и векторов - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Aleksey Vyazmikin 2022.10.10 16:53 #44 Rashid Umarov #: Col을 사용하여 행렬에서 벡터를 얻을 수 있습니다. "제거"란 무슨 뜻인가요? 제거하다? 작업 할 수있는 무언가로 변환한다는 측면에서 제거하십시오. 위에 보여드린 코드에서 Col로 실패한 것은 벡터가 아니라 행렬이었습니다. Rashid Umarov 2022.10.10 16:55 #45 휴식을 취하고 내일 이 토론의 모든 질문을 다시 읽어야 합니다. Aleksey Vyazmikin 2022.10.10 16:58 #46 Rashid Umarov #: 내일 이 오스버드의 모든 질문을 다시 읽고 휴식을 취해야 합니다. 관심을 가져주셔서 감사합니다! 대부분의 질문은 여러분의 도움으로 해결되었습니다. 내일까지 기다릴 테니 나중에 제 질문에 답해 주실 수 있을지도 모르겠네요. Valeriy Yastremskiy 2022.10.10 20:25 #47 Rashid Umarov #:아무도 읽지는 않지만 기꺼이 지원합니다. 머신 러닝 스레드에서 본 것 같은데요? 그렇다면 기사에 쓰여진 내용을 이해해야 합니다. 완전히 이해하지 못한 것 같습니다. 행렬 요소에 3개의 값이 있는 이유. 3차원 배열입니다. 도움말에서 벡터가 1 차원 배열이고이 예제에서 행렬이 3 차원 배열로 표시되는 이유입니다.예제에서는 행 3개와 열 4개가 있습니다)))) 행렬)))))) Denis Kirichenko 2022.10.11 09:59 #48 여기에 약간의 실수가 있을 수 있습니다: //--- 매트릭스 복사 matrix a= {{2, 2}, {3, 3}, {4, 4}}; matrix b=a+2; matrix c; Print("matrix a \n", a); Print("matrix b \n", b); c.Assign(b); Print("matrix c \n", a); /* 행렬 A [[2,2] [3,3] [4,4]] 행렬 b [[4,4] [5,5] [6,6]] MATRIX C [[2,2] [3,3] [4,4]] */ 다음과 같아야 합니다: //--- 매트릭스 복사 matrix a= {{2, 2}, {3, 3}, {4, 4}}; matrix b=a+2; matrix c; Print("matrix a \n", a); Print("matrix b \n", b); c.Assign(b); Print("matrix c \n", с); /* 행렬 A [[2,2] [3,3] [4,4]] 행렬 b [[4,4] [5,5] [6,6]] MATRIX C [[4,4] [5,5] [6,6]] */ Denis Kirichenko 2022.10.11 10:33 #49 "행렬 또는 벡터로 시계열 복사" 섹션에 또 다른 사소한 오류가있습니다: //--- 계산할 문자 목록 string symbols[]= {"EURUSD", "GBPUSD", "USDJPY", "USDCAD", "USDCHF"}; int size=ArraySize(symbols); //--- 행렬과 벡터를 사용하여 가격 닫기 matrix rates(InBars, size); vector close; for(int i=0; i<size; i++) { //--- 종가를 벡터로 가져옵니다. if(close.CopyRates(symbols[i], InTF, COPY_RATES_CLOSE, 1, InBars)) { //--- 시계열 행렬에 벡터를 삽입합니다. rates.Col(close, i); PrintFormat("%d. %s: %d 종가가 매트릭스에 추가되었습니다.", i+1, symbols[i], close.Size()); //--- 디버깅을 위해 벡터의 처음 20개 값을 출력합니다. int digits=(int)SymbolInfoInteger(symbols[i], SYMBOL_DIGITS); Print(VectorToString(close, 20, digits)); } else { Print("vector.CopyRates(%d,COPY_RATES_CLOSE) failed. Error ", symbols[i], GetLastError()); return; } } 이렇게 하는 것이 더 나을 것 같습니다: //--- 계산할 문자 목록 string symbols[] = {"EURUSD", "GBPUSD", "USDJPY", "USDCAD", "USDCHF"}; int size =::ArraySize(symbols); //--- 행렬과 벡터를 사용하여 가격 닫기 matrix rates_mx(InBars, size); vector close_vc; for(int i = 0; i < size; i++) { ::ResetLastError(); //--- 종가를 벡터로 가져옵니다. if(close_vc.CopyRates(symbols[i], InTF, COPY_RATES_CLOSE, 1, InBars)) { //--- 시계열 행렬에 벡터를 삽입합니다. rates_mx.Col(close_vc, i); ::PrintFormat("%d. %s: %d 종가가 매트릭스에 추가되었습니다.", i + 1, symbols[i],close_vc.Size()); //--- 디버깅을 위해 벡터의 처음 20개 값을 출력합니다. int digits = (int)::SymbolInfoInteger(symbols[i], SYMBOL_DIGITS); ::Print(VectorToString(close_vc, 20, digits)); } else { ::PrintFormat("vector.CopyRates(%s,COPY_RATES_CLOSE) failed. Error %d", symbols[i], ::GetLastError()); return; } } Rashid Umarov 2022.10.11 11:42 #50 Denis Kirichenko #:여기에 약간의 실수가 있을 수 있습니다: 다음과 같아야 합니다: 감사합니다, 수정되었습니다. 1234567 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
벡터가 아니라 행렬입니다. 위의 코드가 있습니다.
직접 알아내거나 컴파일러를 설득해야 합니다. 예제를 참조하세요.
그렇다면 행렬에서 열을 얻으려면 어떻게 해야 할까요?
Col을 사용하여 행렬에서 벡터를 가져올 수 있습니다.
"꺼내다"는 무슨 뜻인가요? 제거하다?
Col을 사용하여 행렬에서 벡터를 얻을 수 있습니다.
"제거"란 무슨 뜻인가요? 제거하다?
작업 할 수있는 무언가로 변환한다는 측면에서 제거하십시오.
위에 보여드린 코드에서 Col로 실패한 것은 벡터가 아니라 행렬이었습니다.
내일 이 오스버드의 모든 질문을 다시 읽고 휴식을 취해야 합니다.
관심을 가져주셔서 감사합니다!
대부분의 질문은 여러분의 도움으로 해결되었습니다.
내일까지 기다릴 테니 나중에 제 질문에 답해 주실 수 있을지도 모르겠네요.
아무도 읽지는 않지만 기꺼이 지원합니다. 머신 러닝 스레드에서 본 것 같은데요? 그렇다면 기사에 쓰여진 내용을 이해해야 합니다.
여기에 약간의 실수가 있을 수 있습니다:
다음과 같아야 합니다:
"행렬 또는 벡터로 시계열 복사" 섹션에 또 다른 사소한 오류가있습니다:
이렇게 하는 것이 더 나을 것 같습니다:
여기에 약간의 실수가 있을 수 있습니다:
다음과 같아야 합니다:
감사합니다, 수정되었습니다.