そういえばTradeStationで使える全ストラテジーの名称を取得する方法ってないのかしら?と思ってたんですが、「Optimization API」の英語マニュアルを調べている時にたまたま発見。AvailableStrategiesヘルパークラスというものが使えるようです。
といっても英語名しか取得できないみたいなのですが・・
以下、ドロップダウンリスト形式のコンボボックスに現在利用できる全ストラテジー名称を表示するコード。
(「Resource View」でフォーム&コンボボックスは作成済み)
using elsystem; using elsystem.windows.forms; method void AnalysisTechnique_Initialized( elsystem.Object sender, elsystem.InitializedEventArgs args ) vars: tsopt.AvailableStrategies strategies, int cnt; begin ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList; strategies = new tsopt.AvailableStrategies; For cnt = 0 to strategies.Count - 1 Begin ComboBox1.AddItem( strategies[cnt] ); End; Form1.Show(); end;
全ストラテジーが表示されるので、チャートへストラテジー挿入する時と同様、組み込みストラテジーも自作ストラテジーも一緒に表示されます。
自作ストラテジーの命名規則を決めておけば、For文内で判定して自作ストラテジーのみ表示とかもできますね。
しかし、ストラテジーなどの英語名を日本語名に変換できる関数とかありましたっけ?あればもっと分かりやすいんですが・・。