CQG バックテスティング

1

バックテストの手順
CQGでのバックテストの手順は大きく分けて5つのステップがあります。
1. Formula Builderを使用し、Trade Systemを作成します。売買の条件を設定します。

2. 作成したTrade Systemをチャートに適用します。
3. Optimizerを使用し、売買の条件のロジックにおいて、使用する変数がどの条件の場合に一番のプロフィットが出るか確認ができます。
4. 再度Formula builderを使用し、ロジックそのものの修正を行います。
5. また作成したTrade Systemのロジックを使用し、自動売買を行うことも可能です。

2

Formula Builder画面説明
Formulaのボタンをクリックし、Formula Builderを開きます。

A. Trade Systemのリスト

A
B

B. 取引の設定リスト（買 or 売）C. 取引設定C

3

A. Trade systemのリスト
1. [New]ボタンをクリックします。

2. 新規システム名を入力

1

3. システム名略称を入力

A

4. [OK]をクリックします。

22434B. 取引の設定リスト
1. [New]ボタンをクリックします。
1B

2. 新規 Trade 名を入力
3. [OK]をクリック

324

4. [Use As] コラムをクリックし、[Off, Long, Short]より選択。
Off

設定無効

Long買の設定

Short

売野設定

5

C. Entry（新規玉）の設定

C213

45

1. Order Typeの選択。
Market （成行）, Stop, Limit（指値）, S/L（ストップリミット）
より選択。
Order Typeの使い分け- Market
設定シグナルの発生時に発注を行うイベント対応型- Stop, Limit, S/L
想定した価格に応じて発注するプライス対応型

2. Allowの設定- 新規建玉を決済前に複数持つ場合  Multiple ~にチェック- 同じバーで新規と決済を行う場合  Entry ~にチェック
3. Signal
どのような状態時に発注を行うか。ex) MA(@,Sim,7) XABOVE MA(@,Sim,21)
日中足の場合、移動平均7日が21日をクロスし超えた場合

4. Price
発注価格ex) Close(@) バーの終値

5. Size
発注枚数ex) 7 7枚 or 7ドル （FXの場合）

6

C. Exit（決済玉）の設定

C

41

1. [New]ボタンをクリックします。

2. 新規 Exit 名を入力
3. [Exit Type]を選択

52
34. 各種設定
Use
Allow exit ~Allow > ~CustomSignalでExitのタイミングを設定

Moneymanagement

通常のストップロス。ひとつの注文に対しロスしてもいい最大の価格にストップ注文を入力

Break even

利益の期待できる値（Floor)を設定。
Money managementと異なり評価益がFloor値を超えた後、Entry価格にStop注文が入る。

Dollar risk trailing

トレイリングストップ。市場が益が出る方向に動いている間にはStop値は定められず、逆に動いたときに設定値（ドル）の幅でストップ注文。

Percent risk
trailing％は設けた額のどれくらいを失ってもいいかの値。FloorはBreakEvenと同じように設定。

Profit target

設定額の利益が出た後に決済。

Entry stop

バーの値を使用してストップ値を設定。次のバーの高値、安値でストップ。（もしくは指定数後のバー）使用のオン･オフ
同じバーで新規と決済可
１つのバーで一回以上の決済可

5. Signal, Price, Sizeの設定
Exit TypeをCustom以外にした場合、自動的に設定がされます。
7

Exit Type詳細
CustomSignalでExitのタイミングを設定。要Signalの設定

通常のストップロス。ストップ価格を設定。（ひとつの注文に対しロスしてもいい最大の価格にストップ

Money management 注文を入力）

Break even

利益の期待できる値（Floor)を設定。
Money managementと異なり評価益がFloor値を超えた後、Entry価格にStop注文が入る。
例えば、倍率が100の銘柄に10,000ドルで買１枚を入れFloorを80,000ドルとした場合、市場が上向き10,800ドルまで上がり80,000ドルの評価益が出ると、買った値段の10,000ドルにストップ注文が出る。
10,800ドルまで値が上がらない限り、ストップは出ない。

Dollar risk trailing

トレイリングストップ。市場が益が出る方向に動いている間にはStop値は定められず、逆に動いたときに設定値（ドル）の幅でストップ注文。
例えば、10,000ドルで買１枚を入れた場合、市場が上向き11,000ドルまで上がり倍率が100倍であったので100,000ドルの評価益が出ているが、その後価格が下落。ロスしても良い金額を20,000ドルと設定していた場合、10,800ドルにストップ注文が出る。

％は設けた額のどれくらいを失ってもいいかの値。FloorはBreakEvenと同じように設定。
例えば、倍率が100の銘柄に10,000ドルで買１枚を入れ、％を50％としFloorを80,000ドルとした場合、市Percent risk trailing 場が上向き11,500ドルまで上がり150,000ドルの評価益が出ると、その50％つまり75,000ドルまでロスが出てもいい10,750ドルにストップ注文が出る。10,800ドルまで値が上がらない限り、ストップは出ない。

Profit target

設定額の利益が出た後に決済。

Entry stop

バーの値を使用してストップ値を設定。次のバーの高値、安値でストップ。（もしくは指定数後のバー）
8

C

C. Costsの設定 & Trade System適用
1. ボックスより [fixed] or [per contract] を選択。
[fixed] 一回あたり[per contract] 一枚あたり

2
1

2. [Commission] に数値を入力

3. BC を繰り返し、Longの次はShortの設定。
3

4. Toolbar Buttonにチェック（ツールバーにTrade Systemのボタンが表示）
5. [Apply] [Close]459

Trade Systemの適用
1. ツールバーより追加した
Trade Systemをクリック

適用前

適用後

10チャート上のトレードシステム説明
買売ストップ

買ストップ
縦線を入れることにより 、その時間帯までの利益がわかる
売

折れ線グラフは未決
済玉を含めた損益

緑は益あり、赤は損

トレードシステム各情報
棒グラフは決済玉のみの損益
11トレードシステム各情報詳細
TotalNetProfit

トータルの損益。ネットプロフィットあり。

ClosedNetProfit

全取引のトータル損益。取引がない場合は０.

TotalTradeCount

約定回数

OpenPosition

未決済建玉

PercentLong

買いのパーセント。売買を繰り返すので通常は50パーセント

AverageDuration

バーにより測定。20の場合、Dailyであれば20日、1分であれば20分に一回の約定。

AverageProfit

平均の利益。272であれば商品がドルであれば272ドル。

AverageWin

勝の約定のみを見た場合の平均金額

MaximumWin

最大の勝の金額

AverageLoss

平均の負け金額

MaximumLoss

最大の負けの金額

MaxClosedDraw

未決済建玉を含まない最大のロス

MaxDrawAmount

未決済建玉を含む最大のロス

MaxDrawDuration

プラスに転じるまでの最大期間（バーの数）

MaxConsecWin

継続して勝ったバーの最大の数

CurConsecWins

現在の継続した勝ちのバー数

MaxConsecLosses

継続して負けたバーの最大の数

CurConsecLosses

現在の継続した負けのバー数

ProfitToMaxDraw

プロフィットから最大のロスへのRatio

ProfitLossRatio

勝ちと負けのRatio （一ドルに対してどれくらい益が出たか）

PercentWinners

勝っている約定の％RemoveToNewtral

利益を得る前に必要のない取引の数。例えば200回のトータル約定があった場合、25％のRemoveNeutralだとすると、50回の約定はいらなかった。

TimePercentage

どれだけ取引（リスクチェック等も含む）に時間を費やしたかの％

CurDrawDown

現在の負け分

12

Toolboxについて
Signal作成時、Toolboxを使用すると大変便利です。
各Barの値、Studyなどの値を使用することができます。
XABOVEボタン
左側の値が右側の値を超える
XBELOWボタン
左側の値が右側の値を下回る
GOINGUPボタン
値がひとつ前のバーに比べて大きくなっている
GOINGDNボタン
値がひとつ前のバーに比べて小さくなっている

TURNSUPボタン
値がその直前と直後のバーに比べて低くなっている
TURNSDNボタン 値がその直前と直後のバーに比べて高くなっている
NOTボタン
NOTの直後に続く式を否定する演算子

1

WHENボタン
時間指定
IF(,,) ボタン
仮定の条件を作成

参照 https://sites.google.com/site/cqgjapan/online-help/toolbox

13

パラメータの設定方法
パラメータを設定することにより、数値を固定値ではなく変数にすることができます。
1. [Parm]をクリック

1

2. [New]をクリック
3. 各情報を入力

2344. OKをクリック
65. Signalをハイライト
6. 変数にする項目を右クリック
7. 作成したパラメータを選択し 587

8. [OK]をクリック
14オプティマイザー対応 その１
1. スタディ部分を右クリックし[Optimize…]を選択2. Optimizerが起動

4. TSO Setupが起動
3. Specifyをクリック

15

オプティマイザー対応 その２
1. [New]のボタンをクリックし、新規Runの名前を入力し、[OK]をクリック。

12

2. [Trade System]と[Symbol]を選択。

3. パラメータ設定をした変数の設定。
-Use
設定のオン･オフ-Start Value(SV) 開始の数値-End Value(EV) 終わりの数値-Step SVからEVまでの増分の値

34例) SVが7のときStepが2とすると、数値は7, 9, 11, 13, 15…と2ずつ増える。
Number of Steps: パラメータ間の組み合わせ数例）
SVEV
Step
使用変数の数
Param１
Param2
Param31
1
3

7 * 8 * 7 = 392通り

789111787
放棄レベル

Statistics calculation：計算方法をper trade(1取引毎)かper contract or share(一枚毎）か選択
Optimize on：最大・最小の値を出すアイテム選択
Algorithm: Exhaustive(完全) or Genetic(簡易)GeneticはSettingにて詳細設定可5
4. チャート設定-Chart type チャートの種類の選択-Interval チャートの時間足-All Sessions セッションバー設定-Bar range バーの数もしくは時間設定-Thresholds その他時間設定

5. [Close]をクリック。

16

オプティマイザー対応 その3
1. ツールバーのStartボタンをクリック

2. 結果が表示

CA

A. パラメータMA1が26とMA2の42の組合せがプロフィットが多いことがわかります。
B. 各種表示設定-Sort By アイテム毎の昇順･降順設定

B-Max Best Results
最良結果の表示数-Display Chart with チャートと表示値
No update
更新ナシBest value
最良値Best for Refresh 最良値の場合は更新

C. 3Dでのヒートマップが表示が可能。
17

Auto Trade手順
1. スタディ部分を右クリックし[Autotrade]を選択

On
Total Position
Name
Account
Trading
Issue
PreferenceAction
Remember History
External Trade
Rej Stop to Mkt

オン･オフ切替
建玉数
名前使用アカウント
Trade System
銘柄
設定（時間足と再計算）
発注時のアクション（メール･音）
External Tradeの許可マニュアルで約定を作成（取引所には発注されません）
拒否されたストップを成行に変更

2. 下記設定をするとAutotradeがスタート

18