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

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

ドル円、フィボナッチの重要ポイントに接近

2017-06-28 02:09:34 | 投資

 2007年6月の高値124.13と2011年10月の安値75.32とするドル円のフィボナッチで計ると現相場は61.8%戻しの112.61に接近している。(現値は112.40近辺) 

 もし終値ベース(月足)でこのレベルを上回ってくると、エリオット波動の下げ3波(Ⅱ―C波)が本年1月の安値98.89で確認されたことになり、現在の波動は上げの第Ⅲ波途上にあることが認定される。このシナリオが正しいとすれば、2016年12月高値118.66や2007年6月上昇第Ⅰ波の高値124.13を上抜ける可能性も出てくる。 

 一方、もし61.8%のフィボナッチで押し戻されることになると、Ⅱ波(ABC)の下げは未だ続行中ということになり、一部のエリオット波動論者が唱えるように、38.2%戻しに相当する93.97辺りまで下落するとの予想もその可能性が否定できなくなる。いずれにせよ、重要局面に接近していることには間違いない。特にニューヨークダウの暴落説も囁かれている昨今、厳重な警戒が必要だ。 

 添付したのは、MT4チャート(月足)上にFibonacci Replacementを描画させたものである。標準搭載のフィボナッチには23.6%戻しはあるが、76.4%戻しは入っていない。また、各%ラインにおける価格も入っていないので、その数値の把握に不便を感じる向きが少なくない。添付チャートにはそれらの全てが表示されている。簡単に表示できるようになるので参考にしてほしい。

  一番簡単な方法は、フィボナッチ級数の最高値と最安値を結んだ斜め斜線をダブルクリックして下記のダイアログボックスを表示させる。「追加」を選択して例示のように空欄を埋める。最下段の例は76.4%ラインを追加したものだ。「レベル設定」欄に0.764、「説明」欄に76.4-%$と挿入することにより目的のラインや数値が表示されるようになる。


新MT4対応ライブラリーに感謝!!

2017-06-24 15:29:05 | 投資

 6月7日のブログで、豊嶋久道著Kindle版「新MT4対応EA実践プログラミング」に触れた。同著を読み進んでいくうちに、新規開発されたライブラリー、LibEA4.mqhの素晴らしさに驚嘆している。 

 その有難さを平たく表現すると、同ライブラリーをスーパーマーケットに陳列された「刺身用の柵」に例えることができる。消費者は、この柵を適当な大きさに切り分け、お皿に盛り付け、ワサビと醤油でいただくだけになっている。魚の鱗をとったり、頭や骨を外して三枚におろしたりする作業はバックヤードの仕事であって、我々の目には触れることはない。 

 ことほど左様に、新MT4プログラミングにとって必要な前処理は全てLibEA4.mqhが裏方としてやってくれているのである。そして、来るべきMT5にもほぼ同じようなプログラミング手法で対応できるように工夫されている。著者紙本「FXメタトレーダー4 & 5」で開発された「MyPosition.mqh」では、まだいくつかの前処理が利用者に課されていたが、今回これらの作業も全てライブラリー側が面倒を見てくれるようになっている。 

 例えば、売買シグナルsig_entry、決済シグナルsig_exitの発生条件を通常のEA同様に準備したとする。(紙本「FXメタトレーダー実践」参照)そして、ストップロスとして変数SLpipsを設定すると、一連の作業を含めたEAの本体部分は、次のような簡素なものになる。 

//ストップロスの設定

if(MyOrderStopLoss()== 0) MyOrderModify(0, MyOrderShiftPrice(-SLpips), 0);

//成行き売買

MyOrderSendMarket(sig_entry, sig_exit, Lots);

 このような簡潔な記述でEAを完結させることができるのは、MT5共通のオリジナル内部関数等が多数開発され、われわれの見えないところで必要な前処理が行われているからである。前処理の内容をすぐに理解することは難しい。でも、旧MT4を理解している読者にとっては、ライブラリーのプログラムをつぶさに読めば徐々に理解することができる。まずは使ってみることだろう。ライブラリーの内部処理の詳細を知ることは必ずしも必要ではなく、後で学んでも決して遅くはない。MT4を学んでいるようでいて、実はMT5の訓練をさせられているのである。 

 今回のライブラリー、LibEA4.mqhで大助かりなことは、豊富なトレード関連関数が採用されたことである。数えてみると、30個以上が用意されている。紙本「MT4メタトレーダー実践」の5個と比較すると格段の違いである。例えば、含み益が100pipsに達すれば、利益を確保して決済したいという場合、現在の含み益をピップスで計算するのには、結構面倒な計算が必要であるが、開発されたMyOrderProfitPips()を使えば一発で呼びだすことができる。含み益を金額ベースで呼び出すことができるMyOrderProfit()が用意されていることは、もちろんである。著者自らのトレード経験に加えて、多くのプロ級MT4トレーダーが開発してきたオリジナル関数を一堂に集結させた功績は大きい。実用的で、高速かつ無駄のないEAを作成することが可能となった。 

 今回のライブラリー、LibEA4.mqhのネーミングやその扱いは示唆的である。いずれLibEA5.mqhへの変身を予感させられる。また、同ライブラリーは未だ正式なライブラリー扱いはされていない。MT4が現在も更新中であることを考慮してのことと思われる。そうした著者の指示にも拘わらず、ブログ筆者は、正式なライブラリーとしてincludeファイルに保管して使用させていただいている。

 


順張りのテクニカル指標(仕切り、フィルタ-、手仕舞い)

2017-06-13 16:46:36 | 投資

 相場の世界の格言に「頭としっぽはくれてやれ」というのがある。つまり、トレンド相場を「たい焼き」と見立てて、その頭としっぽは捨てて、おいしい部分である「あんこ」の詰まった部分を取っていこうという趣旨である。 

 FXの名だたる講師たちがそう教えながらも、実際の公開取引では惨敗するという場面にも多く遭遇した。頭や尻尾さえも取れない人まででる有様であった。言うは易いが、トレンド相場に乗るというのは、至難の技であるもことをも実感したシーンであった。 

 トレンド発生を知らせてくれるテクニカルは数多くあるが、それらをいかに使えばよいのかを検討してみたい。 

1)仕切りのシグナル

 仕切りつまりエントリーに適したテクニカルは、やはり値動きそのものを反映したものが中心となる。MT4チャートでいえば、ローソク足が描かれるメインチャートに表示される分析指標が適切である。 

2)フィルター

 仕切りシグナルだけでは、ダマシに遭うことが多いので、これを確認ないしは補完するためのものである。メインチャートではなく、MT4の下段(Separate Window)に表示される分析ツールが中心となる。あくまでトレンド発生ないしは継続を確認するためのものであるから、いわゆるオシレーター系の指標は対象外となる。 

3)手仕舞いシグナル

 トレンド相場の終焉もいち早くプライスアクションとして現れるから、仕切りシグナル同様メインチャートに描画されるテクニカルがふさわしいと考えている。仕切りシグナルが手仕舞いシグナルとなる可能性も大きい。シグナル発生の有無とは別に、利確値・損切値の設定で対処することができることはもちろんである。 

4)テクニカル指標の組合せ(手法①)

 現在FXトレーダーの間で人気のある順張り手法は、西山孝四郎(石原順)氏が自らの戦略ともされるもので、ボリンジャーバンド(BB)、ADX、Standard Deviation(Stdev)を組み合わせている。詳細については、以前のブログで述べたとおりである、そこでは、BBが仕切り及び手仕舞いに、他の二つはフィルターとしての役割を演じている。 

5)手法①の改善・発展策

 ①の戦略では。BBがσ±1をバンド外に飛び出した時にエントリーする。その際、ADXとStdevを観察すると両指標ともすでに上昇していることが多い。また、反対トレンドが既に開始しているのに、ADXとStdevには反応なしということもある。つまりBBがσ±1を飛び出していること自体が、仕掛けシグナルでもあり、フィルターシグナルでもあることに気付くのである。ADXとStdevは、目で確認するための遅めのフィルターになっていることが多い。チャートをよく観察すると、ADXやStdevが上昇する位置はBBσ±1内外のどこででも起こりえる。そうであれば、いっそのことBBのシグナルのみで完結する売買手法でよいのではないか。 

 プライスアクションでもってトレンドの発生を知らせる指標には平均足(英名Heiken Ashi)がある。MT4に標準搭載されている平均足はダマシも結構多い。さりとて、これを平滑化したHeiken Ashi Smoothedも現値から相当乖離した位置に描画されることになり使い辛い。以下に添付したチャートで表示される平均足は筆者が改良を加えて、ダマシが少なく、且つ、反応も悪くない改良版平均足である。フィルターとしてはMACDのシグナルを考えている。MACDシグナルの長所は上げ基調では上昇し、下げ基調では下降してプライスの上下と同期するところにある。 

6)筆者推奨テクニカル使用の組合せ

 仕掛けシグナル:BB、改良型平均足

 手仕舞いシグナル:BB、改良型平均足

 フィルターシグナル:MACDシグナル

 その他:選択により損切り値を設定する 

7)筆者推奨テクニカルを表示したチャート

 

 (注)①最下段がMACD(12,26,5)のシグナルライン、上昇は白く、下降は青く色分けしている。メインチャート上の平均足の上昇、下降ともほぼ同期しているので、フィルターとしてはふさわしい。またチャート上で青く囲んだ部分はいわゆるノイズであるが、MACDのフィルターが効いているので、この平均足の転換でエントリーすることはない。②参考までに中段には西山孝四郎氏お勧めのADX(14)とStdev(26)を表示している。       

8)上記チャートに基づいた自動売買プログラム(EA)

 ちょっと欲深いかもしれないが、一つのEA内に二つの戦略を同居させる。一つは、ボリンジャーバンドのσ±飛び出しでエントリーし、バンド内への回帰で手仕舞いとする戦略。もう一つは、改良型平均足の転換でもって仕掛けシグナルを出し、その際MACDシグナルの方向性と合致した時のみエントリーするというもの。旧MT4でもマジックナンバーを変えることにより、同一EA内で二つの戦略をとることは可能であったが、新MT4では各戦略を別配列として扱うことができるようになり、この様な戦略は簡易に、しかも高速で処理できるようになった。ただいま、DoubleDecker(仮称)としてプログラム中であり、満足のいく結果が出ればご紹介したい。


どっこいアルパリ(Alpari)は生きていた!

2017-06-10 10:56:21 | 投資

 2015年1月のスイスフランショックで英国在の老舗ブローカーアルパリが破産に追い込まれた。その日本法人アルパリジャパン(株)もスイス系金融機関Dukascopy Japanに買収されたが、アルパリの顧客や評価の高かったMT4も引き継がれていない。 

 すっかり死んだ会社とばかり思っていたが、最近買い求めた電子本「新MT4実践プログラミング」の中で、MT4システムのダウンロード先としてAlpariが推奨されていたのである。半信半疑の半面、あの豊嶋久道氏の勧めだから嘘ではあるまいと読み進んでいくうちに事情が分かってきた。欧米の会社によくあるパターンで、破産したAlpari UKとは全くの別会社Alpari Limitedがカリブ海タックスヘイブンの英国領セントヴィンセントに設立されていたのである。会社情報をよく読むと、実態は旧アルパリのままであり、実際の経営とオペレーションも引き続きロンドンで行われているようである。 

 それではなぜ著者がダウンロード先としてアルパリを推薦するのかというと、「過去のチャートデータ(ヒストリカルデータ)が豊富で入手するのも簡単だから」とされている。著者の勧めに従って、(新)AlpariのサイトからMT4をダウンロードして試しているところだ。過去データを20年間分保存しているというだけあって、かなり綿密なバックテストができそうだ。 

 参考までにAlpariのURLは下記の通り。HP左上段のRegister myAlrariに登録する必要があるが、これは実口座の申請ではない。登録を完了するとMT4のダウンロードおよびデモ口座の申請が可能となる。デモ口座は2週間に最低一度そのデモ口座上でトレードしていれば、期限なく使い続けることができるようだ。

https://alpari.com/


新メタトレーダー4(新MT4)との付き合い方

2017-06-07 07:54:34 | 投資

 MT4が世に出たのは2005年、2011年にはその後継となるべきMT5がリリースされている。ところがMetaQuotes社(M社)の期待に反してMT5がその役割を果たすことはほとんどなく、MT4が今日に至るまで、FXトレーディングプラットフォームとして世界標準の地位を不動のものとしてきた。 

 そのような状況下、MT5の普及を急務とするM社は、2014年2月唐突にMT4をBuild 600として更新した。Build 600以前の(旧)MT4と互換性を保ちながら、MT5とも一部関数等に互換性を持たせるというものであった。この(新)MT4も最新版はBuild 1090まで進み、バグをはじめとする当初の不具合や混乱も収まり、現在では安定的な推移をみせている。 

 Build 600以降の新MT4では何がどう変わったのか、チャート機能に関する限り旧MT4と大きく異なるところはない。MT4を使って相場分析をされている方にとっては、何の不自由もなさそうだ。ところが、新MT4(新MQL4)を使って、インディケータや自動売買プログラム(EA)を作成しようとすると、その異変が明らかとなる。 

 先ず、メタエディター(プログラム作成のフォーマット)がMT5仕様に変わっている。関数もMT5で使用する int OnCalculate( )とかvoid OnTick( )等に入れ替わっている。OnCalculete( )に至っては、構成する変数も多数で一見して面食らってしまうほどだ。次に驚くのは、MQ4 Referenceから旧MT4の関数が消え去っていることである。互換性ありとはいいながら、int start( )やint init( )は、もう用なしという扱いである。情報では、M社のサイトからは、MT4ダウンロードはもはやできないとのこと、また、新規参入のFX会社には、MT5のみのオペレーションが許されるということである。 

 以上から、M社が一日も早くMT4からMT5に移行したいという方針は明らかだが、ここまでくるといろんな疑問が湧いてくる。

① なぜMT5にこだわるのか

 理由の一つは、MT5の開発目的にある。MT4はFXを含むCFDの取引に特化したシステムであるのに対して、MT5の対象とするのは、それだけにとどまらず株式や債券、商品先物にも対応するシステムであることだ。FXでは競合ソフトTrade Stationを駆逐した感があるが、M社としては他商品市場においても早急にMetaTraderブランドを確立させたいのである。

 もう一つの理由は、システムの高速化にあるとされる。MT5でのデータの取り扱いは、構造体やクラスというモジュールが大幅に取り入れられていることである。構造体を構成するデータのやり取りは参照渡しとするものが多く、従来の値渡し方式と比較して、メモリーの消費量が大幅に削減できるとされる。 またクラスはオブジェクト機能を追加して、プログラム言語としての更なる質的向上を実現させた。

② なぜ旧MT4からMT5に直接的に移行しなかったのか

 その質問は、「MT5がなぜ今まで受け入れられなかったのか」という問いと同義である。もし、MT5で次のようなFXトレードをしたら、どうなるかを見てみよう。上から下への取引順序

 1.買い 1ロット

 2.買い 2 ロット

 3.買い 3 ロット

 4.売り 6 ロット

 上の3の取引を終えた段階では、それまでのポジションは合算されて6 ロットとされる。ターミナルの取引タブには6ロットのみが表示され、それまでのポジションは表示されない。つまり、取引毎の情報は存在しなくなるので、個別の決済や損益把握はできない。MT4では、マジックナンバーやチケットナンバーでの各注文やポジションのコントロールができたが、MT5ではできないことを意味する。トラリピなどの複数ポジションを扱う戦略は原則できなくなる。また、4番目の取引の売りオーダーが成立すると、たとえ両建て取引を可とする業者においても、ポジションは自動的にゼロとなる。これでは、両建て戦略は不可能となってしまう。なぜ、両建てができない仕様になったかは、開発当時米NFAが両建てを禁止したからだとされている。この様な状況で、旧MT4からMT5へ直截的に移行させたなら、ほとんどのEAは作動しなくなる。どうしてもワンクッション入れる必要があった。MT5への道は容易ではない。 

③ どうしたら解決できるのか

 一つは、MT5自体の仕様を取引実態に即したものに変更することだ。トレード関数を含めてプログラムを取引市場や取引慣習に合わせて変更することは不可能ではないはずだ。業者やトレーダーサイドで対応せよというのは、あまりにも勝手な言い分であろう。

 もう一つの方法は、既に始まっている。現行MT5の仕様を前提に、利用者側で対応しようとする試みである。豊嶋久道著「メタトレーダー4&5」では、MyPosition.mqhというライブラリーを開発され、上記を含めた諸問題の解決策を提案されている。また、いずれMT5に移行するのを前提に、新MT4にも同種ライブラリーLibEA4.mqhを開発され、著書「新MT4実践プログラミング」の中で公開された。考え方としては、MT5のライブラリーと同じようなライブラリーを使って、新MT4のEAを作成しようとする試みである。旧い文法はいずれ使えなくなるから、今から新しい文法を勉強して全面的なMT5への移行に備えておこうという趣旨であろう。 

 新MT4は旧MT4と互換性は保たれているので、当面、旧MT4仕様でプログラムは書くことができる。また、新MT4も顔かたちは異なるが、中身はMT4であるから、新MT4エディターでのプログラムもさほど困難ではない。これからもMT5への移行に向けての努力はされると思われるので、進捗状況をじっくり見守りたい。