「FXトレードプログラミング」に挑戦してみよう!
現在、さまざまな仮想通貨が出現してきていますが、「外国為替証拠金取引(FX)」もまだまだ人気があります。
「ファイナンス(金融)」と「テクノロジー(技術)」を組み合わせた「フィンテック」という言葉も作られ、プログラミングを活用した投資活動も活発に行われています。
今回はこのFXにフォーカスを当て、トレードプログラミングについてお話をしていきたいと思います。
FXでメジャーな「売買ツール」とは?
APIを公開している証券会社で、APIプログラミングが主流となってきますが、FXでの取引プラットフォームソフトウェアとして有名なものに「MetaTrader(MT」があります。
「MetaEditor(メタエディター)」と呼ばれる、専用の開発環境も用意されていて、MetaTraderをダウンロードすることで、誰でもプログラムを開発することができるようになっています。
証券会社から「MetaTrader」が提供されているケースもあり、オリジナルインディケーターが使えるなど、独自指標を元にトレードを行いたい場合には有用なツールとなるのではないでしょうか。
どうやって「FXトレードプログラミング」を始めるのか?
「FXトレードプログラミング」には、「FX」に関する知識も必要になってきますが、FXは「売り」「買い」のどちらからも始められるため、まず、「いつ売り買いを始めるのか?」を決定する必要があります。
このタイミングを決めるための方法も自分で決める必要があるのですが、相場が「上昇局面」にあると思えば「買い」を行い、「下落局面」にあると思えば、「売り」を行うという方法を「順張り」と言います。
初心者の方はこの方法がトレードに取り組みやすいのではないでしょうか。
基本的にはこの方法を取ることが「王道」とも言えるのですが、「短期・超短期」トレードではこの方法を取ること相場変動の変化が激しくこの方法で利益を出していくことはなかなか難しいと言えます。
秒単位で相場はどんどん変化していきますので、これらの相場変動に合わせた超短期トレードを行うためには、専用のトレードシステムを作ることが必要となってきます。
今回ご説明をする「MT4」を使った自動売買システムを作ることで、人間には不可能な早さでトレードを繰り返すことができます。
そのために覚えなければいけないプログラム言語が「「MetaQuotes Language(MQL) 」です。
このプログラム言語を利用することで。MT4内で「エキスパートアドバイザー(EA)」という機能を利用して、FXの自動売買を行うことができるようになります。
今回はこのEAを利用したプログラムの書き方について見ていきたいと思います。
「MQL」はC言語のようなな書き方ができ、プログラミングができる方ならそれほど悩まずにプログラミングができるのではないでしょうか。
EA用のファイルを作ると次の3つの関数がすでに用意されています。
- OnInit
- OnDeinit
- OnTick
「OnInit」関数は、EAを設定した際に一番初めに実行される初期化用の関数です。
何か初期化処理が必要であればこの関数の中に処理を書いていきます。
int OnInit() { //初期化処理を記述 }
「OnDeinit」関数は、EAを解除した際に実行する処理を書いていきます。
void OnDeinit() { //EAを解除した時に必要な処理を記述 }
「OnTick」関数は、価格が変動した時に自動的に実行される処理を書いていきます。
void OnTick() { //価格が変動した時に必要な処理を記述 }
他にも独自の「ユーザー定義関数」を作ることができます。
何を書いていくのかはトレード手法によって異なりますが、「Bid」で価格変動時の売値を取得でき。「Ask」で書い値を取得できるなど、必要な定数や関数の使い方を学んでいくことが必要です。
もちろんFX投資に関する知識も必要となりますので、これらの知識についての学習も必要です。
FXトレードプログラミングに興味のある方はぜひ一度チャレンジしてみはいかがでしょうか。
にも各種トレード手法ごとのプログラムが公開されていますので、一度確認してみてはいかがでしょうか。
「Meta Trader」と「AI(人工知能)」を活用した「為替予測のシステム」を作り検証を進めていますので、続きは、
→「3時間後の為替をAIで予測する「FXトレードプログラミング」」
をご覧ください。