cTrader 5.9アップデート
cTraderアップデート
記事だけ書いてpost忘れてました・・・
なんかcTraderが気づいたら5.9にアップデートされてました。
5.8どこいったん?
cTrader5.9の新機能
今回は普通に使ってる分には変化なさそうですね。 F1で更新履歴見ても表示されないですし。 主にalgo開発者向けのupdateでしょうか。
最近公式ページにちゃんと更新内容がでるようになったので、詳細はこちらを。
一覧
-
アルゴがシステムのクリップボードからテキストを読み書きできるようになりました。(ClipboardPermissionが必要)
-
新しいサーバーサイドAdvanced Protection APIが追加され、1回のトレード呼び出しで完全なストップロス/テイクプロフィットが設定できるようになりました。
-
TimeByValueメソッドがレンドライン、チャネル、アンドリューズ・ピッチフォークなどのチャート図形オブジェクトに追加されました。
-
IsVisibleプロパティがOutputAttributeとBarOutputAttributeに追加され、インジケーターが出力のデフォルトの表示/非表示を設定できるようになりました。
-
PythonのcBot/インジケーターがカスタムインジケーターを参照可能になりました。
-
algoのパラメータをUI上で設定できるようになりました
-
組み込みコードエディターでメインファイルだけでなく、アルゴプロジェクトの他のソースファイルも表示・編集できるようになりました。
-
Automate Build Resultパネルにコピーボタンが追加され、すべてのビルドエラーと警告を一括でクリップボードにコピーできるようになりました。
-
cBotのOnStop呼び出しタイミングが改善され、CLI/cTrader ConsoleがSIGTERMやSIGINTで終了された際にもOnStopが呼ばれるようになりました。
-
cTrader Console Docker公開イメージがarm64にも対応し、linux/amd64とlinux/arm64の両方をカバーするマルチアーキテクチャ対応となりました。
以下、気になったところだけ取り上げます
新しいサーバーサイドAdvanced Protection API
New server-side Advanced Protection API allows you to declare a complete stop-loss / take-profit protection plan on a single trade call using RelativeStopLossProtection, RelativeTakeProfitProtection / RelativeTakeProfitProtections and break-even rules. Partial take profits, a final take profit and break-even stop moves are then enforced by the server instead of your algo's polling loop.
エントリー関数ExecuteMarketOrder等にRelativeTakeProfitsを指定することで多段利確設定ができるようになりました。
以前のバージョンでも「高度なポジション保護」機能として画面からは設定する箇所があったのですが、あれはcTraderが起動していないと機能しないという少々残念な機能でした。
今回追加されたAdvanced Protection APIはcTraderが止まっていても サーバー側で処理されるようになった ので安心して使えます。
ただなぜか以前はできてたUIからの設定ができなくなっているようですね・・・まぁもともとUIからは使いにくかったですし、cBotで使えるようになったのは良いことだと思います。
多段利確だけであれば別に分割エントリーでも対して変わらないのですが、他にもBreakEvenの設定もできるようになってたりとちょこっと便利になってそうです。
algoのパラメータをUI上で設定できるように
New Algo Config UI allows you to edit the config.json algo metadata and schema (settings, parameters, outputs, clouds, levels and enums) through a structured editor with validation and localization instead of editing the file by hand.
こんな画面が追加され、UI上でパラメータ、ラインなどの設定ができるように なりました。
ビルドボタンの右側に「projectの設定」で開きます。
これはいいですね!今まではコード上で特定のAttributeを設定した変数を定義したり、class本体にattributeを付けなければならなかったりと、「知らなければ付けられない」状態でした。
UIで設定できるようになって誰でも直感的に各種属性が追加できるようになり、作りやすくなったと思います。
なお、ここで設定された値はconfig.jsonというファイルに反映され、ビルド時にパラメータとして組み込まれます。
csファイルからはパラメータ設定関連コードがなくなりすっきりしました。
コードで管理したい場合はconfig.jsonを直接編集しても構いません。
Attributeを用いた従来の方法も設定を変えればできるようですが、config.jsonとの併用はできません。
基本的にこれから作るalgoについてはconfig.jsonを使ったほうが良いでしょう。
組み込みコードエディターでメインファイルだけでなく、アルゴプロジェクトの他のソースファイルも表示・編集できるようになりました。
Code editor now supports showing and editing the other source files of an algo project, not just the main file.
これはむしろなぜ今までできなかったのか謎なのですが、やっとまともに使えるようになってきたというところでしょうか。
こんな感じでファイルの切り替えができるようになっています。
他
組み込みエディタ周りが少し便利になったり、cBotのOnStopがちゃんと呼び出されるように修正されてたりと、ちょこちょこと改善されていますね。
少しずつでも改善されていくのはありがたいです。