初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 687 1...680681682683684685686687688689690691692693694...1503 新しいコメント ivanivan_11 2016.12.02 09:39 #6861 この構成がうまくいかない理由を知るにはどうしたらいいのでしょうか?void OnStart() {//--- double buf[]; ArrayInitialize(buf,0); for(int i=0; i<10; i++) { buf[i]= i; } }'**.mq5' (13,10)で範囲外の配列のエラーが報告されます。 文字列double buf[]; をdouble buf[10]; に置き換えると、配列の外側に出口がありません。 Artyom Trishkin 2016.12.02 09:43 #6862 ivanivan_11:この構造がなぜうまくいかないのか、教えてください。void OnStart() {//--- double buf[]; ArrayInitialize(buf,0); for(int i=0; i<10; i++) { buf[i]= i; } } reports an error array out of range in '**.mq5' (13,10) もし、文字列double buf[]; をdouble buf[10]; に置き換えると、配列の終了はない。どちらかの double buf[10]。あるいは double buf[];ただし、その場合は必然的にArrayResize(buf,10) となる。 ivanivan_11 2016.12.02 10:04 #6863 Artyom Trishkin:どちらかの double buf[10]。double buf[]のどちらか。ただし、ArrayResize(buf,10)が義務づけられる。ありがとうございます。もう1つ説明させてください。つまり、配列を初期 化して、ループの中でそれを埋めていくと、反復するたびにサイズが大きくなり、サイズを再定義しなければならないのでしょうか? これは、いくら要素を追加しても、自動的に行われると思っていたのですが、どうなのでしょうか?すぐに一定数の要素で埋めれば、この手続きは必要ないですね。void OnStart() {//--- double buf[]; ArrayInitialize(buf,0); int closed1=CopyClose("EURUSD",NULL,0,3,buf); } Artyom Trishkin 2016.12.02 10:15 #6864 ivanivan_11:ありがとうございます。もっとわかりやすく教えてください。つまり、配列を初期 化してループで埋めていくと、反復するたびにサイズが大きくなり、サイズを再定義しなければならないのでしょうか? それは、いくら要素を増やしても自動的に行われると思っていたのですが。で、すぐに一定数の要素で埋めれば、そんな手続きは必要ないんです。void OnStart() {//--- double buf[]; ArrayInitialize(buf,0); int closed1=CopyClose("EURUSD",NULL,0,3,buf); }CopyXXXX()関数は、渡された配列のサイズを自動的にオーバーライドします。配列を自分で埋める場合、それが動的なものであれば、そのサイズが適切であるかどうかはプログラマー次第です。配列を宣言するときに、その配列をが動的な配列の場合、そのサイズを再定義するのはあなた次第です。非動的: buff[5] - この場合、正しい値で初期化する必要があります。not dynamic: buff[]={10,20,30,40,50}; - この場合、宣言時の値で初期化されます。 ivanivan_11 2016.12.02 10:21 #6865 Artyom Trishkin:CopyXXXX()関数は、渡された配列のサイズを自動的にオーバーライドします。自分で配列を埋める場合、それが動的なものであれば、適切なサイズにするのはプログラマー次第です。配列を宣言するときに、その配列をが動的な配列の場合、そのサイズを再定義するのはあなた次第です。非動的: buff[5] - この場合、正しい値で初期化する必要があります。非動的: buff[]={10,20,30,40,50}; - この場合、宣言された値で初期化されます。 分かりやすい説明ありがとうございます Vasiliy Sokolov 2016.12.02 14:23 #6866 遺伝的最適化において、ラングラフの数字が何を意味するのか、誰が知っているのだろうか。例えば0.637や7.27のように、2つの数字があります。そして、正しいランの選び方。例えば、私はランナンバー5381に興味があります。どのように選ぶか? Roman Ivanov 2016.12.03 20:23 #6867 括弧の間の符号が何であるかを知っている人GHPR=(BalanceClose/BalanceOpen)^(1/N) Vladimir Karputov 2016.12.03 20:37 #6868 Roma Ivanov: 括弧の間の符号が何であるかを知っている人GHPR=(BalanceClose/BalanceOpen)^(1/N)ビット毎排他的論理和演算 Artyom Trishkin 2016.12.03 20:50 #6869 Vladimir Karputov:ビット演算は排他的論理和である。本当に、本当に?私はずっと(^)は指数関数 だと思っていました。 Artyom Trishkin 2016.12.03 20:59 #6870 Roma Ivanov: 括弧の間の符号が何であるかを知っている人GHPR=(BalanceClose/BalanceOpen)^(1/N) 学位換算。 1...680681682683684685686687688689690691692693694...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
この構成がうまくいかない理由を知るにはどうしたらいいのでしょうか?
{
//---
double buf[];
ArrayInitialize(buf,0);
for(int i=0; i<10; i++)
{
buf[i]= i;
}
}
文字列double buf[]; をdouble buf[10]; に置き換えると、配列の外側に出口がありません。
この構造がなぜうまくいかないのか、教えてください。
{
//---
double buf[];
ArrayInitialize(buf,0);
for(int i=0; i<10; i++)
{
buf[i]= i;
}
}
もし、文字列double buf[]; をdouble buf[10]; に置き換えると、配列の終了はない。
どちらかの double buf[10]。
あるいは double buf[];ただし、その場合は必然的にArrayResize(buf,10) となる。
どちらかの double buf[10]。
double buf[]のどちらか。ただし、ArrayResize(buf,10)が義務づけられる。
ありがとうございます。
もう1つ説明させてください。
つまり、配列を初期 化して、ループの中でそれを埋めていくと、反復するたびにサイズが大きくなり、サイズを再定義しなければならないのでしょうか? これは、いくら要素を追加しても、自動的に行われると思っていたのですが、どうなのでしょうか?
すぐに一定数の要素で埋めれば、この手続きは必要ないですね。
{
//---
double buf[];
ArrayInitialize(buf,0);
int closed1=CopyClose("EURUSD",NULL,0,3,buf);
}
ありがとうございます。
もっとわかりやすく教えてください。
つまり、配列を初期 化してループで埋めていくと、反復するたびにサイズが大きくなり、サイズを再定義しなければならないのでしょうか? それは、いくら要素を増やしても自動的に行われると思っていたのですが。
で、すぐに一定数の要素で埋めれば、そんな手続きは必要ないんです。
{
//---
double buf[];
ArrayInitialize(buf,0);
int closed1=CopyClose("EURUSD",NULL,0,3,buf);
}
CopyXXXX()関数は、渡された配列のサイズを自動的にオーバーライドします。
配列を自分で埋める場合、それが動的なものであれば、そのサイズが適切であるかどうかはプログラマー次第です。
配列を宣言するときに、その配列を
CopyXXXX()関数は、渡された配列のサイズを自動的にオーバーライドします。
自分で配列を埋める場合、それが動的なものであれば、適切なサイズにするのはプログラマー次第です。
配列を宣言するときに、その配列を
括弧の間の符号が何であるかを知っている人GHPR=(BalanceClose/BalanceOpen)^(1/N)
ビット演算は排他的論理和である。
本当に、本当に?
私はずっと(^)は指数関数 だと思っていました。
括弧の間の符号が何であるかを知っている人GHPR=(BalanceClose/BalanceOpen)^(1/N)