自らの手で確立したFXの取引ロジックをPythonでスクリプトとして起こし、MT5のAPIと接続することによって自動取引を可能にしたPythonプログラムです。1
Varlionはパラメーター設定がパフォーマンスに直結するため、取引ロジックとソースコードを知られても問題ないと判断した上で、Varlionの研究に没頭した成果をポートフォリオとして残すため公開するに至りました。
今現在実際の運用で使用している殴り書きのソースをリファクタリングし、このリポジトリーに随時プッシュしていきます。(リファクタリング完了後このコメントは削除します)
とある通貨同士の通貨強弱が一定値以上乖離した場合、当該通貨の通貨ペアを逆張りでエントリーします。
通貨強弱とは、各通貨ペアの当日始値と現在価格の対数変化率を計算し、その値を、当該通貨が
基軸通貨
なら+(プラス)、決済通貨
なら-(マイナス)した合計を言います。参考資料1 参考資料2
Varlionでは主要8通貨・計28通貨ペア分の通貨強弱を扱っています。
エントリーには、deviation.json
に設定されている各通貨分のエントリー基準乖離値(以下: 基準値)が使用されます。
例えば、USD: 30, JPY: 30, EUR: 20
という設定の場合、ドルストレート・クロス円の通貨ペアはそれぞれの通貨強弱が30
以上乖離しているとエントリーが行われます。
一例として、USDが15
、JPYが-15
の場合USDJPYのショートエントリーが行われるということです。
ではEURUSDの場合はどうでしょうか。
Varlionは基準値が大きい方を優先しますので、USDが10
、EURが-20
というようなケースの場合にEURUSDのロングエントリーが行われます。
短期SMAと長期SMAのクロス(それぞれ確定足)で決済します。
例えば、ロングポジションを持っている場合は短期SMAと長期SMAのゴールデンクロスが決済トリガーとなります。
config.py
にてそれぞれのSMAの算出期間設定を行います。
config.py
にて損切り幅を設定します。
設定単位はpips
ではなくpoints
ということに注意してください。
例えば、5pips
を設定したい場合は50
と入力します。
Varlionの設定はプロジェクトルートにあるconfig.py
を編集して行います。
このセクションでは、それぞれの設定項目について説明します。
このプロジェクトを編み出した頃、プロジェクトに名前が欲しいと思っていました。そんな時、ふと目にしたキングオブコント2022決勝のニッポンの社長の暗転ネタ。そこに登場する「バーリオン」という新世紀ロボの名前に惹かれ、「これだ!」と思い拝借しました。
Varlionを使用した結果発生したいかなる損害・損失においても開発者はその責任を負いかねます。
投機は徹底した資金管理のもと、自己責任で行ってください。
Footnotes
-
基本的に自動取引ですが、パフォーマンス最適化のため日々のファンダメンタルズ分析や、相場感を体に覚え込ませた上でのパラメーター設定は欠かせません。半自動取引ぐらいに考えておいたほうが良いかもしれません。 ↩