自動売買を自身の手で構築して運用できることに憧れがありますよね?
しかし、トレーダーとして生きていくのに、プログラミング言語の勉強が必要になるとは思ってもいませんでした。
忙しい日々のなか、トレードで収益を得るためにはプログラミング言語を習得することは、もはや必須と言っても過言ではないでしょう。
でも、素人がプログラミング言語を習得するためには、かなりの時間が必要になります。
素早く効率よく習得できるプログラミング言語、それは一体、どんな言語なのでしょうか?
自動売買の自作
自分のロジックを用い、思い通りに売買してくれる自動売買は、この世には存在しません。
ならば、自分で作るしかありません。
しかし自動売買を自作するには、当然ながらプログラミングの知識が必要になります。
プログラミング言語を使いこなせれば、自分の思い描いた究極の自動売買が作成できることになります。
プラットフォームによっては専用の言語でなければ動かなかったり、どのプラットフォームのも応用できる言語もあります。
では、どのプログラミング言語を習得するべきなのか?
プログラミング言語の種類
プログラミング言語なら何でもよいわけではなく、目的によって使い分けられています。
FXの自動売買に適したプログラミング言語を紹介しましょう。
VBA
VBAとは、Microsoft社のExcelに備わっている拡張機能を使ったプログラミングです。
VBAについては、インターネット上の情報も多く、また書籍も多くあるので、誰でも簡単に始められます。
プログラミング言語の中では一番簡単なので、Excelがあれば、すぐにでも始めることができます。
Python
近年、よく耳にするプログラミング言語Pythonですが、言語の中では比較的扱いやすいです。
特徴としては、構文が短く、誰がプログラムしても、同じような動きをしやすいという点です。
その反面、自由度は高いのですが、慣れるまでは難しいです。
慣れてしまえば、簡単にあっという間にプログラミングできるようになるでしょう。
そして、FXの自動売買に使うよりは、仮想通貨のBotとして使われることが多いです。
MQL4
MetaTrader社のMT4/MT5プラットフォーム上で使用されるプログラミング言語です。
海外FX会社では、MT4/MT5のプラットフォームが基本になり、MQL4マーケット上には、いくつもの自動売買が有料・無料問わず存在します。
習得には、早くても2~3ヶ月程度かかるのではないでしょうか。
人によっては、そんなに難しくない。という人もいます。
しかし、一般的にも使われるVBAやPythonとは異なり、MQL4は自動売買専用の言語です。
なのでMQL4専用の関数などもあり、やはり習得するには、それなりの時間を要するでしょう。
Java
日本国内はもちろん、世界中でも一般的に使用されている言語の意図つであるJava。
Javaは、金融システムや大規模な業務を行うサービスの開発・運用に使用されています。
そして、今後も使われ続けるプログラミング言語でしょう。
習得できれば、自動売買作成のみならず、就職・転職に有利になること間違いなしです。
しかし、初心者で且つ独学で習得するのは至難の業でしょう。
本気で学ぶなら、スクールに通う必要はあるでしょう。
PINEスクリプト
PINEスクリプトは、OANDA証券のTradingViewで使える言語です。
チャートに追加して、テクニカル分析を行うためのインジケーターやストラテジーを作成するプログラミング言語になります。
内蔵されたインジケーターやストラテジーの構文を、自身で書き換えることで、オリジナルのロジックを作成することができます。
1から構文をプログラム必要がないので、初心者でも比較的、簡単に扱えるでしょう。
ProBuilder
ProRealTimeというプラットフォームで使用されるプログラミング言語です。
日本国内では、IG証券でしか使用できないようです。
言語としては、BASICというプログラミング言語に似ているので、過去にBASICを勉強した人や、すでにBASICを習得済みの人は、簡単に習得できるのではないでしょうか。
ただし、ProBuilderを習得しようにも、日本語での解説サイトは非常に少なく、英語のサイトがメインになります。
これから習得したいと思う人は、ProBuilderの勉強のために英語も勉強する必要があるということになります。
英語が苦手な人は、この言語を習得する時間は途方もなく長くなるでしょう。
プログラミングの勉強法
自動売買に使えるプログラミング言語を、いくつか紹介しましたが、どのように習得すればよいのか?
それは、勉強あるのみ。としか言いようがありません。
では、どのように勉強するのが、効率よく習得できるのか?
まず、一番早く習得するには、オンライン講座やスクールに通うことです。
しかし、当然ながら入会金や毎月の月謝が必要になります。
「自動売買で回収できるから構わない」と自己投資だと割り切れるかが問題です。
次点では、本を購入して勉強するのが現実的でしょう。
無料で本を借りれる図書館を利用することをオススメします。
今はネットやブログでも、プログラミング言語を勉強することはできますが、分からないことが出てきたときに、質問できない点や、納得のいく答えに出会いにくい点があります。
独学で習得できないことはないですが、時間がかかるのは難点です。
自作する必要性
自動売買プログラムを自作する必要性が出てくるのは、自分でしか理解できないロジックを持っていて、それで収益を上げられる場合か、自動売買プログラムを販売して収益にする場合かの、どちらかでしょう。
自動売買を使えるFX会社のほとんどでは、質の良いプログラムを提供してくれます。
それで十分に収益を上げているトレーダーもいるので、わざわざプログラミングを勉強してまで自作する必要は無いように思います。
まず前提として、プログラムに落とし込める程の裁量トレードの知識・経験が必要になります。
さらに言えば、会社に提供されるものでは再現できず、「自分だけが知っている秘密のロジック」があれば、裁量トレードで十分に稼げるはずです。
結論を言えば、時間を割いてプログラミングを勉強する時間があったら、チャートを見てテクニカル分析を勉強する方が、稼げるトレーダーへの近道です。
おわりに
プログラミング言語は、たくさんありますが、今回は自動売買に使えそうなものを紹介しました。
簡単に習得できそうなプログラミング言語もあったと思いますが、やはり一朝一夕で習得するのは難しく、何よりも「使いこなせる」レベルにまで達する必要があります。
上述したように、プログラミング経験のないトレーダーが、わざわざ時間を使ってシステム開発をおこなうよりも、 今使っている自動売買を、バックテスト→結果をもとに検証→修正、といった具合に1つのツールを、じっくり使い続けることが大切です。
そうすれば、わざわざ自作する必要もないほど、収益を上げることが可能になります。