Formula
Formula は、CQGNet の特徴の一つとなっている、マクロ機能です。
チャートウィンドウのローソク足や Study で、Select Condtions for Marking
... やMarkIt など使用するとチャートや Study を加工することができます。
Condition Alerts では、論理式を記述して複雑な Alert 条件を組み立てることもできます。
マクロを定義する
Define User
Formula
関数をパッドで入力する
Toolbox
任意のパラメータを式に適用する
ParmsとSetup
任意のタイムインターバルを式に適用する
Time
式について
Define User Formula
ツールバーの Formula を左クリックすると、Define User Formulas というウィンドウが開きます。
Specify Alert Condition ダイアログなどの Define Conditions...ボタンからも、このウィンドウにアクセス
することができます。
新しいマクロ(Condition)を作成するときには、New ボタンをクリックします。
新しいCondition の名前を入力して、OK をクリックしてください。
新しい名前は Available Conditions のリストの中で123...abc...順に並
んでいます。
素早くアクセスしたい場合、名前の頭に数字を1文字付加すると、CQG があらかじめ準備している Condition より前に並べることが
できます。
新しい Condition を作成すると、Formula for Condition のテキストボックスに正しい式(括弧のペアなどが矛盾していないなど)を入力するまでは、別の
Condition へのアクセスや Close ボタンを押してウィンドウを閉じることができません。
複雑な式を記述して、( )の矛盾関係に悩む場合は、( )の閉じ位置を確認できるツールなどで、あらかじめ式をチェックすることをお勧めします。
例えばシェアウェアの秀丸というテキストエディタは、( ) を Bold して対称関係を確認することができます。
また、Formula for Condition 内で、式を記述していくとオートコンプリート機能が入力の妨げになる場合がありますので、式の入力に自信がある場合は、別のテキストエディタで作成したほうが効率的になる場合があります。
Toolbox
Condition を作成する際、Toolbox ボタンをクリックすると、式の構成要素や関数、すでに出来ている
Condition などにアクセスすることが出来ます。
関数を選択して Insert ボタンを押すと、Formula for Condition 内のカーソル位置に関数が挿入されます。
上部の演算や論理式ボタンなどはクリックするとカーソル位置に挿入されます。
Special タブをクリックすると、CQG 特有の機能を組み込むことが出来ます。
詳しくは、 CQG サイトの User's Guide や CQG For Windows 日本語マニュアルを参照ください。
簡単なものは ほとんどIF( , , )の組み合わせで Condition を実現することが可能です。
(もちろん Special ボタンを有効に使えば、より容易に実現できる可能性があります。)
ParmsとSetup
Formula for Condition の中で、移動平均線などの Study を組み込むと、Period の値がどうしても変更できなくてイライラすることがあります。
これは各 Study のデフォルト値が採用されるからです。
このデフォルト値はエディットエリアでは変更することは出来ません。
代わりに Period 等の値をパラメータとして設定することが可能です。
パラメータの作成は Parms...ボタンで、式でのパラメータの設定は Setup...ボタンで行います。
Parms...ボタンをクリックして、一つの Condition の中で使用する全てのパラメータを定義します。
最初は何も無い状態なので New ボタンをクリックすると、Name セルに空白が 、そして Def
Value セルには 0 が入っています。
Name は英数字の連続(記号や空白は使えない)を指定します。
Def Value は、Condition Alerts などで個別に値を変更する前のデフォルト値になります。
Setup...ボタンで、Study などのパラメータを設定できますが、事前に式の設定したいStudy などを上図の
例のように MA(@,Sim,21) というようにマウスでドラッグしておきます。
Setup...ボタンをクリックすると、Parameters 設定画面が現われます。
移動平均線の場合であれば、Period のセルで右クリックします。
Period のセルと右クリックすると、その Study のデフォルト値か、パラメータを選ぶことが出来ますので、パラメータをクリックして、OKをクリックします。
Parameters 設定画面にパラメータが入力されました。
Formula for ConditionのStudy にパラメータが設定されました。
テキストエディタなどを使って、CQG 以外で作成したパラメータを設定しても、有効にはならず該当 Study のデフォルトに戻ってしまう
ため、使用するパラメータができあがっていることを確認して、改めて Setup...ボタンでパラメータを適用してください。
Tips
Condtion Alerts でパラメータを変更する場合は、Signal セルにマウスカーソルを合わせて右クリックし、Modify
Signal Parameters をクリックすると、該当パラメータを変更できるダイアログが現われます。
セルのパラメータを変更してOKをクリックすると変更することができます。
操作ミスかどうかは不明ですが、変更されていない場合があるため、変更されているかどうかを再確認したほうがよいで
しょう。
Time
Formula for Conditionの 中で、異なるタイムインターバルで、式を評価したいと考えることがあります。
例えば Condition
Alerts の Bar Interval は3分を指定しますが、移動平均線の計算には特定のタイムインターバル(例えば15分)を使いたいときがあります。
事前にタイムインターバルを設定したい Study などをマウスでドラッグして、Time...ボタンをクリックします。
タイムインターバルを設定したい場合には、Force Interval to をチェックして、リストボックスで変更したい値を選
び、OK ボタンをクリックします。
Offset は例えば1本前のローソク足を指定する場合などに使用します。
Close(@) を1本前のローソク足に、移動平均線に15分のタイムインターバルを設定した例です。
Close(@) のタイムインターバルは、Condition Alerts などで指定する Bar Interval に依存します。
尚、パラメータは必ず Setup... ボタンでの設定が必要ですが、タイムインターバルは自由に編集することが出来ますので、(
)など前後関係を取り違えなければ問題ありません。
またTime...ボタンはすでに設定してものに対してはチェックしていないので、もう一度設定するとおかしな設定になってしまいます。
式について
式の優先順位
数式 > 比較 > 論理演算子 のようですが、念のために ( ) で括ったほうが、検出条件がおかしいのでは
?などと悩む必要がなく、また予防策にもなります。
ただし、複雑な式を書き始めると ( )の対称 で悩むかもしれません。
その場合には、( )の対称をチェックできるツールを使用することをお勧めします。
C言語の文法チェックが可能なテキストエディタはほとんどできるようです。
オフセットについて
Intraday と Day を複合して使用する場合、ローソク足(Bar)の取りうる戻り値が異なるようです。
Day では、市場取引中は、すでに決まった Open(@) 以外は前日の値が採用され、市場が閉じた後に、 Close(@)、High(@)、Low(@) が確定します。
例えば Bar Interval を、3分としていた場合に、(High(@),D) は市場取引中は1本前のローソク足の高値を、市場取引後には現在のローソク足の高値を指します。
同様に(High(@)[-1],D) では、市場取引中は2本前、市場取引後は1本前のローソク足の高値を指します。
Intraday のローソク足、例えば (High(@),3) などはその時点の、最新のローソク足の値が使用されます。
IFについて
利用機会の多い、IFは次の組み合わせになります。
IF (評価する演算式 , 演算式の結果が真の時の式 , 演算式の結果が偽の時の式)
二番目、三番目のパラメータには、IF でネストすることもできますし、幾つかの式を and や or などの関連演算子で結ぶこともできます。
三番目の偽の条件は省略することができません。
この場合は、単純に演算式を使用するようにしてください。
一番目と二番目の式の
and で実現できます。
論理演算の結果は Condition Alerts の Signal Chart で確認することができます。
©2002
CQG, Inc. All rights reserved worldwide.
http://www.cqg.com