MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1426 1...141914201421142214231424142514261427142814291430143114321433...1953 新しいコメント ANDREY 2021.03.20 17:17 #14251 Aleksei Stepanenko: 両方の行の値をソートするのか、それとも最初の行だけをソートするのか? 最初の1枚だけです。コードにエラーがあります。 申し訳ありません...コードの削除の仕方がわからない。 つまり、ブロック2ではLoY[S2][0]=Bidではなく、LoY[0][52]=Bidが必要 だと言うことです。 Aleksei Stepanenko 2021.03.20 17:19 #14252 行と列を一度に入れ替えることができないのですが? double LoY[31][2]; Aleksei Stepanenko 2021.03.20 17:27 #14253 正しい順番を一度に行うと、値0.5555で埋めたいセルの番号を挙げることができますか? ANDREY 2021.03.20 17:28 #14254 Aleksei Stepanenko:行と列を一度に入れ替えることができないのですが? その場合、ArrayFill(LoY,0,10,0.5555);は機能しません。しかし、値を変更する配列の 要素は、順番に必要である。しかし、LoY[31][2]、値を変えたい配列の要素は1を通過します。この場合、まず31行分の配列を1行に「まとめる」ことになります。 ANDREY 2021.03.20 17:30 #14255 Aleksei Stepanenko:正しい順序で行うのであれば、0.5555で埋めたいセルの番号を教えてください。 最初の行には、セル1~10が含まれています。でも、0.5555で埋めたら、1行目全部をソートしないといけない...。は、昇順としましょう。ArrayFill(LoY,0,10,0.5555) の代わりに ArrayFill(LoY,0,10,0.5555) では、私には合いませんね。 コードの誤りを修正しました Aleksei Stepanenko 2021.03.20 17:43 #14256 これがそのスクリプトです。 void OnStart() { int arr[31,2]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30, 31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61}; //до заполнения string str=""; for(int i=0; i<31; i++) for(int j=0; j<2; j++) str+=(string)arr[i,j]+", "; printf(str); //после заполнения str=""; ArrayFill(arr, 0, 10, 555); for(int i=0; i<31; i++) for(int j=0; j<2; j++) str+=(string)arr[i,j]+", "; printf(str); } の結果です。 2021.03.20 19:42:26.602 primer AUDUSD,H1: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 2021.03.20 19:42:26.602 primer AUDUSD,H1: 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, なのか、それとも違うのか? ANDREY 2021.03.20 17:50 #14257 Aleksei Stepanenko:これがそのスクリプトです。の結果です。そうなのか、そうでないのか? ありがとうございました。これは私に必要なもののように見えます。しかし、このコードをスクリプトとしてではなく、私のコードの中に入れていただけるとありがたいのですが。そうすれば、新しい情報をより早く理解し、吸収することができますから。ただ、配列の中に整数値ではなく、価格値を入れています。 また、お世話になります。 Aleksei Stepanenko 2021.03.20 17:51 #14258 の代わりに、別の方法で記入する必要があります。 ArrayFill()使い道for(int i=0; i<10; i++) arr[i,0]=555; ANDREY 2021.03.20 17:54 #14259 Aleksei Stepanenko: もし、別の方法で記入する必要がある場合は、代わりに 使い道 オッケーです。今日は、自分にとって新しい情報を吸収していきたいと思います。そして、その結果は明日お知らせします。 いつもありがとうございます。 Aleksei Stepanenko 2021.03.20 17:56 #14260 ANDREY:のコードをスクリプトとしてではなく、私のコードに貼り付けてください。 私は何も書いていません、あなたのコードを繰り返しただけです。 視覚的に数字が正しく 配置されていない(31行ではなく2行 になっている)ので、それが必要だと思ったのでしょう。 もっとも、ArrayFillの 代わりに0.5555をループに代入する必要があったかもしれません。試してみてください。 double LoY[31][2],LoU,LoU1; int S,S1,S2; void OnTick() { //*************************************************** БЛОК 1 if (Minute()==20&&Minute()!=S1) { for(int i=0; i<10; i++) LoY[i,0]=0.555; S1=Minute(); } //*************************************************** БЛОК 2 if (Minute()!=S) { LoY[S2][0]=Bid; ArraySort(LoY,WHOLE_ARRAY,0,MODE_ASCEND); Print("----LoY[1][0]-- В --- [0] ", LoY[0][0]," [1] ", LoY[1][0]," [2] ", LoY[2][0]," [3] ", LoY[3][0]," [4] ", LoY[4][0]," [26] ", LoY[26][0]," [27] ", LoY[27][0]," [28] ", LoY[28][0]," [30] ", LoY[30][0]," [60] ", LoY[60][0]); S2++; if (S2==62) { S2=0; } S=Minute(); } } 1...141914201421142214231424142514261427142814291430143114321433...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
両方の行の値をソートするのか、それとも最初の行だけをソートするのか?
最初の1枚だけです。コードにエラーがあります。
申し訳ありません...コードの削除の仕方がわからない。 つまり、ブロック2ではLoY[S2][0]=Bidではなく、LoY[0][52]=Bidが必要 だと言うことです。
行と列を一度に入れ替えることができないのですが?
正しい順番を一度に行うと、値0.5555で埋めたいセルの番号を挙げることができますか?
行と列を一度に入れ替えることができないのですが?
その場合、ArrayFill(LoY,0,10,0.5555);は機能しません。しかし、値を変更する配列の 要素は、順番に必要である。しかし、LoY[31][2]
、値を変えたい配列の要素は1を通過します。この場合、まず31行分の配列を1行に「まとめる」ことになります。
正しい順序で行うのであれば、0.5555で埋めたいセルの番号を教えてください。
最初の行には、セル1~10が含まれています。でも、0.5555で埋めたら、1行目全部をソートしないといけない...。は、昇順としましょう。ArrayFill(LoY,0,10,0.5555) の代わりに ArrayFill(LoY,0,10,0.5555) では、私には合いませんね。
コードの誤りを修正しました
これがそのスクリプトです。
の結果です。
なのか、それとも違うのか?
これがそのスクリプトです。
の結果です。
そうなのか、そうでないのか?
ありがとうございました。これは私に必要なもののように見えます。しかし、このコードをスクリプトとしてではなく、私のコードの中に入れていただけるとありがたいのですが。そうすれば、新しい情報をより早く理解し、吸収することができますから。ただ、配列の中に整数値ではなく、価格値を入れています。
また、お世話になります。
ArrayFill()
使い道
もし、別の方法で記入する必要がある場合は、代わりに
使い道
オッケーです。今日は、自分にとって新しい情報を吸収していきたいと思います。そして、その結果は明日お知らせします。
いつもありがとうございます。
のコードをスクリプトとしてではなく、私のコードに貼り付けてください。
私は何も書いていません、あなたのコードを繰り返しただけです。
視覚的に数字が正しく 配置されていない(31行ではなく2行 になっている)ので、それが必要だと思ったのでしょう。
もっとも、ArrayFillの 代わりに0.5555をループに代入する必要があったかもしれません。試してみてください。