[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 311 1...304305306307308309310311312313314315316317318...631 新しいコメント pavelrev 2012.08.08 17:18 #3101 drknn: 1.変数Candlesはどこにも使われていない。 2.ライン が正しく書かれていない。それはループの中にある。ループの各反復で、新しい変数Clsを作成する。そして、そこには必要ないのです。を書くだけです。 1.指摘し忘れましたが、インジケーター作業はまだ完了していません。しかし、いずれにせよ、この特定の機能の動作に何ら影響を与えるものではありません。 2.最初はそんな感じでしたね。しかし、エラーが出るようになったので、配列から配列へのデータの受け渡しに何らかの問題があるのではないかと考えました。 pavelrev 2012.08.08 17:19 #3102 drknn: というセリフを試してみてください。 に置き換える。 役に立たなかった。エラーは相変わらずです。 pavelrev 2012.08.08 17:24 #3103 drknn: もうひとつあります。配列次元の1つに4セル次元を宣言した場合、Buffer_OHLC[4][]を呼び出すことはできません - ポイントは、番号が1ではなく、0から始まるということです。つまり、呼べる最大値はBuffer_OHLC[3][]; 。 ゼロセルは空のままでも良い。同じような例が教科書に書かれていた。まあ、一般的には、配列のサイズを変えても、エラーは残ります。 PS インジケータは、他のツールからデータを取得し、現在のツールに適用する必要があります。もしかしたら、この課題を解決するときに、私は根本的に間違ったことをやっているのではないか? Алексей Тарабанов 2012.08.08 17:59 #3104 silhouette: ヌルセルも空のままでよい。同じような例が教科書に書かれていた。まあ、一般的には、配列のサイズを変更しても、エラーは続くのですが。 PS インジケータは、他のツールからデータを取得し、現在のツールに適用する必要があります。もしかしたら、この問題を解決するときに、私は根本的に間違ったことをしているのでしょうか? 単に2次元配列で正しく動作していないだけです Алексей Тарабанов 2012.08.08 18:01 #3105 1.最初のインデックスと2番目のインデックスを入れ替える 2.ArrayResizeを使用 する Владимир Тезис 2012.08.08 18:18 #3106 silhouette: ゼロセルは空のままでも良い。同じような例が教科書に書かれていた。まあ、一般的には、配列のサイズを変えても、エラーは残ります。PS インジケータは、他のツールからデータを取得し、現在のツールに適用する必要があります。もしかしたら、この課題を解決するときに、私は原理的に何か間違っているのでしょうか? Buffer_OHLC[4][]配列を宣言 していますね。配列の存在しないセル、つまり Buffer_OHLC[4][i] を指定しています。そこにある最大のものはBuffer_OHLC[3][i]である。 説明しますと、配列の2次元目に4つのセルを宣言しました(例えば、無限の列数を持つあるテーブルの4行とします)。番号は0から始まるので、アクセスできる最初の行はBuffer_OHLC[0][]、2番目はBuffer_OHLC[1][]、3番目はBuffer_OHLC[2][]、そして4番目はBuffer_OHLC[3][]です。Buffer_OHLC[4][]という行が、宣言した配列に存在しない! Алексей Тарабанов 2012.08.08 18:41 #3107 また、i>0 のとき、[3,i] は存在しない。) pavelrev 2012.08.09 06:16 #3108 ブレーキは気にしないでください、多次元配列を扱うのは初めてです :) drknnさん、 ありがとうございますコメント了解です tara:1.最初のインデックスと2番目のインデックスを入れ替える2. ArrayResizeを使用する ありがとうございました。結果が出ました。しかし、ArrayResize関数と 配列の1次元目のサイズについても明らかにしたいと思います。 int counted_bars=IndicatorCounted(); int limit=Bars-counted_bars-1; if (limit>1) limit=Bars-1; ArrayResize(Buffer_OHLC,limit-1); for(int i=limit; i>=0; i--) { Buffer_OHLC[i][0]=iOpen (Smb,Period(),i); Buffer_OHLC[i][1]=iHigh (Smb,Period(),i); Buffer_OHLC[i][2]=iLow (Smb,Period(),i); Buffer_OHLC[i][3]=iClose(Smb,Period(),i); if(Line==true) { Buffer_ind[i]=Buffer_OHLC[i][3]; } } return(0); limit-1を使用した場合、グラフは表示されますが、4051 "Invalid value of function parameter "というエラーがポップアップ表示されます。 GarKain 2012.08.09 06:43 #3109 どなたか、バーの任意の時間に注文を出し、次のバーで次の注文を出すだけの方法を教えてください。 Владимир Тезис 2012.08.09 06:44 #3110 silhouette:ブレーキは気にしないでください、多次元配列を扱うのは初めてです :) 多次元配列は別物だと思った方が方向性が定まりやすい。すなわち、アレイの本質を捉えたモデルが見つかれば、そのモデルは目の前に置いておきやすくなるのです。 1次元の配列は、線(0から始まる座標線)上のオブジェクトです。このような配列の例としては、ショップの行列が挙げられる。列の先頭は、今買っている人のすぐ後ろに立っている人です。買っている人は、列の先頭とは呼べない--買っているのだから、ゼロなのである。一次元配列のゼロセル内にいる。 2次元配列は平面(座標平面)上のオブジェクトである。例えば、講堂がそうです。こんな列、こんな場所。このモデルに行の0と席の0を加えれば、2次元配列の厳密なモデルができあがります。 3次元配列は、空間(座標空間)上のオブジェクトであり、オブジェクトの座標は3つの値で与えられます。立方体で、面を持つ。モデルとしては、エントランス番号0、フロア番号0、フラット番号0(中略)の住宅を想定しています。ただし、各エントランスのフラット番号は0から始まるものとする。 4次元配列は、1次元配列と似ています。座標線であり、そのすべての点は3次元配列である。モデルはストリートです。座標配列は、家屋番号、玄関番号、階数、フラット番号の値で指定されます。 そして、街路から地区へ、地区から都市へ、地区から都市へ、都市から国へ、国から惑星へ...と多次元化されていくのです。 1...304305306307308309310311312313314315316317318...631 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
1.変数Candlesはどこにも使われていない。
2.ライン
が正しく書かれていない。それはループの中にある。ループの各反復で、新しい変数Clsを作成する。そして、そこには必要ないのです。を書くだけです。
1.指摘し忘れましたが、インジケーター作業はまだ完了していません。しかし、いずれにせよ、この特定の機能の動作に何ら影響を与えるものではありません。
2.最初はそんな感じでしたね。しかし、エラーが出るようになったので、配列から配列へのデータの受け渡しに何らかの問題があるのではないかと考えました。
というセリフを試してみてください。
に置き換える。
役に立たなかった。エラーは相変わらずです。
もうひとつあります。配列次元の1つに4セル次元を宣言した場合、Buffer_OHLC[4][]を呼び出すことはできません - ポイントは、番号が1ではなく、0から始まるということです。つまり、呼べる最大値はBuffer_OHLC[3][]; 。
ゼロセルは空のままでも良い。同じような例が教科書に書かれていた。まあ、一般的には、配列のサイズを変えても、エラーは残ります。
PS インジケータは、他のツールからデータを取得し、現在のツールに適用する必要があります。もしかしたら、この課題を解決するときに、私は根本的に間違ったことをやっているのではないか?
ヌルセルも空のままでよい。同じような例が教科書に書かれていた。まあ、一般的には、配列のサイズを変更しても、エラーは続くのですが。
PS インジケータは、他のツールからデータを取得し、現在のツールに適用する必要があります。もしかしたら、この問題を解決するときに、私は根本的に間違ったことをしているのでしょうか?
単に2次元配列で正しく動作していないだけです
1.最初のインデックスと2番目のインデックスを入れ替える
2.ArrayResizeを使用 する
ゼロセルは空のままでも良い。同じような例が教科書に書かれていた。まあ、一般的には、配列のサイズを変えても、エラーは残ります。
PS インジケータは、他のツールからデータを取得し、現在のツールに適用する必要があります。もしかしたら、この課題を解決するときに、私は原理的に何か間違っているのでしょうか?
Buffer_OHLC[4][]配列を宣言 していますね。配列の存在しないセル、つまり Buffer_OHLC[4][i] を指定しています。そこにある最大のものはBuffer_OHLC[3][i]である。
説明しますと、配列の2次元目に4つのセルを宣言しました(例えば、無限の列数を持つあるテーブルの4行とします)。番号は0から始まるので、アクセスできる最初の行はBuffer_OHLC[0][]、2番目はBuffer_OHLC[1][]、3番目はBuffer_OHLC[2][]、そして4番目はBuffer_OHLC[3][]です。Buffer_OHLC[4][]という行が、宣言した配列に存在しない!
ブレーキは気にしないでください、多次元配列を扱うのは初めてです :)
drknnさん、 ありがとうございますコメント了解です
1.最初のインデックスと2番目のインデックスを入れ替える
2. ArrayResizeを使用する
ありがとうございました。結果が出ました。しかし、ArrayResize関数と 配列の1次元目のサイズについても明らかにしたいと思います。
limit-1を使用した場合、グラフは表示されますが、4051 "Invalid value of function parameter "というエラーがポップアップ表示されます。
ブレーキは気にしないでください、多次元配列を扱うのは初めてです :)
多次元配列は別物だと思った方が方向性が定まりやすい。すなわち、アレイの本質を捉えたモデルが見つかれば、そのモデルは目の前に置いておきやすくなるのです。
1次元の配列は、線(0から始まる座標線)上のオブジェクトです。このような配列の例としては、ショップの行列が挙げられる。列の先頭は、今買っている人のすぐ後ろに立っている人です。買っている人は、列の先頭とは呼べない--買っているのだから、ゼロなのである。一次元配列のゼロセル内にいる。
2次元配列は平面(座標平面)上のオブジェクトである。例えば、講堂がそうです。こんな列、こんな場所。このモデルに行の0と席の0を加えれば、2次元配列の厳密なモデルができあがります。
3次元配列は、空間(座標空間)上のオブジェクトであり、オブジェクトの座標は3つの値で与えられます。立方体で、面を持つ。モデルとしては、エントランス番号0、フロア番号0、フラット番号0(中略)の住宅を想定しています。ただし、各エントランスのフラット番号は0から始まるものとする。
4次元配列は、1次元配列と似ています。座標線であり、そのすべての点は3次元配列である。モデルはストリートです。座標配列は、家屋番号、玄関番号、階数、フラット番号の値で指定されます。
そして、街路から地区へ、地区から都市へ、地区から都市へ、都市から国へ、国から惑星へ...と多次元化されていくのです。