外国為替のしくみを知る

<外国為替のしくみを知る>

 まずはじめに、『外国為替(外為)がなぜ存在するのか?』という点から、かんたんにご説明します。例をあげて考えてみましょう。例えば、すべての国が同じお金を使っていればどうでしょうか?この時は、外国為替は必要ありません。それは、1つの通貨ですべての取引ができるからです。

 

 しかし、みなさんご存知のとおり、現実にはたくさんの国があり、たくさんの通貨があります。例えば、日本国内ではが使われていますが、アメリカに行けば米ドルが必要です。ヨーロッパ諸国ではユーロがメインになって流通しています。

 

 ここで必要になってくるのが、外国為替です。これは、海外旅行で国外に出ると、よく実感できると思います。日本から国外に出るときに、旅行先の通貨に日本円を両替をしなくてはなりません。両替する時に外国為替は利用されます。 

 

 次に考えることは、外国為替相場が毎日変動していると言う点です(例:1ドル110円→111円)。これはどういうことでしょうか?地域ごとにさまざまな通貨が使われていて、それぞれに通貨の力が違います。基本的には国力が強い通貨ほど世界では評価され、通貨の力が強くなる傾向があります。この差を調節するために、日々変化する外国為替市場が存在しています。

 

 これまでの歴史をたどってみると、昔の日本は、1ドル=360円の“固定相場制”でした。しかしお金の価値と国力が実態と伴っていないことが指摘され、“変動相場制”へと移行しました。変動相場制になった今は、1ドル=107円(2008年1月現在)と、大幅に円高に傾いています。この理由は、日本が高度経済成長で国力が上がったからだと考えられます。言い方を換えれば、円がドルに対して強くなった(円の相対的な価値が上がった)と言えます。

Originally posted 2019-08-12 15:14:19.

FXのスプレッドとは

<売り値と買い値では値段が違います>

 スプレッドとは、通貨を売り値と買い値の値段の差額のことを言います。また、売り値のことを「ask(アスク)」 、買い値のことを「bid(ビッド)」と呼びます。(スプレッドは実質的にFX会社へ支払う手数料となります。)

 

         

  (↑外為どっとコムの場合は円とドルのスプレッドが1銭

 

 気をつけたいのは、ドルを買う場合はドルの買い値ではなく、売り値を見るということです。なぜなら、買い値は「それを向こうがいくらで買い取るか」を表したもので、売り値は「それをこちらがいくらで売るか」を表したものだからです。単純に「買う」から「買い値」ではないんです…少しややこしいですね(汗”)

 

 さて、売り値と買い値の値段が違うということでしたが、これはなぜなんでしょうか? 実はそれはFX会社が仕事を続けていくため(利益を出すため)なんです。基本的にFX会社は通貨を「安く買い取って、高く売ることの差(スプレッド)」で利益を得ています。ですので、必ず売り値の方が高く買い値の方が安くなっています。当然ですが、投資家にとってその差額は取引コスト(手数料)として考えなければならないので、スプレッドが小さいに越したことはありません。FX会社も決して嫌がらせでこのようなことをしているわけではありませんので、許してあげてください(笑)  

 次は、FXで利益を得るための2通りの考え方をご紹介します♪

 
 

 【スプレッドが小さいおすすめFX会社
  DMM FX →スプレッドの小ささが売りの会社です! 
  SBI FXTRADE ←業界最低水準のスプレッドです。
  外為オンライン ←スワップも高く、短期・長期どちらでも使えます♪

Originally posted 2019-08-12 15:11:28.

FXのスワップ金利とは

<長期投資派の強力な味方>

 スワップ(スワップ金利、スワップポイント)とは、「各国の通貨の金利差によって発生する金利」のことです。

 …書いた本人ですら読んでて意味が分かりませんから、おそらくみなさんも何を言っているのかよく分からないと思います…。そこで親しみのある日本の“円”とアメリカの“ドル”を例にわかりやすくスワップ(金利)について説明します。

 

 円の金利が0.5%、ドルの金利が2.5%のときにドルを円で買うと、2.5%-0.5%=+2%のスワップが発生します。このスワップは1年あたりのもので、FX会社で表示されている1日あたりのスワップはこれを365日で割って求めています。2%÷365日≒0.0054% が1日あたりにもらえる金利です。

 

 ほとんどのFX会社では1万通貨あたり、つまりこの10,000倍のスワップが表示されています。0.0054%×10,000=54(ちなみに2008年7月現在、ドルを円で買った場合に発生するスワップは50~60となっています)。

 

 もちろん、いつもスワップがプラスなわけではありません。将来的に円の金利がドルの金利よりも高くなってしまった場合、今度は逆にスワップを支払わなければならないのです。

 

 スワップはその通貨を持っている間、日をまたぐ毎に毎日発生します。つまり、スワップがプラスの場合は継続的に利益が得られるということです。なので長期的な運用をされている方にとってスワップはとても重要な収入源となります。逆に、スワップがマイナスの場合は毎日損失が増えていきますのでとても持ち続けることはできません。長期的な運用をお考えの方は必ずスワップがプラスのものを選ぶようにしてください♪

 

Originally posted 2019-08-12 15:10:48.

FXのレバレッジとは

<レバレッジは利益だけでなく、損失も膨らませます>

レバレッジとは、かんたんに言うと「てこの原理」です。レバレッジをかけることで、少ない資金で大きな取引ができます。

 

 たとえば、手元に1万円しかなくても、レバレッジを100倍に設定すればなんと100万円の取り引きをすることができるようになります。つまり、為替差益やスワップも1万円で取り引きしたときより100倍大きくなるので、少ない金額でも大きな利益を得ることができるようになるのです。

 
 ※レバレッジは2010年に50倍まで、2011年8月にすべてのFX業者が25倍までに引き下がりました。
 

 「おぉ、それはすごいゾ!さっそくレバレッジを100倍にしてみよう!!」と思われた方、どうかもう少し私の話を聞いてください…。得られる利益が100倍になるということは、つまりその反対の損失も100倍になってしまうのです!!

 

 たとえば、レバレッジを100倍にしてしまうと、たったのマイナス1%の損失で投入した資金がゼロになってしまうのです(-1%×100倍=-100%)。身近な例で説明しますと、1ドル=100円のときにレバレッジを100倍にしてドルを購入した場合、その後1ドル=99円(-1%)になった時点で投入した全てのお金は無くなってしまうのです…(汗”)。

 

 余裕資金の範囲でちょっとした“遊び”としてする分にはよいのかもしれませんが、老後を安心して過ごすための準備金づくりなど、安定した運用を目的として資産運用されている方は、このような危ない取引はしない方が安全です。レバレッジをかけるとしても3倍くらいまでに抑えるのが無難です。

 

☆安定した運用を目指す方は、レバレッジを2~3倍までにしましょう!

 

 次は、FXの最大の魅力とも言えるスワップについて説明します。

Originally posted 2019-08-12 15:10:08.

FXの特徴

<外貨商品の革命児!>

 これからご紹介する外国為替証拠金取引(FX)は、外貨商品の中では下の図のようなポジションを取ります。

 

FXの特徴

 

 …これは一体どういうことなんでしょうか? FXの中に外貨MMFと外貨預金・外国債券がすっぽりハマっていますね。これは、FXが“ハイリスクでもありローリスク”でもある、“ハイリターンでもありローリターン”でもある投資先という意味なんです。 ん~、これだけの説明では、全く意味が分からないですよね…(汗”)

 

 というわけで解説していきますと、なぜこのような位置づけになるかについては、FXがとても応用のきく取引だからです。リスクをあまり取りたくない方はリスクを抑えた取引が、多少リスクを取ってでも大きなリターンを狙いたい方はそのような取引ができる仕組みになっています。とっても便利ですね♪

 

 では、そのFXの主な特徴を具体的に紹介します。

・投入資金の何倍もの資金を運用して取り引きできる(レバレッジ
・通貨を交換した2国間の金利差にあたる金利を受け取れる(スワップ
・売り値と買い値が違う(スプレッド
・為替による損益が発生する-為替リスク
・取引にかかる手数料が外貨商品の中でもっとも安い
・外貨商品の中で流動性がもっとも高く、取引しやすい

 

 これまで紹介してきた「外貨預金」と「外貨MMF」は言わば似たものどうしでした。その特徴はほとんど同じで、違いと言えば手数料・流動性の面で「外貨MMF」がやや優れているというくらいでした。

 

 ですが、これからご紹介するFXはこれらの外貨商品とはずいぶん違いがあります。「レバレッジ」や「スワップ」「スプレッド」など、初めて聞くような言葉が続けて出てきましたからね(汗”)。

 

 為替による損得が発生するのは、全ての外貨商品に共通する特徴(為替リスク)ですので省略します。また、手数料や流動性についても「外貨預金」や「外貨MMF」に比べて安いというだけなので、こちらも詳しいところは省略します。

Originally posted 2019-08-12 15:09:30.

第九回 MT5とPythonを連携してみよう!

MetaTrader5 のための”Pythonのパッケージ”がリリースされました。
今回はPythonのAPIを利用して、MT5と連携してみましょう。

Pythonでのパッケージを使用することで、 PythonからMT5のプログラムを呼び出すことができるようになりました。
※今回はMQLではなくPythonのプログラム例の紹介となります。

Pythonの実行環境の準備

まずPythonを使用する環境を構築します。

1.最新バージョンのPython 3.7をダウンロードします。 https://www.python.org/downloads/windows

2.Pythonをインストールする際には「Add Python 3.7 to PATH%」をチェックしてPythonスクリプトをコマンドラインから実行できるようにします。

3.コマンドプロンプトを起動し、MetraTrader 5モジュールをコマンドラインからインストールします。

コマンドを入力して [Enter] 実行

参考:Python公式サイト MT5パッケージ本体についてhttps://pypi.org/project/MetaTrader5/#description

4.続いて今回使用する pytz(時間関連処理) パッケージををインストールします。

1. Pythonの実行プログラムファイルの作成

続いてPythonの実行プログラムファイルを作成します。

1.実行ファイルの作成

お使いのパソコンのテキストエディタ―(もしくはメモ帳)を開き 、Pythonの実行ファイルの拡張子である、”.py”の拡張子で保存します。
後ほど紹介するコードを今回作成したファイルにコピー&貼り付けを行い保存します。

ファイル拡張子を.pyと記載してファイルを保存、もしくはテキストで保存後にファイル名を “program.py” と変更します。

2.Pythonのプログラムの中身について

PythonからMT5に連携するプログラムとして、複数の方法でバー情報、Tick情報を取得する方法を紹介します。
実際のプログラムの一連の処理としては次のような構成で作成します。

1.MT5を起動
2.データを取得
3.MT5とのセッションをクローズ

これから紹介するコードは全て同じファイルに記載します。

2.1 使用するパッケージを設定

2.2 MT5への接続およびデータ取得

MQL5:Python 関数仕様
https://www.mql5.com/ja/docs/integration/python_metatrader5 

2. Python ファイルプログラムの実行

コマンドプロンプトを起動して、python + “作成した実行ファイルのパス” とコマンドを入力して実行します。

実行前の注意事項:
事前にMT5がご利用いただける取引サーバーに1度ログインをしている必要があります。また接続先の証券会社が下記のコード内に記載したFXの取引銘柄を提供している必要があります。

本プログラムの実行結果は下記の情報を出力します。

Tick データ(コマンドプロンプト)

Originally posted 2019-08-12 13:34:01.

第八回 インディケータを自由にEA組み込んでみよう!

今回は、MT5に外部から登録したカスタムインディケータを自由にEAに組み込む方法をご紹介します。
オリジナルのインディケータや関数が用意されているテクニカル指標関数以外のインディケータの計算値をEAに利用できるようになります。

登録したインディケータをEAに組み込む例

ここではiCustom関数を使用することで、MT5上のデータフォルダ内に配置したカスタムインディケータファイルを読み込み使用することができます。
※対象となるIndicatorファイルはコンパイルした .ex5拡張子のファイル形式でデータフォルダ下、MQL5/Indicators ディレクトリもしくはサブディレクトリ配置する必要があります。 

MT5クライアントからデータフォルダ内のMQ5/Indicatorファイルへのアクセス 

では早速プログラムを見ていきましょう。

1.ハンドル値の取得
今回はインストール時にサンプルとして入っているCustom Moving Average (MT5データフォルダ/MQL5/indicator/Example)を読み込み、使用します。

※Custom Moving Average にはナビゲータウィンドウから”インディケータ/Example/Custom Moving Average ”とアクセスをします。

iCustom関数には使用するIndicatorのMT5上のパスを指定し、該当のIndicatorのパラメータを順番にセットします。
※パラメータを設定しない場合にはIndicatorの初期値が適用されます。

2.配列値の取得
iCustom関数を使用してメモリ上に展開したIndicatorからCopyBuffer関数を用いて配列コピーして計算値を使用できます。

※今回のEAではメモリ上に展開したインディケータのデータをEAの取引に利用する目的のため、チャート上への描画処理をしません。

MQL5: iCustom関数について
https://www.mql5.com/ja/docs/indicators/icustom 

MT4にも同じ関数がありますが、 引数が異なり、 取得できる値は指定した1時点でのデータを取得する形式となります。都度関数を呼び出し、計算が必要です。
iCustom関数: https://docs.mql4.com/indicators/icustom 
MT4では取得するIndicator LineのIDとシフト値が必要になります。

MT5ではインディケータのハンドル値を使用して、複数の指標ラインの配列を効率良く一括で取得可能です。
※参考記事:第五回テクニカル分析指標を使って取引しよう!

このような方法で、どのようなIndicator でもEA上でデータを読み込むことが可能です。

またMT5のCustom Indicator については、下記のMQL5のリンクから様々なIndicatorを見つけることができます。
自分の目的に合ったIndicatorを見つけて取引に利用してみましょう!

Originally posted 2019-08-12 13:33:30.

第七回 ストラテジーテストでEAを最適化しよう!

今回はストラテジーテスター を使用してEAのパフォーマンスの最適化を行い、EAの収益を向上するための一連の流れを簡単にご紹介します。

最適化とはEAのパラメータを履歴データを使って、最も適切なパラメータを組み合わせを見つけるためにシミュレーションを行うことです。収益性の高い適切なパラメータの結果を見つけ、EAに設定して運用することでEAの収益性を向上します。

1.ストラテジテスターの起動

選択したEAを右クリックしたコンテクストメニューで「テスト」をクリックします。※もしくは [表示] – [ ストラテジテスターの起動 ]を選択します。

2.設定

最適化の条件となる、「日付」(検証期間)、「銘柄」を設定し、「オプティマイズ」では「遺伝的アルゴリズム(速い)」を選択します。
※初回のみ、クライアントにデータが存在しない場合には検証用のティックデータをダウンロードします。

オプティマイズ 「遺伝的アルゴリズム(速い)」 を選択することで、効率的にテスト結果を得ることが可能です。 
MQL5 最適化の種類について :https://www.metatrader5.com/ja/terminal/help/algotrading/optimization_types

3.検証する入力パラメータの設定

検証が必要な入力パラメータにチェックを入れます。
検証を行うパラメータの「スタート」値から「ストップ」値、そして検証時の増加幅となる「ステップ」を設定し、テストを行うパラメータの範囲を設定します。
ステップ数はパラメータの組み合わせの合計となりますので、ステップ、パラメータの範囲を調整することで適切な範囲の検証を効率よく確認できるようになります。

4.最適化の実行

[設定]タブの右下に配置されている[スタート]ボタンを選択して、最適化を開始します。
※処理に時間がかかったり、一時的にCPUへの負荷が大きくなり、開いているアプリケーションの動作に支障がでる可能性があります。事前に不要なアプリケーションを閉じる、もしくはデータの保存をしておくことを推奨します。

最適化の結果として「オプティマイズ結果」のタブが追加されます。こちらの「損益」の部分の並び替えを行い、成績の良いパラメータの組み合わせを確認できます。

MT5 ストラテジーの最適化について
https://www.metatrader5.com/ja/terminal/help/algotrading/strategy_optimization 
オンラインのヘルプから詳細をご確認いただけます。

ストラテジーテスター :MT4 とMT5 との違い

大きく次の3項目があげられます。

1.マルチスレッド 
MT4ではテスト時はシングルスレッドでの計算処理でしたが、MT5ではテストを行うマシン上のCPUに応じてマルチスレッド処理を行うことで高速化を実現しています。またMQL5 クラウドネットワークでは登録されている他のユーザー端末の余剰処理能力を利用して分散処理を可能とすることで、お使いのマシン以上の処理能力をテスト時に利用して高速化が可能になります。

MT5 ヘルプ – MQL5クラウドネットワーク
URL:https://www.metatrader5.com/ja/terminal/help/mql5cloud

2.複数の通貨 
MT5では複数の通貨に対して売買を行うEAのテストをすることが可能です。
気配値表示で必要な銘柄を選んで有効にすることで、複数通貨に対するテストを行うことができるようになりました。

 多通貨エキスパートアドバイザーでは、気配値表示で必要な銘柄を有効にします。

MetaTrader 5のヘルプ :テスト機能 – 多通貨テスト
URL:https://www.metatrader5.com/ja/terminal/help/algotrading/testing_features

3. リアルティック
リアルティックを使用したテストと最適化を利用することで実際の条件に最大限に近くなります。従来の分足データをベースに生成されたティックデータの代わりに金融商品ごとにお使いの証券会社によって収集した実際のティックを使用することが可能です。

Originally posted 2019-08-12 13:32:50.

第六回 取引履歴を利用したEAを作成しよう

前回はテクニカル指標を利用したEA取引をご紹介しました。今回は取引の結果、状態を元に次の取引を行う仕組みのEAについてご紹介します。

建玉の決済方法に基づき、異なる行動を取ることができます。
例えば、
・StopLossで決済された場合 (取引履歴の損益の情報を判別) 
-> 同じ方向に 2倍のロットで新規建て
・ TakeProfitで決済された場合 (取引履歴の損益の情報を判別) 
-> 逆方向(ドテン)新規建て
・ Expireにより注文キャンセルとなった場合(時間による判断)
-> 2倍のExpire時間をセットして追加新規注文

取引履歴の取得方法について

MT5では、 履歴取引情報の取得方法として、約定済注文(Order)もしくは取引(Deal)情報を履歴情報として取得可能です。
下記のように約定前注文、保有ポジションは現在時点での情報として取り扱い、約定済の注文、取引情報は履歴情報として管理されます。

MT4では取引情報は orderselect 関数を使用して過去のポジション情報を取得します。
https://docs.mql4.com/trading/orderselect
各種プロパティを取得するには、それぞれ異なる関数を呼び出す必要があります。※リンク先のNote欄参照

MQL5.com 記事:METATRADER 5 の注文、ポジション、取引 :https://www.mql5.com/ja/articles/211 
参照項目:MQL5プログラムからのトレーディング履歴へのアクセス

MQL5.comでは色々な関数を使用して履歴データを取得する方法を記載しています。ここではそのうちの一つとしてProfit情報を返す関数をサンプルEAとして紹介します。

プロパティとして取得可能な情報について
取引のプロパティ 
https://www.mql5.com/ja/docs/constants/tradingconstants/dealproperties
注文のプロパティ
https://www.mql5.com/ja/docs/constants/tradingconstants/orderproperties

このような情報から、取引結果をご確認いただくことが可能です。

Originally posted 2019-08-12 13:32:12.

板注文画面を表示する方法

MetaTrader4では、次の方法で板注文画面を表示することができます。板注文画面に表示された価格一覧を元に、指値・逆指値注文の際、ワンクリックで注文を入れることができます。マウス操作により、効率よく、スムーズに注文を行うことができます。

板注文画面を表示する方法は、次の通りです。


気配値表示ウインドウ内、板注文画面を表示したい通貨ペアを右クリックし、一覧から「板注文画面」をクリックします。

MetaTrader4 「気配値表示」ウインドウからの「板注文画面」表示設定画面

次へ

選択した通貨ペアの板注文画面が表示されます。板情報には、現在のレートを基準にして、最小単位での価格が表示されます。板注文画面からの詳しい注文方法は、板注文画面からの成行注文・成行決済の仕方をご覧ください。

MetaTrader4 「板注文画面」

ショートカットキーで板注文画面を表示するには、板注文画面を表示したい通貨ペアを気配値表示ウインドウ一覧よりクリックし、キーボードのAlt+Bキーを押します。

キーボードからの「板注文画面」表示方法

Originally posted 2019-08-12 16:26:37.