SpotWare社からcTrader4.6が公開されました
SpotWare社のcTraderが4.6にアップデートされました。各ブローカーでの採用は少し先だと思いますが、一足先にcTrader4.6の機能をご紹介します。
cTrader4.6へのアップデート直後はインジケーターが更新されないという大きなバグがあったようですが、現在のcTrader4.6.2では解消されています。
人によってアップデート通知時期が違うのかajinoriはバグのあるバージョンには気づきもしませんでした。。。
cTraderのバージョンが4.6.1になってしまっている方は今すぐcTrader4.6.2へのバージョンアップをお勧めします。
なお、最新版cTraderはSpotware社ホームページからダウンロード可能です。
cTrader4.6の新機能
マウスホイールの動作を切り替えられるようになりました
これまでマウスホイールの機能はチャートスクロール固定でしたが、設定->Chartからホイールの機能をZoomIn/Outに切り替えできるようになりました。
なお、Zoomに設定した際はCtrl+WheelでScroll機能が有効になります。
自分好みに設定しやすくなりましたね。欲を言うなら「機能なし」に設定できるようにしてもらえたらIndicatorから機能割り当てたりもできたので嬉しかったですけどね。
cBotやIndicatorでローカルストレージが使えるようになりました
待ってました!開発者向け変更ですが、これにより作れるインジケーターの幅が広がるの大きなアップデートなのでここに記載しておきます。
これまで、cBotやインジケーターが他のインジケーターに自然な形でデータを渡すことはできませんでした。
例えばインジケーターの場合、時間足を切り替えただけで毎回初期化されてしまうんです。ツール類を作るときに別時間足にデータが持ち込めないという点は致命的な弱点でした。
一応チャート上のオブジェクトを使ったり、権限取得してファイル作ればできるのですが、いずれもあまり積極的に使いたい方法ではないため、情報の受け渡しを諦めたインジケーターが多数あります。
cTrader4.6からは(余計な権限を取得しなくても) ローカルストレージに実行中のデータを保存して、時間足切り替え時はもちろん、別のcBotやインジケーターから利用ができるようになりました。
ずっと、cTraderでもMT4のグローバルターミナル変数と同じことができればいいのに・・・くらいに考えてたのですが、それよりも細かい制御ができそうな機能で、嬉しい限りです。
練行足やレンジ足でのバックテストができるようになりました
こちらも待ち望んでた方がいるのではないでしょうか。とうとう練行足、レンジ足でバックテストができるようになりました。練行足を使った戦略のcBot化がしやすくなります。
これは足の色が変わったらその方向に固定SL/TPでエントリーするだけのcBotでバックテストしてみた結果です。
ちゃんとバックテストできてますね。これはMT4ではできない芸当でしょうし、cTraderの一つの強みとなりそうです。
cBotやIndicatorの色パラメータが設定しやすくなりました
これも嬉しい変更ですね。cBotやインジケーターのパラメーターにColor型が使えるようになりました。
設定画面の見た目はちょっと残念ですが、バージョンアップでの改善に期待しましょう。
なにが嬉しいって、使う人が設定するときに実際の色を見て設定を変えられるようになったとこですよね。
今までは文字列で指定するしかなかったので、いちいち好みの色の名前探したりとか面倒だったと思います。
今回の変更で色パラメータはおなじみのカラーパレットから自由に好きな色を指定できるようになりました。
なお、このように指定できるようにするにはプログラム作成者側での対応が必要です。
各ブローカーのcTraderが4.6になる頃に当ブログで配布中のツールの色パラメータ部分もアップデートいたしますのでお待ち下さい。
cBotがエラーを起こした際も止まらずに動き続けるようになりました
これまではcBotが何らかのエラーを出した際にはcBotの動作が停止していました。
これがcBotがエラーを出しても停止せずに動き続けるようになったようです。「長い間運用してたつもりが、ずっと前にエラーで止まってんじゃん!」みたいな悲しいことがなくなりますね。
ただコアロジックに関わるような深刻なエラーだった場合はむしろ動き続けられたら困るような・・・cBot作成時にはこれまで以上に適切なエラー処理を心がけましょう。
ついでに開発者側の変更ですが、OnExceptionメソッドが追加され例外処理が書きやすくなりました。もちろん普通にtry-catchでもいいんですが、一つのメソッドに処理をまとめて書いておけるのは便利です。
cBot最適化時のパラメータが保存できるようになりました
cBot最適化時のパラメータセットの保存・読み込みができるようになりました。
こないだのパラメータセットで別シンボルでやってみるみたいなことがやりやすくなりそうです。
バックテスト時に過去の為替レートを参照できるようになりました
これはどの程度需要あるのかな・・・バックテストの損益計算に過去の為替レートを参照して計算できるようになったみたいです。
まぁバックテストは正確であるに越したことはないのですが、ロジック検証にはそこまで大きな影響はなさそうな気がしますね。
その他開発者用
- エントリーボリュームとSL設定値を元に推定損失額を算出するAmountRiskedメソッドが追加されました (→参考)
- 100USDをJPYに変換、みたいな処理が簡単にできるAPIが追加されました(→参考)
- cBot, IndicatorのインスタンスIDがプログラムから扱えるようになりました。(→InstanceID部分を参照)
MT4にできてcTraderにできないことがだいぶ減ってきた
ローカルストレージ機能追加により「MT4だったらできたのに・・・!」というフラストレーションがだいぶ減りました。
今回はMT4にできてcTraderにできないことを減らしつつも、cTrader独自の機能も強化されるアップデートだったと思います。
あとは個人的に気になってるのはcBotやインジケーターからアラートが設定できないことくらいかな。
これからのアップデートに期待してます!