トレード備忘録 & MT4/MT5インディケータ及びEAの開発

日々のトレード備忘録及びMT4/MT5に関する事項

最新MT4/MT5 事情

2018-08-21 12:37:00 | 投資

 FXを経験した人であれば、一度はMetaTraderを使ってみたいという気になる。実際にチャートを使ってみると、なるほど世間に存在するテクニカル指標は何でも使えるので、どのFX会社でトレードをしていても、相場分析は無料で利用できるMetaTraderのチャートと決め込んでいる人が多い。 

 優れたチャート環境はMT4であろうとMT5であろうと全く変わらないが、MetaTraderの卓越した有用性はチャートによる相場分析にとどまることはない。CやC++に近い簡単なプログラム言語(MQL4、MQL5)を覚えてしまうと、トレーダー各自が考案した取引手法をプログラム化し、そのプログラムが本当に儲かる可能性のある手法であるかどうかを、事前に過去の相場の動きに当てはめて検証することができる。検証の結果が、良好であれば、リアル取引に実際に利用して自動取引として稼働させることができるという優れものである。 

 MetaTrader(MetaQuotes社)は、近い将来、現行のMT4からMT5への全面的な切り替えを計画している。MT4がFXを含むCFD限定の取引プラットフォームなのに対して、MT5はそれ以外の株式、債券、商品先物等の金融商品全般をもカバーする統合システムであるからである。 

 問題はMT4とMT5の間には完全な互換性がないことにある。ただし、本日現在、MT4/MT5双方で互いに近づける努力が重ねられた結果、その違いは両者が使っている関数に互換性がないだけになったといえる。注文送信関数OrderSend()を例にとると、OrderSendの( )内に入る引数がそれぞれ異なる仕様になっただけのことなのだ。そうは言っても、MT5のOrderSend()は複雑で、そのままではプロのプログラマーでも使い辛い。何しろこの関数一つで、MT4のOrderSend()、OrderModify()、OrderClose()までこなしてしまう上に、株式や債券、商品先物にも対応しているからである。 

 そこでライブラリー(Library)という仕組みが必要になってくる。FXのプログラマーならMT5のOrderSend(a,b,c,---)とあるのを、FX専用のOrderSend(x,y,z)と必要な項目だけに特化した簡便な関数を作成し、これから複雑なOrderSend(a,b,c,---)という関数に導く仕組みを開発する。簡略化された関数はMT4に酷似したものであれば、MT4経験者にはプログラムするに際してMT5への抵抗感は少なくなる。こうした一連のMT4に似た関数を用意して、FX用にひとまとめにしたものをライブラリーと呼んでも差し支えないだろう。 

 一方、MT4サイドでも従来のOrderSend()の引数を少し変えてMT5の要素とできるだけ共通化しておく。どちらもFXの送信関数に変わりはないのであるから、( )に入る引数をほぼ共通化することが可能である。一部共通化された一連のMT4関数もこれまたライブラリー化しておけば便利だ。 

 MT4用に作成されたライブラリーをLib4.mqh、MT5用に開発されたライブラリーをLib5.mqhとして用意しておき、MT4で使用されるときはLib4.mqhがMT5で使用されるときにはLib5.mqhが自動的に呼び出されるようにしておけば、MT4でもMT5でも同じ感覚でプログラム作成ができる環境が出来上がる。 

 上記の共通ライブラリー完成版が、LibEA.mqhとして無料公開されている。開発者はほかならぬ神奈川大学工学部教授豊島久道先生、先生はこのプロセスをMT5のMT4化と称されているようである。

http://toyolab.com/fx/

 


MT4 Dual OCOパターン別同時発注システムでらくらくデイトレ

2018-08-19 01:18:23 | 投資

 FX業者の中には、発注画面から売り買い2個のOCO注文を出すことができるところがあります。しかし、この発注方式はかなり複雑で価格や利確値、損切り値等の発注ミスが多発することでも知られています。売りか買いかのいずれか一方のIFO注文であれば、MT4を含めたいずれのFX会社でも採用しているのですが、そこでは発注が二度の作業となるため、これまた複雑さがさらに深まります。 

 OCO注文が力を発揮することができるとすれば、次のような場面が考えられます。 

1)一部の業者では規制されていることがありますが、米雇用統計の発表等のイベントに際し、事前に売り買い2本のOCO注文を出しておき、指標発表直後の上または下へのいずれのブレイクであっても、利ザヤを稼ごうとする手法です。具体的には、IFDまたはIFO(IFDOCO)の売りと買い2本の注文をイベント直前に同時に発注しておき、一方の取引が成立すればもう一方の待機注文はキャンセルするという手法です。 

2)プロのトレーダーの大半はデイトレーダーであるといわれています。彼らが毎朝市場参入前に行うことの一つには、前日のニューヨーク市場の高値と安値をチェックすることが含まれます。東京市場ではレンジ相場になることが多いので、ニューヨーク市場前日の安値に近づいたら押し目買い、高値に近づいたら戻り売りを行って日銭を稼いでいる人が多いとのこと。もちろん、このレンジをブレイクすることがありますから、その際にはブレイクした方へ順張りの戦略に切り変えることになります。 

 単純な2例をあげましたが、これを事前に手動の待機注文として発注するのは結構骨が折れるということは前述しました。発注画面を用意されていても、売りと買いの注文のそれぞれに損切りと利確の注文を入れるのは時間がかかる上に、しばしば数値計算を間違える等の誤発注まで起こしてしまいます。発注画面から一度に発注できればまだ救われますが、これを売り買い別々に注文するとなるとますます複雑になってしまいます。残念ながら、MT4も後者の部類に属しており、売り買いのIFO注文は別々に発注しなければならない仕組みなのです。 

 MT4のよいところは、柔軟性・拡張性に富んでいることから、できないものはトレーダーが自分で作ればよいことになりますが、多くのトレーダーにとっては、そうそう簡単ではありません。そこで、主要指標発表時のブレイク型OCO注文に限らず、レンジ相場にあっても押し目買いや戻り売りのOCO注文を売り買い同時に発注することができるソフトを作ってほしいとの要望がありました。 

 MetaGenicFX社からの要請を受けて、次のようなソフトを作成しました。形の上ではEA(自動売買プログラム)ですが、その中身はIFDやIFO注文を売り買い同時に出すというスクリプトに似た発注システムとなっています。主として短期裁量取引に使っていただきたいので、あえてソフトと申し上げた次第です。このEAを稼働させると売り買い2本のOCO注文が発注されます。その後、MT4を閉じても通常のIFDやIFOと同じように注文から決済まで自動で行われることになります。ただし、MT4を途中で閉じてしまうと、例えば買い注文が成立してポジションが発生した場合、残った売り注文のキャンセルがされないことになります。売り注文が残っていても後で取り消せばよいので、大事には至らないでしょうが、短期取引であるからには、できるだけ取引期間中、MT4はオンの状態にしておいていただきたいものです。 

ソフトの概要 

一、名称:Dual_OCO_MT4EA.ex4

二、取引OCOパターン

 上値UpperPriceと下値LowerPriceのレンジが形成されている場合:

① UpperPriceでの戻り売りとLowerPriceでの押し目買い

② UpperPriceでのブレイク買いとLowerPriceでのブレイク売り

③ UpperPriceでのブレイク買いとLowerPriceでの押し目買い

④ UpperPriceでの戻り売りとLowerPriceでのブレイク売り 

三、パターンの説明

 ①は高値では戻り売り、安値では押し目買いという典型的なレンジ取引、②は高値・安値のブレイクを狙った取引で、雇用統計発表時等イベント時にも利用できる。③は相場が全体として上昇トレンドにある状態で、安値を付ければ押し目買い、高値を付ければブレイク買い、④は相場が全体として下降トレンドにある状態で、高値を付ければ戻り売り、安値ブレイクでも売りという4組の組み合わせ。この組み合わせの中からトレードに合わせて1組を選択することにより、ブレイク取引にもレンジ内取引にも、さらにブレイク買いと押し目買い、ブレオク売りと戻り売りといった他にはない組み合わせのOCO取引にも対応しています。

 MT4を採用していない一般のFX会社でも、売り買い2個の待機注文の発注画面は相当に複雑で、しばしば発注ミスを起こすことがあります。本EAの設定画面はレンジの高値と安値を記入しOCOのパターンを二の4個のパターンから選択するだけで事足りることになります。また、損切値と利確値はピップスで設定することができるので、いちいち両値を計算しなくても済みます。(下記設定ダイアログ画面参照)

 上記デフォルトの設定画面は、相場が上値101.00、下値100.00のレンジにある場合、「下値での押し目買い、上値での戻り売り」のパターン①(EntryType 0)の設定となっています。損切値と利確値は未設定となっていますので、適宜ピップス値を入力します。画面下段4行はEntryType(0~3)を選択する際の参考メモとなっています。ここでのパターン(①~④)は、プログラムではEntryType(0~3)に対応しています。

 

(注)Dual_OCO.ex4はMetaGenicFXにて公開しています。

https://metagenicfx.thebase.in/


一目均衡表のドル円、いつもは見ていないが気になる

2018-08-13 18:44:24 | 投資

 現在8月13日午後5時19分、ヨーロッパ市場が活発になる時間帯に入った。普段はあまり見ないが、マーケットが110円の節目に近くなってくると、日ごろはあまり気にしない一目均衡表にも一応目を通したくなるのが意識はないものの習性になっているようだ。 

 現在のドル円の日足は、一目均衡表を重要視する識者の専門用語を借りると「三役逆転」近しの状況で、ザラ場ではあるが。現値は「雲」の中に突入している。加えるに、遅行線との関係はどうかというと、すでに転換線は下方に突破されており、現値はまさに基準線上にある。ニューヨーク終値ベースで遅行線が基準線を下回るようだと、110円割れも現実的になってくる。逆に、現値が雲の上限で反発したり、遅行線が転換線や基準線で跳ね返されたりするようなことになると、これまでの下げトレンドは終息したと判断される。まさに正念場を迎えているように見える。 

 クロス円の先行きにも気になる。筆者は、常時トラリピ手法をMT4上で運用している。現在、GBPUSD売りトラリピ、GBPJPYとAUDJPYでは買いトラリピを運用中である、傍目には、GBPUSDを除いて、さぞ困っているのではないかと思われるかもしれないが、ご心配には及ばない。 

 過去のブログでも紹介しているが、EA(自動売買ソフト)は実は半手動で稼働させている。半手動の意味するところは、VPS(外部コンピュータ)を賃借りすることなく、MT4採用FX会社で自動売買ソフトを走らせているということである。EAを走らせるにはVPSをレンタルしなければならないと理解している人にとって、トラリピはMT4の有用性を実感する一番の近道ともいえる。 

 どのクロス円通貨ペアについても、MT4独特の逆指値注文方式を選択しているため、相場が下げ続けても途中のトラップでポジションをとることはほとんどない。加えて、相場が逆行する場合には、中抜き作戦を実行しているため、含み損はほとんどないに等しい。 相場が反転して、休ませているEAのスイッチを何時再び入れることになるのか楽しみである。GBPJPYについては、さすがにヘッジをしている。こちらもヘッジポジションを利確して、トラリピのスイッチを入れ直すタイミングを待っている。

 MT4の半手動運用やナンピン買い下がりや売り上がりとないMT4独特の逆指値トラリピの運用方法については、過去のブログで詳しく述べているので、ぜひ参考にしていただきたい。


西山孝四郎(石原順)の順張りEAを自由自在に操る

2018-08-12 00:12:34 | 投資

 8月10日付ブログにて案内の通り、西山式順張り手法で使用される3個のインディケータ、ボリンジャーバンド(BB)、標準偏差(Stddev)及びADXをエントリーのフィルターとして自由に組み合わせることができるEAを完成させました。 

 すでに開発・公開済みのオリジナルEAはそのままに据え置き、別個のEAとして、オリジナルEAに追加Extra版としてパッケージしたものです。西山式順張り手法は、様々な通貨ペア・取引時間軸で利用されており、最適なフィルターの組み合わせにつき、過去検証を通じて事前に探索することを可能としています。MetaGenicFX社によれば、Extra EAを含んだTrendBlazer_MT4EAは従来価格を維持するとともに、オリジナル版EAをすでにお買い求めの方には、ご希望に応じて別途無償にて進呈するとのことでした。Extra EAの開発の趣旨及びその利用法は下記の通りです。(追加商品説明書より) 

         TrendBlazer_MT4EA_Extraの公開とその利用方法 

はじめに  

 弊社にて開発・公開中の西山孝四郎(石原順)提唱順張り手法は、TrendBlazer_MT4EA_V3としてご愛用いただいておりますが、この度、ご利用者様からの要望にお応えし、オリジナルEAはそのままに据え置き、これに加えて、新たにエントリー条件に数種のオプションを持たせたTrendBlazer_MT4EA_Extraを開発・公開することとなりました。 

一、目的 

 オリジナルEAは西山講師の手法に忠実に従ったものでありますが、昨今の利用例としては、日足未満の時間足トレードにて活用される場面が多くなっております。その結果、ADXと標準偏差(StdDev)がともに上昇するというエントリー条件を待っていては、出遅れてしまうという声が寄せられています。ADXとStdDevの一方が上昇をしていれば十分ではないかとか、中にはローソク足がボリンジャーバンド(BB)σ±1を飛び出せばエントリーをし、その後はトレイリングストップ(自動・手動)を適宜利用することにより、ダマシに対処しているとの実績のご報告も受けております。今回のExtraバージョン公開の背景にはこうした事情があり、西山講師のオリジナル順張り手法は尊重しつつ、新たにエントリー条件として4種のオプションを追加しております。オリジナルEA同様ご利用いただきますようお願い申し上げます。 

二、エントリー条件の変更 

 オリジナルEAでは、第一のエントリーシグナルとして、ADXとStdDevを採用しています。そして、BBσ±1からの終値での飛び出しをフィルターシグナルとして追加第二条件としています。換言すれば、ADXとStdDevが上昇し始めた際、ローソク足の終値がσ±1を飛び出していれば、買いまたは売りのエントリーとしておりました。 

 Extraバージョンでは、上記エントリーシグナルとフィルターシグナルとを逆にしています。価格のBB±1の突破を第一エントリー条件とされたいトレーダーのご要望にも対応するとともにADXとStdDevを組み合わせ自由のフィルターシグナル(追加第二条件)といたしました。ADXとStdDevの組み合わせを単独使用から両者使用まで4種のオプションから自由に選択可能といたしました。BB±1の突破のみをエントリー条件とするオプションを加えると、計5種からエントリー条件を選択することが可能となっています。 

 換言すれば、終値ベースでローソク足がBB±1を突破した際、ADXやStdDevをフィルターとして様々な組み合わせで利用することが可能となり、通貨ペアやトレードする時間足に応じた最適の条件を適用することができます。トレーダー個人が事前にバックテストを行って最適条件を探索することを可能としております。エグジット条件はオリジナルEAと同じです。 

三、TrendBlazer_MT4EA_Extraの利用方法  

 ダイアログボックスを開くと、次のような設定画面が表示されます。

 オリジナルEAと異なるところは以下の2点です。

① フィルター利用の有無

 デフォルトではADX、StdDevをフィルターとして使うことになっています。もし、BB±1突破のみをエントリー条件とする場合は、これをfalseとします。 

② フィルターの種類

 フィルターを使う4種のオプションは、最下段の「Filter_ Type」から選択します。0はADXのみ上昇、1はStdDevのみ上昇、2はADXまたはStdDevのいずれかが上昇、3はADXとStdDevの両方が上昇となっています。デフォルトは3となっており、これはシグナルの使い方は逆になっていますが、西山式オルジナルと限りなく同一視できるオプションとなっています。 

以 上 

*  TrendBlazer_MT4EAはMetaGenicFXにて取り扱っています。

https://metagenicfx.thebase.in/


西山孝四郎(石原順)順張りシステムを再考察

2018-08-11 12:08:23 | 投資

 ラジオ日経やセミナーでFX講師として登場する西山孝四郎氏は、現役ファンドマネージャーということだが、そのプロフィールや経歴はほとんど知られていない。講演の内容からはプロの分析と洞察力が窺われ、その人気のほどを知ることができる。 

 講師がその講演の中で毎回紹介されるのが、ボリンジャーバンド(BB)、ADX、Standard Deviation(Stdev)の3個の順張り用インディケータを使った売買手法である。講師の説明によれば、その使い方は次のようなものでいたってシンプルだ。

一、 エントリーの条件

① ADXとStdev

 ADXとStdevはトレンドが発生すれば、売りトレンドでも買いトレンドでも、その曲線は右肩上がりになる。二つの曲線が平行または右肩下がりの状態から、揃って右肩上がりに上昇を始めた場合にトレンド発生と判断する。しかし、これだけではエントリーとはならない。

② BBσ±1 

 ADXとStdevがともに上昇を始めた際、ローソク足の終値がBBσ1の上に飛び出していれば買いのエントリー、σ−1を下に抜けていれば売りのエントリーとなる。 

 下のChart 1は昨日(8月10日)講師がラジオ日経番組ザ・マネーで示された直近のGBPUSD日足のチャートである。明らかにローソク足はσ−1の下に抜けているし、青と黄色で示されるStdevとADXは右肩上がりになっている。この手法の有効性が認められる場面である。

二、エグジットの条件

 手仕舞い条件は、BBのσ±1を飛び出していたローソク足が終値ベースでバンド内に戻った時に次のローソク足の始値で決済するというものである。 

 当ブログ筆者も早くからこの手法に着目し、講師の開発されたチャートをより見やすくMT4上で改良することに加えて、自動売買プログラム(EA)も新規に発表した。改良したChart 2ではStdevやADXが上昇に転じた場合には、線色が赤く変化するようにしている。また、青の縦じまが薄い場合はADXとStdevのどちらかが右肩上がり、濃い青の場合は両方の線が同時に右肩上がりであることを示している。裁量で取引を行う場合には、薄い青が出てくればエントリーの準備に、濃い青に転じればローソク足の色を窺いながらいよいよ市場参入ということになる。EAにはこれらのインディケータもパッケージされているので、興味のある方は、MetaGenicFX社のサイトをご覧いただきたい。

Chart 1

 Chart 2

 最近の相場と西山式順張り手法 

 西山式順張り手法は、日足未満の時間足で利用されることが多い昨今であるが、少しエントリーに工夫がいるようである。すなわち、ADXとStdevが同時に上昇するタイミングでは乗り遅れることが多いとの指摘である。ADXとStdevいずれかが上昇していれば十分ではないかとか、場合によってはローソク足がσ±1を終値で飛び出していれば売買参入し、あとはトレイリングストップを有効に使うことでダマシに対応すればよいとの考えもある。 

 オリジナルEAはそのままで、そのExtra Versionとして上記のオプション選択を可能にするEAを作成してほしいとの要望が届いている。事前に各オプションのバックテストも可能になるため、通貨ペアごとないしはトレード時間足ごとに戦略を変えることもできるからである。 

 Extra Versionは近々MetaGenicFX社から公開の予定である。すでにOriginal Versionをお求めの方で希望される方には別途進呈されるとのことだ。 

MetaGenicFX:

https://metagenicfx.thebase.in/

インディケータの計算方式やパラメータはすべて講師の仕様に合わせています。