[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 131 1...124125126127128129130131132133134135136137138...537 新しいコメント sumaxer095 2011.02.20 18:49 #1301 Vinin: テーマの継続 前ページはこちらhttps://www.mql5.com/ru/forum/111497 MT4テスターの最適化結果や最適化グラフに何も表示されず、ただ空っぽの状態です。助けて Artyom Trishkin 2011.02.20 19:11 #1302 Sergey_Rogozin: 1次元配列ValueArr[] を埋めようとしています。正しいかどうかわからない。GetValue() 関数は、各ティックでint値を出力します。ValueArr[] を埋めるには? 私の試みは正しいのでしょうか?配列のサイズは、1目盛りごとに1つずつ増加させる必要があるのでしょうか?その場合、そのサイズは、利用可能なコンピュータのメモリによって制限されます。 関数 ArrayResize() を使って配列 ValueArr[] のサイズを大きくし、新しいデータを配列に追加します。もう一度言いますが、どこに追加するのですか?最初か最後か? もし最初に、以前に書き込んだデータを移動させないと、新しく書き込んだデータで上書きされてしまうからです。 最後になら、では。 最初は配列のサイズ=0とし、開始時に1だけ増やして(size++)、配列のサイズを変更 し(ArrayResize(ValueArr, size); )、GetValue()で得られたサイズ-1のインデックスのセル(ValueArr[])にデータを書き込む(ValueArr[size-1]=GetValue();)。 dhp 2011.02.20 19:31 #1303 artmedia70:配列のサイズを1目盛りごとに1つずつ大きくしたいですか?その場合、そのサイズは、利用可能なコンピュータのメモリによって制限されます。1目盛りごとに、関数 ArrayResize() を使って配列 ValueArr[] のサイズを大きくし、新しいデータを配列に追加する。もう一度言いますが、どこに追加するのですか?最初か最後か?もし最初に、以前に書き込んだデータを移動させないと、新しく書き込んだデータで上書きされてしまうからです。配列のサイズ=0とし、開始時に1だけ大きくして(size++)、配列のサイズを変更する ArrayResize(ValueArr, size); そして、GetValue()関数で得られたデータを、サイズ-1で始まる配列セルに追加する (ValueArr[size-1]).はい、GetValue()からのデータは、毎ティック、ValueArr[]配列に書き込まれます。 配列のサイズは刻々と大きくなっていきますが、一度に[10000]などと定義することも可能です。 配列の要素は 到着順に並べられる。つまり、最初に書き込まれた要素が「一般キュー」の1番目となる。 の場合、2番目の要素はキューの中で2番目になります。 私の理解が正しければ、このような感じです。 int size=0; int ValueArr[size]; //----------------- int start() { size++; ArrayResize(ValueArr, size); ValueArr[size-1] = GetValue(); return(); } //----------------- int GetValue() { ....... return(Val); } 正しくご理解いただけたでしょうか。 Roma 2011.02.20 19:40 #1304 Sergey_Rogozin: 配列の要素は到着順に並べられ、つまり最初に書き込まれたものが「一般キュー」に最初に入る。 なぜ時系列配列を使用しないのか dhp 2011.02.20 19:46 #1305 eddy: なぜ時系列配列にしないのか? タイムスリップ?チークの歴史の ようなものを記録するのに役立つことはないのでしょうか? Alexey Subbotin 2011.02.20 19:47 #1306 Sergey_Rogozin: 1次元配列ValueArr[] を埋めようとしています。正しいかどうかわからない。GetValue() 関数は、各ティックでint値を出力します。ValueArr[] を埋めるには? 私の試みは正しいのでしょうか? だから int ValueArr[size]; はできません。配列を宣言する とき、サイズとして定数を指定するか、何も指定しないか、その時点で配列は動的とみなされます。正しい方法はこうです。int ValueArr[]; int init() { ArrayResize(ValueArr,size); } Roma 2011.02.20 19:47 #1307 チーク - 無 削除済み 2011.02.20 19:48 #1308 アドバイスお願いしますMT4で、前の取引の結果を考慮して新しい取引を開くような機能はありますか?もしそうなら、どうすれば正しく指定できるのでしょうか? Igor Makanu 2011.02.20 19:53 #1309 sto_mat: アドバイスお願いしますMT4で、前の取引の結果を考慮して新しい取引を開くような機能はありますか?もしそうなら、どうすれば正しく指定できるのでしょうか? そのようなビルトイン関数はないので、自分で書く必要があります。ここに例を示しました:https://www.mql5.com/ru/forum/131277/page113 dhp 2011.02.20 19:54 #1310 alsu: これは できない配列を宣言する際、サイズに定数を指定するか、何も指定しない場合は動的配列とみなされます。 正しい方法はこうです。 それならそれでいいんじゃないでしょうか。 int size, ValueArr[]; //----------------- int init() { ArrayResize(ValueArr,size); } //----------------- int start() { ValueArr[size-1] = GetValue(); return(); } //----------------- int GetValue() { ....... return(Val); } これで良いのでしょうか? 1...124125126127128129130131132133134135136137138...537 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
テーマの継続
前ページはこちらhttps://www.mql5.com/ru/forum/111497
1次元配列ValueArr[] を埋めようとしています。
正しいかどうかわからない。
GetValue() 関数は、各ティックでint値を出力します。ValueArr[] を埋めるには?
私の試みは正しいのでしょうか?
配列のサイズは、1目盛りごとに1つずつ増加させる必要があるのでしょうか?その場合、そのサイズは、利用可能なコンピュータのメモリによって制限されます。
関数 ArrayResize() を使って配列 ValueArr[] のサイズを大きくし、新しいデータを配列に追加します。もう一度言いますが、どこに追加するのですか?最初か最後か?
もし最初に、以前に書き込んだデータを移動させないと、新しく書き込んだデータで上書きされてしまうからです。
最後になら、では。
最初は配列のサイズ=0とし、開始時に1だけ増やして(size++)、配列のサイズを変更 し(ArrayResize(ValueArr, size); )、GetValue()で得られたサイズ-1のインデックスのセル(ValueArr[])にデータを書き込む(ValueArr[size-1]=GetValue();)。
配列のサイズを1目盛りごとに1つずつ大きくしたいですか?その場合、そのサイズは、利用可能なコンピュータのメモリによって制限されます。
1目盛りごとに、関数 ArrayResize() を使って配列 ValueArr[] のサイズを大きくし、新しいデータを配列に追加する。もう一度言いますが、どこに追加するのですか?最初か最後か?
もし最初に、以前に書き込んだデータを移動させないと、新しく書き込んだデータで上書きされてしまうからです。
配列のサイズ=0とし、開始時に1だけ大きくして(size++)、配列のサイズを変更する ArrayResize(ValueArr, size); そして、GetValue()関数で得られたデータを、サイズ-1で始まる配列セルに追加する (ValueArr[size-1]).
はい、GetValue()からのデータは、毎ティック、ValueArr[]配列に書き込まれます。
配列のサイズは刻々と大きくなっていきますが、一度に[10000]などと定義することも可能です。
配列の要素は 到着順に並べられる。つまり、最初に書き込まれた要素が「一般キュー」の1番目となる。
の場合、2番目の要素はキューの中で2番目になります。
私の理解が正しければ、このような感じです。
正しくご理解いただけたでしょうか。
配列の要素は到着順に並べられ、つまり最初に書き込まれたものが「一般キュー」に最初に入る。
なぜ時系列配列にしないのか?
1次元配列ValueArr[] を埋めようとしています。
正しいかどうかわからない。
GetValue() 関数は、各ティックでint値を出力します。ValueArr[] を埋めるには?
私の試みは正しいのでしょうか?
int ValueArr[size];
はできません。配列を宣言する とき、サイズとして定数を指定するか、何も指定しないか、その時点で配列は動的とみなされます。
正しい方法はこうです。
int ValueArr[]; int init() { ArrayResize(ValueArr,size); }
アドバイスお願いしますMT4で、前の取引の結果を考慮して新しい取引を開くような機能はありますか?もしそうなら、どうすれば正しく指定できるのでしょうか?
アドバイスお願いしますMT4で、前の取引の結果を考慮して新しい取引を開くような機能はありますか?もしそうなら、どうすれば正しく指定できるのでしょうか?
そのようなビルトイン関数はないので、自分で書く必要があります。ここに例を示しました:https://www.mql5.com/ru/forum/131277/page113
これは
できない配列を宣言する際、サイズに定数を指定するか、何も指定しない場合は動的配列とみなされます。
正しい方法はこうです。
それならそれでいいんじゃないでしょうか。
これで良いのでしょうか?