
IG証券ドル円自動売買の始め方
IG証券ドル円自動取引試してみた!
今回はFXドル円についてIG証券の自動取引試してみました。備忘録も兼ねて載せています。参考になればと思います。
概略:IG証券のソフトウェアで取引ルールのプログラミングをします。それを実際に過去のデータでテストして自動取引の作成したコードのパフォーマンスを確認できます。
具体的にIG証券の自動売買のプログラミングを行い、稼働させて実績を確認している内容はこちらの記事に記載しています。

以下で設定方法などを見ていきたいと思います。
IG証券の自動取引(ProOrder)の使い方
ProOrderインストールからプログラミング実施前まで
まずはIG証券にPCのWEBブラウザからログインして自動売買を行いたいダッシュボード画面に行き、右上の「各種設定」をクリックしてください。
次に「登録・申請フォーム」の「ProRealTime」を選択、「ライブ口座のProRealTimeチャートを有効にする」をクリックしてください。
※月4回以上取引しない場合は月4000円かかるようなので使わない場合は無料とするよう忘れないでください。


その後、自動売買を行いたい口座でも「有効にする」を選択します。

規約等が出てくるので「承諾しました」を押せば有効化完了です。

続いて、ダッシュボード画面に戻り、FX口座の「取引画面を開く」をクリックしてください。

次に、画面右上のFX口座をクリック

ProRealTimeチャートのインストール画面に飛びます。詳細はIG証券の手順に従ってください。
ソフトウェア立ち上げ後、「LAUNCH YOUR PLATFORM」をクリックしてください。


ProRealTimeのWindowが出てくるので「表示」から「リスト」をクリックしてください。リストには登録が無いので自分が自動取引を行いたい対象を検索してください。
例えば、「USD/JPY」とするとドル円のFXとなります。こちらは通常規模の利用であれば「標準」の方の選択で良いと思います。



さらにこの通貨部分の行をクリックするとチャートが出てきます。
左上でローソク足の時間を指定することができます。また過去データを何本取得するかということも選択できます。こちらはバックテスト(過去期間で作成した自動取引コードを試すこと)で試したい期間が含まれるよう大きめの数字を選んでおくとよいです。
(10kのkは1000という意味で10kは10000ということになります。)
次に、左下の「指標」というアイコンをクリックしてください。


その後表示される画面右端の「バックテスト&自動取引」を選択して、新規を選択してください。

その後表示される画面で「プログラミングによる作成」をクリックすると実際に自動取引のコードを実行する画面となります。ちなみにこちらはProBuilderというプログラミング言語です。
ベースに当てはめていけばルールを指定できます。
「NOT LongOnMarket」:これは現在ロングポジションを持っていなければ真(True)を返します。
IFという文では条件文が真の時にIF~ENDIFで書かれている部分を実行します。
ANDについては前後が両方真のときに真を返します。たとえば「RSI[14](close) < 70」などの条件を入れます。
IF NOT LongOnMarket AND RSI[14](close) < 70 THEN
BUY 1 CONTRACTS AT MARKET
上記のようにするとロングポジションを持っておらず、かつRSIが70以下の時という
両方を満たしたときに1ロットポジションを購入するというコードになります。
下記にRSI戦略のサンプルを載せます。
・RSIが30以下の時ロングポジションイン
・RSIが70以上の時ロングポジション売却
・RSIが70以上の時ショートポジションイン
・RSIが30以上の時ショートポジション売却
・50pipsで損切り
・100pipsで利確
//RSI戦略
MyRSI = RSI[14](Close)
// ロングポジション保有条件
IF NOT LongOnMarket AND MyRSI < 30 THEN
BUY 1 LOT AT MARKET
ENDIF
// ロングポジション清算条件
If LongOnMarket AND MyRSI > 70 THEN
SELL AT MARKET
ENDIF
// ショートポジション保有条件
IF NOT ShortOnMarket AND MyRSI > 70 THEN
SELLSHORT 1 LOT AT MARKET
ENDIF
// ショートポジション清算条件
If ShortOnMarket AND MyRSI < 30 THEN
EXITSHORT AT MARKET
ENDIF
// ストップ&ターゲット:損失限定のストップ値と利益目標値をご入力ください
SET STOP PLOSS 50
SET TARGET PPROFIT 100
バックテスト
時間単位の指定、最初の資金の指定、期間の指定を行い、最下部の「ProBackTest my system」をクリックすると指定した過去期間で作成したコードを自動取引した場合のパフォーマンスが出てきます。
ここでシミュレーション時に注意が必要なのがスプレッドの設定とティック毎モードでのProBackTestです。
・スプレッドはドル円の場合は原則0.2銭で2pipsでよいかと思います。
・ドル円の場合、手数料は無いので設定不要です。
・ティック毎モードについてはチェックを入れれば大丈夫です。

先ほどのサンプルプログラムについてバックテストを実施したものが下記となります。
10万円を投入して2023/8/25-9/5の10日程度で590円の利益が出たというテスト結果となります。

このパフォーマンスを見ながらコードを修正、パフォーマンスを確認を繰り返していくという流れで自動取引の精度を高めていきます。
最大ドローダウン(一時的にどれだけ損失を出したか)も分かるので資金をどれだけ入れればよいのかもわかります。
例えば、このバックテストの例では資金100,000円としてバックテストをしており、最大-18,350円が一時的に減るタイミングがあったことがわかります。
ドル円1ロット(1万通貨)はレート135円とするとレバレッジ25倍で54,000円程度となります。なので途中で資金が足らず、ポジションが取れなくなるなどの心配はないことがわかります。
自動取引実施
画面右上でバックテストからオートトレーディング(自動取引)に変更します。
時間単位、トレード対象を選択後、「ProOrderオートトレーディングに送信する」をクリックします。
その後の画面で作成した戦略を選択して、「開始」をクリックすると自動取引が開始されます。
その後はIG証券のサーバで自動取引されるため、PCを閉じても自動取引は継続されます。
自動取引の期限はデフォルトでだと短期間になっているのですが延長させることもできます。(ProOrder画面右下に「延長」と表示されます)



またそもそもの「自動取引パラメーターを設定します」という項目があるのでこちらで自動売買を実行する前に延長期間を延ばしていくこともお勧めします。デフォルトは2とかになっているので2日経って突然自動取引が止まったということになります。
まとめ
今回はIG証券のProOrderで自動取引を実施するまでの流れを確認しました。
これからしばらくはバックテストでよりパフォーマンスが良いコードを作成して自動取引のテストではなく実現損益も確認していきたいと思います。