学習ロジック - ページ 15 1...89101112131415 新しいコメント Candid 2010.09.04 06:40 #141 hrenfx:MQL4では、データそのものに触れることなく、データをソートする必要がある場合があります。MQL4にはポインターはなく、構造体もありません。 別の方法として、配列Positions[][2]を作成し、ゼロインデックスでソートされるパラメータをコピーし、最初のインデックスをPositionsに与える方法があります。そして、標準関数 AgraSort で配列をソートします。 AgraSortは効率的なソート アルゴリズムを使用し、さらにネイティブコードで動作することが利点です。 hrenfx 2010.09.04 08:10 #142 Candid: あるいは、配列Positions[][2]を作成し、ゼロインデックスでソートするパラメータをコピーして、最初のインデックスをPositionsに与えることもできます。次に、標準の ArguSort 関数を使って配列を並べ替えます。 前ページの私のスクリプトを、あなたの方法で変換していただけませんか?説明文がよくわからない。 Victor Nikolaev 2010.09.04 08:22 #143 hrenfx: 前ページの私のスクリプトを、あなたの方法で変換していただけませんか?説明文がよくわからない。 https://www.mql5.com/ru/users/candid、提案された方法がよかったです。少し複雑にするために使用します。もっとシンプルなものを使うことにします。任意の属性でソートすることができます。とても便利です。 Candid 2010.09.04 08:38 #144 hrenfx: 前ページの私のスクリプトを、あなたの方法で変換していただけませんか?説明文がよくわからない。 スクリプト全体をお見せすることはできませんが、関数のスケッチをお見せします。 void SortArrayINT( int& Array[], int& Positions[][]) { int i, Size = ArraySize(Array); ArrayResize(Positions, Size); for (i = 0; i < Size; i++) { Positions[i][0] = Array[i]; Positions[i][1] = i; } ArraySort(Positions); return; } ここで、Positions[0][1]には最小のArray要素の インデックス、Positions[1][1]には次に大きいArray 要素のインデックス、Positions[i][1]にはi番目の要素のインデックスが格納されています。 hrenfx 2010.09.04 08:59 #145 Candid:スクリプト全体を書くことはしませんが、関数のスケッチを提供します。アイデアを理解するには十分でしょう。MQL4で多次元 配列を扱う際の特殊性については知りませんでした。ありがとうございます、この方法は有効です。 void SortArrayINTCandid( int Array[], int& Positions[][] ) { int Size = ArraySize(Array); ArrayResize(Positions, Size); for (int i = 0; i < Size; i++) { Positions[i][0] = Array[i]; Positions[i][1] = i; } ArraySort(Positions); return; } void PrintInfo( string SortName, int Array[] ) { int PositionsCandid[][2]; SortArrayINTCandid(Array, PositionsCandid); Print("Sort by " + SortName); Print("SYMBOL PROFIT POS SL"); for (int i = 0; i < AMOUNT; i++) Print(Symbols[PositionsCandid[i][1]] + " " + Profit[PositionsCandid[i][1]] + " " + Pos[PositionsCandid[i][1]] + " " + SL[PositionsCandid[i][1]]); Print(""); return; } 1...89101112131415 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
MQL4では、データそのものに触れることなく、データをソートする必要がある場合があります。MQL4にはポインターはなく、構造体もありません。
別の方法として、配列Positions[][2]を作成し、ゼロインデックスでソートされるパラメータをコピーし、最初のインデックスをPositionsに与える方法があります。そして、標準関数 AgraSort で配列をソートします。
AgraSortは効率的なソート アルゴリズムを使用し、さらにネイティブコードで動作することが利点です。
あるいは、配列Positions[][2]を作成し、ゼロインデックスでソートするパラメータをコピーして、最初のインデックスをPositionsに与えることもできます。次に、標準の ArguSort 関数を使って配列を並べ替えます。
前ページの私のスクリプトを、あなたの方法で変換していただけませんか?説明文がよくわからない。
https://www.mql5.com/ru/users/candid、提案された方法がよかったです。少し複雑にするために使用します。もっとシンプルなものを使うことにします。任意の属性でソートすることができます。とても便利です。
前ページの私のスクリプトを、あなたの方法で変換していただけませんか?説明文がよくわからない。
スクリプト全体をお見せすることはできませんが、関数のスケッチをお見せします。
ここで、Positions[0][1]には最小のArray要素の インデックス、Positions[1][1]には次に大きいArray 要素のインデックス、Positions[i][1]にはi番目の要素のインデックスが格納されています。
スクリプト全体を書くことはしませんが、関数のスケッチを提供します。アイデアを理解するには十分でしょう。
MQL4で多次元 配列を扱う際の特殊性については知りませんでした。ありがとうございます、この方法は有効です。