元記事:https://news.cqg.com/blogs/coding/2016/05/super-template-shortcut-building-your-trading-system
本記事では、CQG Integrated Clientにプリインストールされている取引システム「SuperTemplate」とその活用方法についてご案内します。この取引システムには、Autotrader&Backtestingで利用可能なほぼ全ての要素が含まれており、取引システムの編集及びパラメータ設定の基礎を学ぶことができます。取引システム構築から運用までの流れについては、こちらからご確認ください。
Super Templateは、Formula Builderの「Trade Systems」タブから確認できます。

当該取引システムのコピーを作成することで、偶発的な変更を防いだり、本取引システムを基にユーザーが独自に編集できます。「Copy」をクリックし、ダイアログに任意の名称を入力>「OK」で、コピーを作成します。

次に、本取引システムに使われているAMA(Adoptive Moving Average)を、MACDに書き換えます。MACDには、以下のように3種類のパラメータが存在し、これを新しく組み込む必要があります。

Formula Builder右上の「Parm」をクリックし、パラメータ設定画面を開きます。

上3つのパラメータ(ERPeriod、FastPeriod、SlowPeriod)における「Name」と「Default Value」を以下のように変更し、MACDで使いやすいようにします。 変更が完了したら、「OK」でダイアログを閉じます。他のパラメータは操作しないようにしてください。

次に、「Entry」と「Exit」の「Signal」タブにあるコードをすべて削除し、新しいコードに差し替えます。 今回の場合、買いの新規と売りの仕切注文のコードは以下になります。
MACD(@,12.000,26.000)[-1] XABOVE MACDA(@,12.000,26.000,9.000)[-1]

入力後、コードをハイライト>「Setup」をクリックしてパラメータのデフォルト値を先ほど作成したパラメータに差し替えます。

各パラメータの「Period」カラムを右クリック>対象のパラメータを選択>「OK」で設定します。

全てのパラメータを同様に設定します。

正しく設定が完了すると、このように表示されます。このコードをコピーして貼り付けても、上記で設定したパラメータ設定を適用できます。

同様の操作を、買いの仕切、売りの新規、仕切でも行います。 買い新規、売り仕切のコード;
MACD(@,MA1,MA2)[-1] XABOVE MACDA(@,MA1,MA2,Signal)[-1]
売り新規、買い仕切のコード; MACD(@,MA1,MA2)[-1] XBELOW MACDA(@,MA1,MA2,Signal)[-1]
仕切注文は、Exit Name「Real」のコードのみを変更し、他は操作しないでください。

取引システムをチャートに適用し、有用性を検証します。
チャートを右クリック>「Add Study」をクリックしてダイアログを開き、作成した取引システムを選択後、「Add」をクリックします。

追加後、まずは現時点の取引システムにおける有用性を検証してみます。
チャートを右クリック>「Modify All Study Parameters…」からパラメータ設定画面を開き、取引システム内の全てのパラメータからチェックを外します。

AverageProfit(全取引の平均利益)がマイナスになっており、この取引システムでは利益を生み出せません。

パラメータ画面で「MM」にチェックを入れ、有用性を検証します。
「MM」は「MMstop」で指定した丸代金の損失が発生した際、現在の取引を仕切るシグナルです。

統計の「MaximumLoss」(負けた全取引のうち、損失が最も大きい取引)が「MMstop」で指定した値と同じになり、損失が限定されましたが、未だ有用性は確認できません。

今度はパラメータ画面から「ATR」にチェックを入れ、有用性を検証します。
「ATR」は現在の建玉における約定平均価格から「ATRperiod」を基に計算されたATR(Average True Range)*「ATRfactor」を差し引いた価格へ逆指値追跡仕切注文を発注します。

「AverageProfit」が正の数に好転しました。このようにシンプルなストップロスを加えることは取引システムのパフォーマンスを向上させる要素になり得ます。

本取引システムで利用可能なパラメータは以下の通りです。チェックを入れることで各仕切注文が有効化されます。
EOD…取引中の銘柄において、各セッション終了時のバー生成開始時に建玉を決済します。
MM…「MMstop」で指定した丸代金の損失が発生した際、現在の建玉を決済します。
BE…「BEFloor」で指定した丸代金分の利益が発生した際、現在の建玉平均値に逆指値仕切注文を発注します。
DRT…現在の建玉が記録した最高利益と「DRTstop」で指定した丸代金の差額に逆指値追跡仕切注文を発注します。バーの生成時に逆指値価格は再計算され続けます。
PRT…「PRTfloor」で指定した丸代金の利益が発生した際、現在の建玉が記録した最高利益から(100-「PRTstop」)%を差し引いた価格へ逆指値追跡仕切注文を発注します。「PRTstop」は%単位で指定する必要があります。バーの生成時に逆指値価格は再計算され続けます。
PT…「PTtarget」で指定した丸代金の利益が発生した際、建玉を決済します。
ATR…現在の建玉における約定平均価格から「ATRperiod」を基に計算されたATR(Average True Range)*「ATRfactor」を差し引いた価格へ逆指値追跡仕切注文を発注します。
ES…買い建玉であれば現在の安値に、売り建玉であれば現在の高値に逆指値注文を発注します。この逆指値注文は次に新規バーが生成される時まで有効です。
Quantity…注文枚数を指定します。
FX…有効化すると、発注枚数が「Quantity」*100,000枚になります。FX銘柄を取引する際に活用できます。