記事「MQL5での行列およびベクトル演算」についてのディスカッション - ページ 2 1234567 新しいコメント Aleksey Vyazmikin 2022.10.07 06:39 #11 Rashid Umarov #: ありますよ、記事を読んでください。 記事では多次元配列をコピーしていますが、必要なのは一次元配列です! Rukhzoramo Qurbonnazarova 2022.10.07 19:08 #12 皆さん、こんにちは。インジケーターを勉強したいのですが、何から始めたらいいのかわかりません。 Aleksey Vyazmikin 2022.10.08 05:17 #13 私はなぜあなたがただ助け、例を示すことができないのか理解できません - それは記事の議論は何のためにあるのか - 悲しい。 一般的に、私はベクトルを介してのみ可能であると判断しました - そこに配列を渡し、行列にそれをねじ込むために、しかし、今のところ私はそれを曲げる方法(ベクトルから、それを変換するかのように、指定された列数を持つ行列を作ることが可能であるか)のポイントにさえ到達していない、それが可能であるという事実ではないので、私はクラッシュを得た。 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) Access violation at 0x0000000140D77E04 write to 0x00000002CBD3617E 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) crash --> 0000000140 D77E04 6644896473 FE mov [rbx+rsi*2-0x2], r12w 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 0000000140 D77E0A 83 F8FE cmp eax, 0xfe 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 0000000140 D77E0D 751 C jnz 0x140d77e2b 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 0000000140 D77E0F 4 C3BF7 cmp r14, rdi 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 0000000140 D77E12 751 B jnz 0x140d77e2f 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 0000000140 D77E14 443865 F0 cmp [rbp-0x10], r12b 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 0000000140 D77E18 7478 jz 0x140d77e92 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 00: 0x0000000140D77E04 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 01: 0x00000001403246C7 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 02: 0x0000000140BCBBC8 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 03: 0x0000000140BCBA81 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 04: 0x0000000140BCB78B 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 05: 0x0000000140BB848B 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 06: 0x0000000140BBA5D1 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 07: 0x0000000140BBA491 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) 08: 0x00000000040E06D0 2022.10.08 06:12:48.942 Test_Matrix_02 (EURUSD,H1) もちろんコードを添付する //+------------------------------------------------------------------+ //|Test_Matrix_02.mq5 //|著作権 2022, MetaQuotes Ltd.| //|https://www.mql5.com //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ //| スクリプト番組開始機能| //+------------------------------------------------------------------+ void OnStart() { matrix target; int count=1000; target.Init(count, 1); vector V_Target;// ターゲットを含む配列を取得し,それを行列に変換するためのベクトル. int arr_Target[]; ArrayResize(arr_Target,count); int T_Rand=0;//ランダムに書く for(int i=0; i<count; i++) { T_Rand=rand(); if(T_Rand>32767/2)arr_Target[i]=1; else arr_Target[i]=0; } V_Target.Assign(arr_Target); if(!target.Col(V_Target,0)) return ; Print("data after Col(V_Target) \n", target); } //+------------------------------------------------------------------+ Denis Kirichenko 2022.10.08 19:49 #14 アレクセイ、すべてうまくいったよ。これがあなたのスクリプトです: //+------------------------------------------------------------------+ //| スクリプト番組開始機能| //+------------------------------------------------------------------+ void OnStart() { const int count = 20; ::MathSrand(1); //--- 配列 int target_arr[]; ::ArrayResize(target_arr, count); for(int i = 0; i < count; i++) { int T_Rand = ::MathRand(); if(T_Rand > 32767 / 2) target_arr[i] = 1; else target_arr[i] = 0; } //--- ベクター vector target_vc; target_vc.Assign(target_arr); //--- マトリックス matrix target_mx(count, 1); if(!target_mx.Col(target_vc, 0)) return; ::Print("data after Col(target_vc) \n", target_mx); int rows, cols; rows = 4; cols = 5; if(!target_mx.Reshape(rows, cols)) return; ::Print("data after Reshape \n", target_mx); } //+------------------------------------------------------------------+ ログ 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) data after Col(target_vc) 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [[0] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [1] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [0] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [1] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [1] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [0] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [0] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [1] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [1] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [1] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [0] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [1] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [1] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [1] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [0] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [0] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [0] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [0] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [0] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [0]] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) data after Reshape 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [[0,1,0,1,1] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [0,0,1,1,1] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [0,1,1,1,0] 2022.10.08 20:48:55.335 Test_Matrix_02 (SBER,H1) [0,0,0,0,0]] Aleksey Vyazmikin 2022.10.08 19:57 #15 Denis Kirichenko #:アレクセイ、すべてうまくいったよ。これがあなたのスクリプトです:ログ ありがとう。はい、プリントの/nがクラッシュの原因であることは分かっていますが、": "の意味が分かりません。 今朝読んだのですが、まだ試していません。一次元の配列にデータを集めたとすると、それをベクトルにして、さらに行列にする必要がある。なぜ1次元配列をすぐに行列に移せないのか? Aleksey Vyazmikin 2022.10.08 20:11 #16 理解できない: 1.行列を配列に移す方法 2.行列の特定の値を読み取り、それを行と列の指示とともに書き込む方法。 記事を何度も読み返しましたが、もしかしたら私の理解不足かもしれません。 Denis Kirichenko 2022.10.08 20:14 #17 Aleksey Vyazmikin #:ありがとう。プリントの /n がクラッシュの原因であることは知っていますが、":" の意味がわかりません。今朝読んだのですが、まだ試していません。一次元の配列にデータを集めたとすると、それをベクトルにして、さらに行列にする必要がある。なぜ1次元配列をすぐに行列に移せないのか? 開発者の方がよくご存知なのでしょうが...。また、「配列-ベクトル-行列」というチェーンをバイパスして、データをすぐに行列に集めることはできないのでしょうか?)) Aleksey Vyazmikin 2022.10.08 20:52 #18 Denis Kirichenko #:開発者の方がよくご存知かもしれませんが...。なぜ「配列-ベクトル-行列」のチェーンをバイパスして、データを行列に収集できないのですか?)) 今のところ、行列をセルで直接埋める方法と、行列からデータを読み取る方法がわかりません。 一般的に、私はbinファイルから配列にデータを読み込みます - それはサンプルです - 私は行列と同じようにそれを扱うことを望んでいました。 Документация по MQL5: Методы матриц и векторов www.mql5.com Методы матриц и векторов - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Rashid Umarov 2022.10.09 08:46 #19 Aleksey Vyazmikin #:今のところ、セルごとに行列を直接埋める方法と、行列から読み取る方法がわからない。 OpenCLの行列乗算の例を参照 Rashid Umarov 2022.10.09 08:48 #20 あるいは、MatrixSetValuesの記事を検索してほしい。 1234567 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ありますよ、記事を読んでください。
記事では多次元配列をコピーしていますが、必要なのは一次元配列です!
私はなぜあなたがただ助け、例を示すことができないのか理解できません - それは記事の議論は何のためにあるのか - 悲しい。
一般的に、私はベクトルを介してのみ可能であると判断しました - そこに配列を渡し、行列にそれをねじ込むために、しかし、今のところ私はそれを曲げる方法(ベクトルから、それを変換するかのように、指定された列数を持つ行列を作ることが可能であるか)のポイントにさえ到達していない、それが可能であるという事実ではないので、私はクラッシュを得た。
もちろんコードを添付する
アレクセイ、すべてうまくいったよ。これがあなたのスクリプトです:
ログ
アレクセイ、すべてうまくいったよ。これがあなたのスクリプトです:
ログ
ありがとう。はい、プリントの/nがクラッシュの原因であることは分かっていますが、": "の意味が分かりません。
今朝読んだのですが、まだ試していません。一次元の配列にデータを集めたとすると、それをベクトルにして、さらに行列にする必要がある。なぜ1次元配列をすぐに行列に移せないのか?
理解できない:
1.行列を配列に移す方法
2.行列の特定の値を読み取り、それを行と列の指示とともに書き込む方法。
記事を何度も読み返しましたが、もしかしたら私の理解不足かもしれません。
ありがとう。プリントの /n がクラッシュの原因であることは知っていますが、":" の意味がわかりません。
今朝読んだのですが、まだ試していません。一次元の配列にデータを集めたとすると、それをベクトルにして、さらに行列にする必要がある。なぜ1次元配列をすぐに行列に移せないのか?
開発者の方がよくご存知なのでしょうが...。また、「配列-ベクトル-行列」というチェーンをバイパスして、データをすぐに行列に集めることはできないのでしょうか?))
開発者の方がよくご存知かもしれませんが...。なぜ「配列-ベクトル-行列」のチェーンをバイパスして、データを行列に収集できないのですか?))
今のところ、行列をセルで直接埋める方法と、行列からデータを読み取る方法がわかりません。
一般的に、私はbinファイルから配列にデータを読み込みます - それはサンプルです - 私は行列と同じようにそれを扱うことを望んでいました。
今のところ、セルごとに行列を直接埋める方法と、行列から読み取る方法がわからない。
OpenCLの行列乗算の例を参照