エラー、バグ、質問 - ページ 512 1...505506507508509510511512513514515516517518519...3185 新しいコメント Aleksey Lebedev 2011.09.13 18:44 #5111 Neofit:配列のサイズを 設定します。アレイサイズ Yedelkin 2011.09.13 18:45 #5112 Neofit: Mqlrate構造 体を要素とする配列で正しく動作させる方法を教えてください。 これこそ、私が知りたいことです。 MqlRates AdaptedRates[]; ArraySetAsSeries(AdaptedRates,true); AdaptedRates[300].open=1; デバッガは、「無効な配列アクセス」というエラーを出します。 この記録形式を使うと、配列の要素である構造体の要素しか読み取れないと 理解しています。 問題は、構造要素をどう正しく書くか です。全てに興味があるわけではありません。重要なのは、.open .high .low .closeの価格です。 私はこの質問はおそらく非常に些細なこと(私はプログラマではない)、事前に謝罪しますが、ヘルプで私は答えを見つけることができませんでした。何かありましたら、よろしくお願いします。 動的配列AdaptedRates[]を使用しています。私の記憶では、動的配列を扱う場合、そのサイズはArrayResize()関数を使用して設定する必要があります。しかし、これまでのところ、コンパイラは3行目のインデックス300について文句を言っています。 Neofit 2011.09.13 18:47 #5113 Swan: 配列のサイズを設定します。アレイサイズ 私が理解する限り、例えば MqlRates AdaptedRates[302]; のようなサイズを設定すると、インデックスのタイプをシリーズに設定することはできません。 Yedelkin 2011.09.13 18:49 #5114 Neofit: 私の理解では、例えばMqlRates AdaptedRates[302]; のようにサイズを定義すると、インデックスのタイプをシリーズに設定することができなくなります。 :)静的配列ではなく、動的配列のサイズをArrayResize() で設定します。 まあ、例えば:ArrayResize(AdaptedRates,302); など。 Neofit 2011.09.13 18:51 #5115 Yedelkin: 動的配列AdaptedRates[]を使用しています。私の記憶では、動的配列を扱う場合、ArrayResize()関数でサイズを設定する必要があります。そして今のところ、コンパイラは3行目で指定されたインデックス300でクラッシュしています。静的配列は時系列で表現できないため、配列の終端から始端までの配列要素へのアクセスを設定する ArraySetAsSeries() 関数は適用できない。時系列のような配列へのアクセスを提供したい場合は、動的配列オブジェクトを 使用します。 これはヘルプからの引用です。Swanさん、Yedelkinさん、こんなに早く対応していただいてありがとうございます。 Aleksey Lebedev 2011.09.13 18:52 #5116 Neofit: 私が理解する限り、例えば MqlRates AdaptedRates[302]; のようにサイズを定義すると、インデックスのタイプをシリーズに設定することができません。はいMqlRates AdaptedRates[];//これにより、配列は動的なままになります。ArrayResize(AdaptedRates,302);//そして正しいサイズを設定する。 Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных www.mql5.com Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных - Документация по MQL5 Neofit 2011.09.13 18:54 #5117 Yedelkin: :)静的な配列を 設定するのではなく、ArrayResize() を使って動的な配列を設定するのです。 まあ、ArrayResize(AdaptedRates,302); などのように。 人気のある説明ありがとうございます。私が理解する限り、動的配列のセルを参照する前に、必要な限界までArrayResize することが望ましいと思います、試してみます。 Olegs Kucerenko 2011.09.13 18:55 #5118 pusheax:ストラテジーテスターの 不具合。突然停止し、ローカルとリモートのエージェントがすべて終了したため、ハングアップしてしまいます。 また一から始めるのは勿体無いので、教えて頂けませんか? 定期的にやってます :-)また起動できなくなり、雲を無効にしてから再度雲を起動します。 さらに悪いことに、夜間に発生すると、起きるまで起動したままです :-) Yedelkin 2011.09.13 18:56 #5119 Neofit: 人気のある説明ありがとうございます。私の理解する限り、動的配列のセルを参照する前に、必要な限界までArrayResize することが望ましいと思われます、試してみます。 注インジケーターバッファーのみ、この作業は必要ありません。端末のエグゼクティブサブシステムが自ら処理する。 注2:ArrayResize()は、動的配列のサイズを変更する必要がある場合にのみ適用し、その要素にアクセスする前に 適用しないことが望ましい。動的配列の場合、一度サイズを指定すれば、あとは単純にその項目にアクセスするだけということもありえます。 Neofit 2011.09.13 19:05 #5120 Yedelkin: 注インジケーターバッファーのみ、この作業は必要ありません。端末のエグゼクティブサブシステムが自ら処理する。 注2:ArrayResize()は、動的配列のサイズを変更する必要がある場合にのみ適用し、その要素にアクセスする前に 適用しないことが望ましい。動的配列は一度サイズを決めれば、後はその要素にアクセスするだけということもあり得ます。 まあ、そう言うのは愚かなことで、実は動的配列を302まで展開済みなら、ArrayResizeなしで0から301までのどの要素にもアクセスできることは理解しているのですが。 1...505506507508509510511512513514515516517518519...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
Mqlrate構造 体を要素とする配列で正しく動作させる方法を教えてください。
これこそ、私が知りたいことです。
MqlRates AdaptedRates[];
ArraySetAsSeries(AdaptedRates,true);
AdaptedRates[300].open=1;
デバッガは、「無効な配列アクセス」というエラーを出します。
この記録形式を使うと、配列の要素である構造体の要素しか読み取れないと 理解しています。
問題は、構造要素をどう正しく書くか です。全てに興味があるわけではありません。重要なのは、.open .high .low .closeの価格です。
私はこの質問はおそらく非常に些細なこと(私はプログラマではない)、事前に謝罪しますが、ヘルプで私は答えを見つけることができませんでした。何かありましたら、よろしくお願いします。
配列のサイズを設定します。アレイサイズ
私の理解では、例えば
:)静的配列ではなく、動的配列のサイズをArrayResize() で設定します。
まあ、例えば:ArrayResize(AdaptedRates,302); など。
動的配列AdaptedRates[]を使用しています。私の記憶では、動的配列を扱う場合、ArrayResize()関数でサイズを設定する必要があります。そして今のところ、コンパイラは3行目で指定されたインデックス300でクラッシュしています。
これはヘルプからの引用です。
Swanさん、Yedelkinさん、こんなに早く対応していただいてありがとうございます。
私が理解する限り、例えば
はい
MqlRates AdaptedRates[];//これにより、配列は動的なままになります。
ArrayResize(AdaptedRates,302);//そして正しいサイズを設定する。
:)静的な配列を 設定するのではなく、ArrayResize() を使って動的な配列を設定するのです。
まあ、ArrayResize(AdaptedRates,302); などのように。
ストラテジーテスターの 不具合。
突然停止し、ローカルとリモートのエージェントがすべて終了したため、ハングアップしてしまいます。
また一から始めるのは勿体無いので、教えて頂けませんか?人気のある説明ありがとうございます。私の理解する限り、動的配列のセルを参照する前に、必要な限界までArrayResize することが望ましいと思われます、試してみます。
注インジケーターバッファーのみ、この作業は必要ありません。端末のエグゼクティブサブシステムが自ら処理する。
注2:ArrayResize()は、動的配列のサイズを変更する必要がある場合にのみ適用し、その要素にアクセスする前に 適用しないことが望ましい。動的配列の場合、一度サイズを指定すれば、あとは単純にその項目にアクセスするだけということもありえます。
注インジケーターバッファーのみ、この作業は必要ありません。端末のエグゼクティブサブシステムが自ら処理する。
注2:ArrayResize()は、動的配列のサイズを変更する必要がある場合にのみ適用し、その要素にアクセスする前に 適用しないことが望ましい。動的配列は一度サイズを決めれば、後はその要素にアクセスするだけということもあり得ます。