データの共有

いよいよアプリ開発

EL勉強し始めて6ヶ月、主にレーダースクリーンのインジケータ作成をしてきたがいよいよアプリ開発へ
取り敢えずヘルプを見ながらソースの解析から始めようとしたが、
参考になるソースが...
ファイル - 開く(アプリ)で分かる通り、マネックスアルゴ、マルチチャート、マルチクォートの3つしかないw
中身はELで書かれているので何とか理解できると思うが、ステップ数が長くて把握するのがだるい(´д`;)あまりに長くそっと閉じた...
1度挫折を経て、nariさんのブログを見直しなんとか頑張れそうと立ち直る
٩( ᐛ )و nariさんのブログ消えちゃった(´д`;)
解説付きで何本かアプリ作成されてたのでとても参考になりました!
nariさんありがとうございます!
あとヘルプにあったサンプルも参考になりました!
参考元 !ex_DataGridViewSampleリンク
http://help.tradestation.com/09_05/Monex/jpn/tsdevhelp/Subsystems/elobject/example/!ex_datagridviewsample.eld
アプリを作るに当たってデータの共有について少し調べてみました

データ共有

どの共有も一時メモリ的な感じでトレステを起動中のみ可能
トレステを終了させるとクリアされてしまう

・ Dictionary クラス (コレクション) 名前空間: elsystem.collections

キー/値のペアのオブジェクト定義、使用する値を保存、共有を可能にする
異なる銘柄で値が共有できる
(1つの分析テクニック、ストラテジー、アプリ内に限る)
初期化:Create、追加:Add(key,value)、削除:Remove(key)、
確認:Contains(key)、リセット:Clear

・ Global Dictionary クラス (コレクション) 名前空間: elsystem.collections

Dictionaryに更に加えて異なる分析テクニック、ストラテジー、
アプリ間で共有可能、異なるウインドウでも可能
但し共有の仕方で初期化の設定方法が異なる
 同一ウインドウの場合、
  myGlobal = GlobalDictionary.create();
 異なるウインドウの場合、
  myGlobal = GlobalDictionary.create(true,  "share_name");
設定に応じて初期化も2種類、
  Create()、Create(share,name)
追加・変更・削除・消去に応じてイベントハンドラーが使用可能

・ GlobalValue クラス (コンポーネント) 名前空間: elsystem

変数名/値で定義、異なる分析テクニック、ストラテジー、アプリ間で共有可能、異なるウインドウでも可能
作成はツールボックスのコンポーネントから
Create:初期化、Load:オブジェクトをロード、
Type:オブジェクトのタイプを取得
読み書きには、値のタイプによってプロパティが必要
(DateValue、DoubleValue、IntegerValue、StringValue)
1つの名前につき1つの値、名前をキーに値をタイプ指定で保存共有な感じ、書込みは 名前.値のプロパティ、読込みは 名前.Load
 変更(Updated)に応じてイベントハンドラー使用可能
 オブジェクトをロードすれば普通の変数のように扱える
 例:GlobalValue1.DoubleValue = 123.45;
 例:MyPrice = GlobalValue1.DoubleValue;

・ 配列 Array (予約語) Arrays と同じ

使い方次第で異なる銘柄で値が共有するように使用する事もできる
(1つの分析テクニック、ストラテジー、アプリ内に限る)
10次元までの多次元配列を定義可能、配列名は最大20文字まで!
各インデックス番号にスペースを割り当てるため、必要以上に大きな配列の宣言は避ける
配列に関する予約語や関数は沢山あるので、ヘルプで「配列 and Reserved Word」や「配列 and Function」等で検索してみて下さい
 例:1次元配列 配列名[要素数] (初期値);
  Array: MyYuutaiArray[9999] (””); 銘柄コードに対応した優待内容を格納
 例:2次元配列 配列名[1次要素数,2次要素数] (初期値);
  Array: MyNumericArray[200, 5] (0); 200日分の日付、始値、高値、安値、終値を格納して、移動平均や最高値、最安値等を計算可能

サポートされると喜んでアイスを買っちゃいます!٩(๑❛ᴗ❛๑)۶