
前回の記事では、Mai Languageの「Mai Language Trading Library」のテンプレートパラメータについて学びました。このテンプレートは、Mai Language戦略の作成時に付属しており、トランザクションで設定する必要があるいくつかの関数をカプセル化しています。この記事では、Inventor Quantitative Trading Platform での Mai 言語の使用について引き続き学習します。
Mai言語の戦略パラメータは、Inventor Quantitative Trading Platformの他の言語と同じです。戦略編集ページで設定します。たとえば、Mai言語バージョンを使用します。Dual Thrust戦略を例に挙げます。
戦略アドレス: https://www.fmz.com/strategy/128884。


ポリシー編集ページでは、ポリシーに設定されたパラメータをポリシー コードで直接使用できます。 Mai 言語のポリシー パラメータでは、通常、数値型のみが使用されます。ブール型、ドロップダウン ボックス、文字列などの他の型は一般的に使用されません。
例えば、上記の例ではNこのパラメータのデフォルト値は 4 です。ロボットの作成時にこのパラメータを変更しないと、ロボットの実行後に戦略の N の値は 4 になります。
Mai言語戦略レベル(Mai言語戦略パラメータ、Mai言語取引ライブラリテンプレートパラメータ)の内容はすでに理解しています。次に、Mai Languageの実際の取引とバックテストを見てみましょう。
バックテスト

バックテストの時間範囲(開始時間、終了時間)を選択した後、戦略の K ライン期間を設定します。Mai Language は、戦略内の複数の K ライン期間データもサポートします。ただし、ここで設定した K ライン期間はデフォルトの K ライン期間です。ここで日次 K ラインに設定した場合、戦略実行後に自動的に生成されるチャートは日次 K ラインになります。バックテストモードは「リアルレベル」と「シミュレーションレベル」に分かれています。詳細については、ドキュメントを参照してください:https://www.fmz.com/digest-topic/4009。次に、バックテストする市場または取引所を選択します。追加したら、バックテストを開始できます。初期のバックテストファンドの値など、他のパラメータを調整する必要がある場合は、特定のニーズに応じて設定できます。パラメータ上にマウスを置いたときにプロンプトが表示されます。

バックテストシミュレーションファンドの価値、バックテスト取引手数料率、バックテスト価格精度、取引数量精度、バックテストデータソースなど、市場や取引所に関連するパラメータは、バックテストページで変更しても有効になりません。以前に追加した市場と取引所を削除し、設定が完了したら再度追加します。
確定オファー
実際の設定ははるかに簡単です。作成されたロボットのホスト(つまり、ロボットが実行されるホスト)を指定するだけです。 K ライン期間と操作する交換オブジェクト (つまり、構成された交換アカウント オブジェクト) を設定します。

戦略が実行されている場合、バックテストにはバックテスト システムによって自動的に生成される追加の統計データがあることを除いて、実際の取引とバックテストの間に大きな違いはありません。

ステータスバー情報
ステータスバーの情報、表は主に「マーケット情報」と「ファンド情報」に分かれています。 市場情報主に、現在設定されているデフォルトの K ライン サイクルの開始時間、取引タイプ (契約コード)、ポジション量、ポジション価格などのデータを記録します。 Mai Language Trading Library テンプレート パラメータで設定されている「リアルタイム価格モデル」と「終値モデル」の市場更新は異なることに注意してください。ここで時間の更新に注目することで、戦略の動作と市場の更新を判断することができます。 (予備的な判断: プログラムが停止している、ログがハードディスクの容量を圧迫しているなど)
資金調達情報主にロボットの運用開始から現在の資金までの価値を記録します。
ステータス バーの下部には、次の例のように、戦略内の任意のデータも表示できます。UPTRACK, DOWNTRACK必要に応じて表示を設定します。ここでは、戦略コードでの割り当て方法について説明する必要があります。
次の記号は変数に値を割り当てるために使用されます(Mai言語APIドキュメントから抜粋)
シンボル:
コロンは割り当てを表し、グラフ (サブグラフ) に出力され、ステータス バー テーブルに表示されます。
シンボル:=
コロン:等号は代入を表しますが、グラフ(メイングラフ、サブグラフなど)には出力されず、ステータスバーテーブルにも表示されません。
シンボル^^
2 つの ^ 記号は代入を表し、変数に値を割り当ててグラフ (メイン グラフ) に出力し、ステータス バー テーブルに表示します。
シンボル..
2 つの . 記号は代入を表し、変数に値を割り当ててステータス バー テーブルに表示しますが、グラフ (メイン グラフ、サブ グラフなど) には出力されません。
これらのシンボルはすべて代入演算であることがわかりますが、違いは、変数がステータス バーに表示されるかどうか、および変数がメイン ダイアグラムに描画されるか、添付のダイアグラム (後述) に描画されるかにあります。
^^、:、..はい、ステータス バー テーブルの下部に変数値を表示できます。
ローソク足チャート 戦略バックテストおよび実際の取引ページで設定されたデフォルトの K ライン期間に従って、戦略は K ライン チャートを生成し、戦略の内容に基づいて K ライン チャートに変数値曲線を表示します。たとえば、次の例のグラフをご覧ください。

メイン画像:
簡単に言うと、メイン チャートは K ラインと同じ Y 軸を共有します。では、メイン チャートにデータを表示する必要があるのはいつでしょうか?
表示するデータ、指標線の値のサイズと基礎価格のサイズが類似している場合(つまり、Kラインバー上の価格値のサイズが類似している場合)、移動平均線などのメインチャートに表示できます。戦略によって計算された平均。価格の上限と下限のレール(UPTRACKそしてDOWNTRACK)。
サブ画像:
では、サブグラフに表示するのに適したデータとはどのようなものでしょうか?
描画する線(表示データ)がKラインバー上の価格値と大幅に異なる場合(Kライン上の価格よりもはるかに大きいか小さい場合)、サブチャートに表示することができます。このときメイン画像に表示されると、画像が圧縮され、観察するのに非常に不便になります。たとえば、MACD インジケーターを計算した後、チャートに MACD インジケーターを表示したいとします。
たとえば、この例の戦略に次の文を追加します。AA^^(O-C)*100000;

K ライン チャートは直接圧縮されたため、見つかりません。
もう 1 つの違いは、Mai Language Strategy チャートは、実際の取引中は HighCharts チャートであり、バックテスト中は tradingView チャートであることです。
実際の市場のチャート:

マイ言語戦略、取引シグナルがトリガーされたとき(BK,SK,BP,SP,BPK,SPK ) の場合、コード内のシグナル トリガーの場所 (行番号) とシグナルがトリガーされた回数を示すログが出力されます。

注文ログの価格と数量が記録された後、ログにはその時点の相手方の第一層価格も出力されます。例えば、ロングポジションを購入する場合、第一層アスク注文の価格と数量が表示されます。 。