スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

多次元配列のアクセスとその関数例

MT4でEAなどを作るときにMQL4ではC言語のような構造体が作れないので、注文状態を記憶しておくために多次元配列を使うことにしている。

多次元配列を使う際、しばしば、宣言、要素の位置、データのアクセスで混乱することがあるのでメモしている。

多次元配列の宣言と初期化前回の記事に書いた。
多次元配列を引数として、初期化時に一次元的に並べた要素の順番でデータを取り出してアクセスする関数はどのように記述したらよいだろうか?

void Comment3( int an3[][][] )
{
 int nRng0 = ArrayRange( an3, 0 );
 int nRng1 = ArrayRange( an3, 1 );
 int nRng2 = ArrayRange( an3, 2 );

 for ( int n0 = 0; n0 < nRng0; n0++ )
  for ( int n1 = 0; n1 < nRng1; n1++ )
   for ( int n2 = 0; n2 < nRng2; n2++ )
    string s = StringConcatenate( s, an3[n0][n1][n2], "," );

 Comment( s );
}

以上のようになった。

☆この関数例は、決まった要素数に限定しない一般的な3次元配列を引数に取り、内部の要素を順に取り出し、初期化時に記述する並びで各要素毎に','で区切って、配列全体の内容をコメントとして表示する。

・引数の宣言で、int an3[][][]とすることで一般的な三次元配列をとり、内容を読み込むだけで書き換えないことを 示す。

・ArrayRange()関数により、渡された多次元配列の各次元の要素数を取得。

・配列の表記で手前の要素を外側、後ろの要素を内側としてfor文を記述。

・StringConcatenate()関数は、数値データ等を変換しながら、引数の順に一つの文字列に結合したものを返す。64個の引数を取ることができ、'+'演算子による文字列結合よりメモリを節約しながら高速に処理できる。

・Comment()関数は引数で渡された文字列をチャートの左上に表示する。
スポンサーサイト

theme : システムトレード
genre : 株式・投資・マネー

comment

Secret

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

承認待ちコメント

このコメントは管理者の承認待ちです

☆当ブログとFX取引に関するご注意☆

もし、当ブログを閲覧、参考にしていただいた上で、FXまたはその他取引に関心を持たれた方は、以下の点にご注意して下さい。

・FX取引(外国為替証拠金取引)は元本や利益が保証された商品ではなく、市場環境の変化や相場の変動により損失が発生する場合があること。

・FXおよびその他取引をする場合は、各種のリスクを理解し、十分に検討し、かつ慎重に行う必要があること。

・当ブログで掲載、紹介している情報は、FXおよびその他取引、投資に関する勧誘、助言等ではないこと。

・当ブログで掲載、紹介している取引手法、ソース・プログラム等を用いた結果、いかなる損害が生じても当方は一切の責任を負わないこと。

投資、取引をされる場合は、必ずご自身の責任で行って下さい。
よろしくお願いいたします。
プロフィール

Dr.ヘパ


Author:Dr.ヘパ

カテゴリ&検索
最新記事
最新コメント
最新トラックバック
RSSリンクの表示
月別アーカイブ
カレンダー
09 | 2017/10 | 11
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 - - - -
つぶやき
★DailyImpact(有償版)★
リアル口座で運用できる有償版
販売開始しました!

ご購入、お申し込み等の詳細については、下記リンク先のブログ右上にショッピング・カート「ブーボーのトレーディングキット工房」へのリンクがありますので、お手数ですがそちらをご参照下さい。

ブーボーの
トレーディングキット

Ⅰ.経済指標トレード向けEA、DailyImpactは、経済指標発表による突発的な値動きを捉えることで、利益を得ることを目指したセミオートEAです。

Ⅱ.経済指標トレードは、「指標トレード」「News Trading(ニューストレード)」とも呼ばれ、最近注目されている手法です。

Ⅲ.経済指標発表によるトレードは、いつ大きく動く可能性があるかわかっているので有利です。

Ⅳ.一方、瞬時に大きな値動きが発生するので、手動での仕掛け、手仕舞いは難しいことが多いです。

Ⅴ.高速に計算・発注可能なEAであるDailyImpactにより、手動よりも素早く、同時に多くの通貨ペアで、しかもその場にいなくても経済指標トレードができます。
★DailyImpact(DL版)★
ダウンロード版
期間限定で試用できます!!

ダウンロード、使用方法の詳細は
以下のブログを参照して下さい。



DailyImpact(ダウンロード版):ブーボーのトレーディングキット

   ☆ブーボーの
トレーディングキット

↓↓↓アンケートにご協力お願いします。↓↓↓
ブログ・ランキング
リンク&ブロとも申請
アクセス・カウンタ
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。