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

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

GP-CHARTのデコンパイルに挑戦【1】

2018-12-17 15:30:16 | 投資

 ひところFXセミナー講師として大活躍されていた鈴木隆一氏であるが、最近では表舞台に登場されるのを見なくなった。FX草創期に、それまで日本ではあまりなじみのなかった様々なテクニカル分析指標を、書籍や講演・セミナーを通じて一般に紹介された功績は大きい。理工系出身講師としてその説明には説得力もあり、今もFXトレーダーの中には、講師を通じて基礎知識を習得した人も多かろう。 

 講師が代表を務めるガンパウダーという会社のウエッブページでは、会員登録をするとGP-CHARTと称するMT4用のインディケータが無料でダウンロードできた。大変色鮮やかなチャートでローソク足に似た足の色が上昇局面、下降局面ではっきり判別でき、レンジ相場と思しき局面ではそれらとは別の色で表示されるため大変重宝していた。残念ながら、機械語のみのインジであったため、それがどのようなプログラムであるかは、筆者の能力不足もあり、皆目見当がつかなかった。 

 機械語のプログラムを人間が読めるソースコードに戻す作業をデコンパイルというが、これを特殊なアプリで行うことは不可能ではないが、現実的にはかなり困難を伴うらしい。鈴木講師もデコンパイルはしないで下さいと注意書きをされていたから、道義的にもこれはできない。 

 少しはFXとか相場分析に対する知識も蓄えた昨今、改めてこのインジを眺めてみると、これが明らかに平均足の修正版であることが分かる。二つのチャートを並べてみるとその相似性がはっきりする。左がGP-CHART、右がMT4標準搭載の平均足(Heiken Ashi)である。

 

 二つのチャートが祖を同じくすることは明らかだ。平均足と異なるところを補正すればGP-CHARTに変換することが可能となるはず。この過程をたどるのであれば、鈴木講師が禁止されているDecompileには当たらない。

1)まず、GPのローソク足の緑の部分の論理式

 平均足では陽線と陰線の2区分であるが、GPでは緑の部分が加わる。この部分の論理式は簡単に想像できる。平均足が陽線の場合でも、下ヒゲが上ヒゲより長い場合は緑、平均足が陰線の場合でも、上ヒゲが下ヒゲより長い場合は緑色と論理付けされていることが推察できる。

2)ローソク足の計算式

 次に、ローソク足の胴体部分の長さが微妙に異なる。これは平均足の期間の取り方が異なる、即ち各足の計算式が異なるものと推論される。 

 平均足(Heiken Ashi.mq4)のソースコードは公開されているのであるから、後はこれを一部改変するだけである。1)の部分はすぐにも修正可能だが、2)の部分は試行錯誤が伴うことになる。

 

----- 事項に続く-----

コメント

トラリピ必携、全決済・全取消し・全変更スクリプト

2018-12-08 14:00:54 | 投資

 TrapRepeatIFD(通称トラリピ)の注文では、その名の通り、待機注文の一種であるIFD注文を複数本発注しておき、首尾よく利確の決済が出来れば連続してその注文を繰り返します。 

 2~3本の注文であれば手動でも対応できますが、10本超になる注文となると入力ミスを犯しかねません。まして複数通貨ペアにて運用するとなると、とても手動では間に合いません。MT4でEAによる自動売買が好まれる理由の一つには、この利便性が挙げられます。その他隠れた理由としては、必要証拠金の問題も見逃せません。MT4非採用のFX会社では、指値や逆指値注文を出した時点で証拠金が必要となりますが、MT4採用会社では、通常、発注時点では証拠金は必要ありません。指値や逆指値注文が通ってポジションが発生した段階で初めて証拠金が必要となります。

 注文時点で証拠金が不必要なこともあり、MT4では注文数が20本程度に達することは頻繁にみられます。3通貨ペアにて各20本、計60本のトラリピを運用しているとします。このうち、ある通貨ペアの運用を中止したい場合、面倒なことが起こります。ポジションの決済や残存待機注文の取り消しを手動でしなければなりません。これがとても厄介なことは誰しもが経験することです。 

 先ずオープンポジションが複数本ある場合に、それらを同時に決済したい、加えて残存する待機注文を一挙に決済したいという必要性に迫られます。実は、従来からこのような機能を持つスクリプト(Script)はあるのですが、それを使うと、対象通貨ペアを含めたすべての通貨ペアのポジションが決済されたり、全通貨ペアの待機注文がキャンセルされたりするということが起こります。また、お勧めはできませんが、トラリピの上級者には複数の待機注文を1本に纏めたいという要請もあります。 

 上記のような諸問題解決のため、トラリピ運用の必需品として下記3種のスクリプトを開発し、このほどMetaGenicFX社に納品しました。いずれも、通貨ペアごとに全決済、全取り消し、全変更を可能にするスクリプトです。トラリピ以外の裁量取引、自動取引いずれの取引にも利用できること、申し上げるまでもありません。

CloseAll_By Symbol、DeleteAll_BySymbol、ModifyAll_BySymbol

 

ご興味のある方は、https://metagenicfx.thebase.in/ まで。

コメント

長短金利逆転?

2018-12-06 10:01:33 | 投資

 今朝の日経新聞に「米長短金利11年ぶり逆転」とのセンセーショナルな記事が載せられていた。短期金利が長期金利を上回るという異常現象で、かねてから株価暴落の兆しとして恐れられてきた。 

 昨日、米国は休日となったため、12月4日(火)のニューヨーク市場の数字に基づく報道であるが、当日のイールドカーブの逆転現象はいかなる状況であったのか。次のチャートはその実際である。

  詳しく見ると、確かに2~5年の曲線はわずかに下がっているように見えるが、全体としては未だ右肩上がりになっており、逆転現象とセンセーショナルに報道するほどではないのではないか。 

 Yield Curveの逆転は、景気後退・相場暴落の兆しとして市場関係者から注目されていることには変わりはないので、注意は怠らないようにはしたい。FRBの次の動きが気になる。

 

 

コメント

待つFX

2018-11-11 11:44:15 | 投資

 仕事柄、FX関連のセミナーを聴くことや書籍に接する機会が多いが、残念ながら、それらによって実際のトレードの成績が格段に上がったということはない。ファンダメンタル分析やテクニカル分析は基礎知識として重要であることはその通りだろう。でもそれらのことは、トレードで好成績を上げることとは直接結びつかない。必要条件ではあるが、十分条件ではないのである。 

 筆者の場合で言うと、勝ち始める転機は別のところにあった。それは、自分が勝てる環境になるまで「待つ」ということを覚えたことであった。目にした書籍の中では、「待つFX」とか「トレードは17分だけ」とかいうのがあるが、感覚的にはそれらに近い。おこがましいとは思いつつ、自分のトレードスタイルを述べさせていただくと; 

① デイトレ

 30分足、1時間足での押し目買い、戻り売りを中心にした順張りである。ローソク足の代わりに新平均足と2本の移動平均線を使っている。順張り局面の判断は、2本の移動平均線(MA20とMA38またはMA50)が平行して右肩上がり、ないしは右肩下がりになっている局面でのみ市場参入することにしている。移動平均線が、水平状態にあるときにはトレードしない。買いの場合は、2本の移動平均線が、並行して右肩上がりの状態で、新平均足が押し目を形成した後、終値ベースで上昇に転じたのを確認して、次の足の始値でエントリーする。売りの場合はその真逆である。 

 2本の移動平均線が揃って右肩上がりまたは右肩下がりになるのは、1日平均一度、多くて2度程度である。とてもパソコン画面をにらみ続けるわけにはいかない。そのため、新平均足の色(トレンド)や移動平均線の色(トレンド)が変化したときには、間髪を入れずMT4システムのメール発信機能を利用して携帯にメールが届くようにしている。とある著書では、夜3時間のみパソコンの前に座ってチャートを観察、チャンスとなればエントリーし、ポジションクローズまで17分で終わるというのがあったが、これとよく似たトレードスタイルでもある。

 観察する通貨ペアはEURUSD、GBPUSD、その他ストレート通貨を1 ~ 2種類程度に絞っている。短期デイトレなのでスプレッドの広い通貨ペアは避ける。必ずストップは入れておく。5 ~ 7ピップス以上の含み益が出た段階で、ストップをエントリー価格に変更して、以降その取引では負けがない状態にしておく。含み益が順調に膨らめば、トレイリングストップを利用して、さらに利益を伸ばしていく。新平均足の色(トレンド)が逆に変化した時点で手仕舞い、またはトレイリングストップで強制的に利確となる。

 ② 中長期トレード

 こちらは、4時間足にATR Channel を表示しておき、ローソク足がσ+2を突破した段階でそこを天井とした逆指値の売りトラリピを仕掛ける。もちろん、相場は天井を超えてそのままトレンドを続ける場合もあるが、そこは仕掛けたトラップの域外であるから、ナンピン売り上がりとなることはない。いずれ相場が戻るのを待つだけである。待つのをよしとしないのであれば、注文をキャンセルするだけでよい。ATR ChannelはFX講師西山孝四郎氏が使用されているものであるが、ボリンジャーバンドで代用することができる。 

 短期デイトレと同じで、こちらも相場がσ+2やσ-2の域に達するまで、何もしない。また、相場が狙った方向に向かわなくても、いずれ狙った方向に戻ってくるのを待つだけである。仕掛ける前も、仕掛けた後もただ待つだけだ。売りも買いも逆指値ということは、トラリピという戦術は逆張りであるにもかかわらず、個々のエントリーは順張り指向なのである。 

 トレードで勝つ条件は、先ず自分のトレード戦術があり、その戦術が通用する機会を待つことにあると言えば、言い過ぎであろうか。

 

(注)

 新平均足やトラップ取引については、過去ブログを参照されたい。

コメント (2)

MT4/MT5 のクラス機能を使ってみよう

2018-11-06 10:36:55 | 投資

 MetaTraderではそのシステム一本化のため、現在かなりのスピードでMT4とMT5の接近が進められている。特にMT5のbuild更新は頻繁で、FXトレードを行う上ではMT4とさほど変わらぬ環境となりつつある。 

 豊島久道先生はすでにMT4/5共通のライブラリーを開発され、一般に公開された。ライブラリーを活用することで、実質的にはMT4とMT5の垣根は取り払われているわけであるから、MetaTraderとしてはあと少しの工夫で両者の完全互換性が達成できるのではないかと、ひそかに期待している。 

 この間、MT4サイドにも着々とMT5の仕様が移植されてきている。C++のいわゆるオブジェクト指向の要素も拡充され、一見何も変わらないように見えるMT4もおおいに変貌を遂げている。MT4でも使えるようになったクラス機能による組み込み指標関数についてiMomentumを例に取り上げてみよう。 

 クラスの追加により、現在のMT4では組み込み関数iMomentum()とともに、CiMomentumが使えるようになっている。MT5でもMT4のiMomentum()は存在するが、使い方がMT4とは全く異なる。むしろ、クラスのCiMomentumのほうが使いやすいかもしれない。MT5の練習のために、クラスを使ったMT4用の仕掛けシグナル関数を示すと次のようになる。

#include <Indicators\Indicators.mqh> //インジのクラスをインクルード

input int MomPeriod = 20;

中略

//仕掛けシグナル関数

int EntrySignal()

{

   //テクニカル指標の設定

   CiMomentum Mom; //モメンタムのオブジェクト  

   //テクニカル指標の初期化

   if(Mom.MaPeriod() < 0) Mom.Create(_Symbol, 0, MomPeriod, PRICE_CLOSE);  

 Mom.Refresh(); 

   int ret = 0; //シグナルの初期化 

   //買いシグナル

   if(Mom.Main(1) > 100) ret = 1;

   //売りシグナル

   if(Mom.Main(1) < 100) ret = -1; 

   return ret; //シグナルの出力

}

 

 

 

コメント