Udemyのコース「Forex Algorithmic Trading with Python: Buld a Grid Bot」を参考にPython/Metatrader5でFXの自動取引を行うbotを開発・評価する。クラスではIC Marketsのdemo accountを使ってMetatrader5上で自動取引を行う例が解説されているが、なぜかIC Marketsでdemo accountが開けない。調べてみるといくつかMetatrader5でdemo tradeができる業者があるようで、外為ファイネストがその1つ。
外為ファイネストのWebサイトからMT5デモ口座を開設し、Metatrader5のopen accountから”GaitameFinest”を検索するとlistの中から外為ファイネストのデモ口座が選択できるようになる。
必要なアカウント情報を入力すれば、外為ファイネストのデモ口座でMetatrader5によるデモ取引が可能になる。
早速Udemyのクラスで解説されているBotを動かしてみた。サンプルコードのBot classを読み込んだ上で、下記のmain codeを実行する。ひとまずEURUSDの取引のみとする。外為ファイネストのMetatrader5の取引では、FXのsymbolを指定するのに、”EURUSD”ではなく”EURUSD-“などとする必要がある。
import MetaTrader5 as mt5
import pandas as pd
from threading import Thread
mt5.initialize(login = xxx,server = "GaitameFinest-Demo",password ="yyy")
bot1 = Bot(10,"EURUSD-",0.01,2,1)
#bot2 = Bot(10,"GBPUSD",0.01,2,1)
#bot3 = Bot(10,"USDJPY",0.01,2,1)
def b1():
bot1.run()
#def b2():
# bot2.run()
#def b3():
# bot3.run()
thread1 = Thread(target=b1)
#thread2 = Thread(target=b2)
#thread3 = Thread(target=b3)
thread1.start()
#thread2.start()
#thread3.start()
このPython codeを実行すると、大量の売買注文が自動的に出される。
このコードをベースにいろいろと研究ができそうだ。ちょうどUdemyでセールが行われていたので、同じインストラクターの下記クラスも購入。こちらの視聴も進める。
「Forex Algorithmic Trading with Python: Build a DCA Bot」と「The Ultimate Forex Algorithmic Trading Course Build 5 Bots」