LoginSignup
14
13

Amazon LightsailでFX自動売買サーバーを構築する

Last updated at Posted at 2020-08-09

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

サーバー構築

  1. AWSマネジメントコンソールよりLightsailを選択
    000.JPG
  • 日本語を選択
    001.JPG
  • チュートリアルに従って構築開始
    002.JPG
  • Windowsを選択
    003.JPG
  • OSバージョンを選択
    004.JPG
  • プランを選択(今回は無料プランを選択)
    005.JPG
  • インスタンス名は任意(タグはなし)
    006.JPG
  • 起動されるまで待機(保留中)
    007.JPG
  • 実行中になった後、インスタンスを選択
    008.JPG
  • ブラウザから接続
    010.JPG
  • 接続できることを確認
    011.JPG

リモートデスクトップ接続

ブラウザから接続でも問題ないがWindowsのリモートデスクトップ接続を利用する

  1. 画面に表示されているパブリックIPを入力(ユーザー名はAdministrator)し、接続
    015.JPG
  • Administratorのパスワードを入力
    018.JPG
    • パスワードは以下から取得
      016.JPG
      017.JPG
  1. 「はい」を選択
    019.JPG
  • 接続できることを確認
    020.JPG

※リモートデスクトップ接続が見つからない場合、設定変更が必要

  1. ローカルのコントロールパネルから「システムとセキュリティ」を選択
    012.JPG
  • 「Windows ファイアウォールによるプログラムの許可」を選択
    013.JPG
  • リモートデスクトップを許可し、保存
    014.JPG

日本語設定

デフォルトでは英語のままなので、日本語にする

  1. 設定を選択
    027.JPG
  • 「Time & language」を選択
    028.JPG
  • 「Region & language」を選択し、「日本語」をデフォルトに設定
    029.JPG
  • オプションを選択
    033.JPG
  • 日本語パックをダウンロード
    034.JPG
  • 日本語配列のキーボードに変更
    035.JPG
  • 再起動する
    030.JPG
  • 再起動後、日本語になっていることを確認
    036.JPG

MT4のインストール

デフォルトではIEでのファイルダウンロードが制限されている
021.JPG

  1. サーバーマネージャーを起動
    038.JPG
  • 「ローカルサーバー」から 「IE セキュリティ強化の構成」を選択
    039.JPG
  • オフにして保存
    040.JPG
  • 時間を置いて 「IE セキュリティ強化の構成」が無効になっていることを確認
    041.JPG
  • MT4のインストーラーをダウンロードし、実行
    055.JPG
  • 取引で利用するサーバーを選択(ここではデモサーバーを選択)
    025.JPG
  • 口座情報を入力(ここでは既存デモ口座情報を利用)
    026.JPG
  • チャートが表示されることを確認
    042.JPG

インジゲータの設定

  1. ナビゲーションウィンドウからインジゲータをチャートにドラッグ&ドロップ
    043.JPG
  • DLLのインポートが許可されていることを確認し、適用
    050.JPG
  • インジゲータが適用されていることを確認
    044.JPG

EAの設定

  1. オプションを選択
    051.JPG
  • EAでの自動売買とDLLの利用を許可
    052.JPG
  • ナビゲーションウィンドウからEAをチャートにドラッグ&ドロップ
    045.JPG
  • EAによる取引、DLLおよび外部EAの利用を許可
    046.JPG
  • チャート右上にEA名と顔マークが表示されていることを確認
    047.JPG
  • 自動売買を開始
    048.JPG
  • 自動売買が緑になり、顔マークが笑顔になることを確認
    056.JPG
    053.JPG
  • 一度に複数のEAを動かすときはマジックナンバーをずらすこと
    054.JPG

感想

  • EC2より楽に作れる
  • 無料プランでWindowsはマシンスペック的にギリギリ
    • 過去チャートを使ってEAを試すストラテジーテスターは高負荷で使えない
  • コスト削減を厳密に考慮する場合はEC2で作った方がよさそう
    • 期間限定サーバーやお試しサーバーならLightsailがよさそう
  • インスタンスの世代が最新じゃないのはちょっと残念
  • VPSのことを調べるときにSLAの話がほとんど出てこなかった
    • あんまり重要ではないのか?
  • Lightsailは他のVPSと比較すると敷居が高いっぽい
    • 普及してない?
    • ターゲットはあくまでエンジニア?
  • いつかは自動売買で利用料が払えるようになると嬉しい

2021/09/12追記

  • ぎりぎりな低スペックでも自動売買は問題なし
    • 画面操作は数十秒遅延するが……
    • 売買状況の確認はスマホアプリとした方がよい
  • 日本語のMT4をインストールした場合、文字化けした
  • 費用は800~900円/月くらい(USD払いのため月によって異なる)
  • 1度だけポジション持ったままサーバーが落ちてることがあった
    • 毎週末にサーバー停止起動していれば問題はなさそう
    • アラート設定するならEC2の方がいいかも
  • 複数のEAを動かすとフリーズすることが多々あり、実用に耐えない
    • ディスク容量が30GB、メモリも512MBと最低スペックでWindowsに必要なスペックを
      満たしていないのではないか
14
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
13