FX自動売買をするため、MetaTrader4(MT4)にてEA(自動売買プログラム)を
24時間365日動かす環境として、Amazon Lightsailを使ってみた
2021/09/15追記
課題解決のため、EC2にて再度構築(EC2でFX自動売買サーバーを構築する)
概要
Amazon Lightsailとは
- VPS(仮想専用サーバ)を提供するサービス
- ネットワークからサーバーまでの構築および接続設定までマネージドされている
- 追加でELBによる冗長構成、RDS、CDNを利用可能
- バックアップをEC2にエクスポート可能
- 冗長構成をとっている場合はSLAは99.99%
最低限の料金
- インスタンス
- ストレージ
- データ転送(1TB/月を超えた分)
EC2ではなくLightsailを選んだ背景
- とりあえず動かす環境がほしい
- 構築コストが比較的低い
- 細かいネットワーク要件は不要
- 非機能要件が難しくない
- 大量の通信なし
- 計算量も多くない(EAによる)
- 維持費が明確
- 導入スピードを上げるため、コスト計算にリソースを割きたくない
- いつまで稼働するか不明
- 1年先まで稼働させるか現時点では不明
MetaTrader4(MT4)とは
- FXを含め、株などを売買するツール
- チャートを表示し、注文、決済ができる
- 独自プログラム(MQL)の実行が可能
- 計算した線やグラフを描画
- 計算した線やグラフをトリガーとして注文、決済を実行
- 各社がカスタマイズしたMT4を配布している
MQL
- 金融市場での取引や分析のためのプログラミング言語
- C++がベース
- 取引に必要な関数が用意されている
- MQL5があるが、主流はMQL4
サーバー構築
- 日本語を選択
- チュートリアルに従って構築開始
- Windowsを選択
- OSバージョンを選択
- プランを選択(今回は無料プランを選択)
- インスタンス名は任意(タグはなし)
- 起動されるまで待機(保留中)
- 実行中になった後、インスタンスを選択
- ブラウザから接続
- 接続できることを確認
リモートデスクトップ接続
ブラウザから接続でも問題ないがWindowsのリモートデスクトップ接続を利用する
※リモートデスクトップ接続が見つからない場合、設定変更が必要
日本語設定
デフォルトでは英語のままなので、日本語にする
- 「Time & language」を選択
- 「Region & language」を選択し、「日本語」をデフォルトに設定
- オプションを選択
- 日本語パックをダウンロード
- 日本語配列のキーボードに変更
- 再起動する
- 再起動後、日本語になっていることを確認
MT4のインストール
- 「ローカルサーバー」から 「IE セキュリティ強化の構成」を選択
- オフにして保存
- 時間を置いて 「IE セキュリティ強化の構成」が無効になっていることを確認
- MT4のインストーラーをダウンロードし、実行
- 取引で利用するサーバーを選択(ここではデモサーバーを選択)
- 口座情報を入力(ここでは既存デモ口座情報を利用)
- チャートが表示されることを確認
インジゲータの設定
EAの設定
- EAでの自動売買とDLLの利用を許可
- ナビゲーションウィンドウからEAをチャートにドラッグ&ドロップ
- EAによる取引、DLLおよび外部EAの利用を許可
- チャート右上にEA名と顔マークが表示されていることを確認
- 自動売買を開始
- 自動売買が緑になり、顔マークが笑顔になることを確認
- 一度に複数のEAを動かすときはマジックナンバーをずらすこと
感想
- EC2より楽に作れる
- 無料プランでWindowsはマシンスペック的にギリギリ
- 過去チャートを使ってEAを試すストラテジーテスターは高負荷で使えない
- コスト削減を厳密に考慮する場合はEC2で作った方がよさそう
- 期間限定サーバーやお試しサーバーならLightsailがよさそう
- インスタンスの世代が最新じゃないのはちょっと残念
- VPSのことを調べるときにSLAの話がほとんど出てこなかった
- あんまり重要ではないのか?
- Lightsailは他のVPSと比較すると敷居が高いっぽい
- 普及してない?
- ターゲットはあくまでエンジニア?
- いつかは自動売買で利用料が払えるようになると嬉しい
2021/09/12追記
- ぎりぎりな低スペックでも自動売買は問題なし
- 画面操作は数十秒遅延するが……
- 売買状況の確認はスマホアプリとした方がよい
- 日本語のMT4をインストールした場合、文字化けした
- 費用は800~900円/月くらい(USD払いのため月によって異なる)
- 1度だけポジション持ったままサーバーが落ちてることがあった
- 毎週末にサーバー停止起動していれば問題はなさそう
- アラート設定するならEC2の方がいいかも
- 複数のEAを動かすとフリーズすることが多々あり、実用に耐えない
- ディスク容量が30GB、メモリも512MBと最低スペックでWindowsに必要なスペックを
満たしていないのではないか
- ディスク容量が30GB、メモリも512MBと最低スペックでWindowsに必要なスペックを