Wizard In The Market
システムトレードの魔術師

*

■CI解析■人気のVQの計算方法

公開日: : 最終更新日:2015/01/13 その他

おはようございます。キリンです。
アメリカvsガーナは白熱した試合展開でしたね!
前半のガーナの運動量の多さによる守備は鬼でしたが、
やはり後半までそれを続けることができずに、
気持ちの切れ掛かったところでアメリカにPKを与えてしまい、同点。
そこからの両者バテ始めている状況でのプレイは鬼気迫るものがありました。
みんな気持ちだけで動いている。素晴らしい試合でした。
結局は、延長開始数分でガーナが決めた得点が決勝点になり、
ガーナがベスト8進出です。
アフリカ勢最後のガーナ。
ぜひ頑張ってもらいたいものです。
次はウルグアイでしたっけ。
・・・どっちにも勝って欲しい(w
さて、本題のインジケータ解析結果です。
匿名さんからご依頼があったので早速やってみました。
VQのインジケータのリンク
■主要ロジック部
インジケータの主要ロジックを探し出すには、SetIndexBufferを探すのが基本。
どの配列がBufferとなっているかを確認し、それがどのように計算されているかをたどります。
今回の場合は、SumVQ[]が重要なようです。
それを追うことにします。

while (i >= 0)
{
  MH = iMA(NULL,TimeFrame,Length,0,Method,PRICE_HIGH,i);
  ML = iMA(NULL,TimeFrame,Length,0,Method,PRICE_LOW,i);
  MO = iMA(NULL,TimeFrame,Length,0,Method,PRICE_OPEN,i);
  MC = iMA(NULL,TimeFrame,Length,0,Method,PRICE_CLOSE,i);
  MC1 = iMA(NULL,TimeFrame,Length,0,Method,PRICE_CLOSE,i + Smoothing);
  if (Steady==true) {MC=iMA(NULL,TimeFrame,Length,0,Method,PRICE_MEDIAN,i);    MC1=iMA(NULL,TimeFrame,Length,0,Method,PRICE_MEDIAN,i+Smoothing);}
  VQ[i] = MathAbs(((MC – MC1) / MathMax(MH – ML,MathMax(MH – MC1,MC1 – ML)) + (MC – MO) / (MH – ML)) * 0.5) * ((MC – MC1 + (MC – MO)) * 0.5);
  SumVQ[i] = SumVQ[i + 1] + VQ[i];
  if (Filter > 0) if (MathAbs(SumVQ[i] – SumVQ[i + 1]) < Filter * Point) SumVQ[i] = SumVQ[i + 1];
  if (TimeFrame > Period()) SumVQ_MTF[i] = SumVQ[i];
  i–;
}

ここが実際にインジケータのラインを定義している部分になります。
計算に用いる変数はこれです。
MH:高値移動平均
ML:安値移動平均
MO:始値移動平均
MC:終値移動平均
MC1:終値移動平均(Smooting分前のもの)
この主要ロジックの中でもとりわけ重要なのがこの部分

VQ[i] = MathAbs(((MC – MC1) / MathMax(MH – ML,MathMax(MH – MC1,MC1 – ML)) + (MC – MO) / (MH – ML)) * 0.5) * ((MC – MC1 + (MC – MO)) * 0.5);

ちょっと見やすくするとこんな感じです。
■超直感!MT4(MQL)プログラミング講座■
こんな計算式を使っています。
そして、VQ[i]の値は変動率がでてくるので、

SumVQ[i] = SumVQ[i + 1] + VQ[i];

このように、一つ前のSumVQ[i+1]にVQ[i]を足しています。

if (Filter > 0) if (MathAbs(SumVQ[i] – SumVQ[i + 1]) < Filter * Point) SumVQ[i] = SumVQ[i + 1];

さらにその前にフィルター以上の変動率でなければ反映させないという、
こんなのも入ってます。
これが外部パラメータFilterの効果です。
また、SumVQ[i]は事前にCloseの値段を割り当てているので、
変動率の計算のおおもとは外部パラメータのCountBarsのから変動させています。
これが基本ロジック。
簡単に外部主要パラメータの説明をします。

TimeFrame 時間足  実はMTF対応だったんですね。
Length 移動平均の期間
Method 移動平均の方法
Smoothing MC1の移動分
Filter 変動分がFilter以下だったら移動させない
RealTime falseだとローソク足確定時のみグラフを描く
Steady 下記参照
Color グラフを色分けするか
Alert アラートを使うか
SignalPrice

シグナルが表示された価格をオブジェックトで表示させるか

SignalPriceBuy 買いの場合のSignalPriceの色
SignalPriceSell 売りの場合のSignalPriceの色
CountBars インジケータを表示させるバーの本数

MethodとかTimeFrameへの変数の入力は、iMAの関数に対応しているので、
まったくMQLの知識のない人は戸惑ってしまうかもしれないですね。
TimeFrameへの入力できる値の参考リンクはこちら
Methodへの入力できる値の参考リンクはこちら
リンク先の[ Value ]と表示されている部分の数値を入力することになります。
他のロジックとしては、

if (Steady==true) {MC=iMA(NULL,TimeFrame,Length,0,Method,PRICE_MEDIAN,i);    MC1=iMA(NULL,TimeFrame,Length,0,Method,PRICE_MEDIAN,i+Smoothing);}

Steadyがtrueだったら、MCとMC1の適応価格がCloseではなくて、MEDIANになります。
多少の変化はでるのかな。
計算方法は分かりましたが、根底にある理論までの知識がなく、
考察はこの程度でした。
計算方法を見るだけで理論をご理解いただけた方、ぜひお話をお聞かせいただければと思います。
最後までお読みくださりましてありがとうございました!
ご参考になれば幸いです^^

にほんブログ村 為替ブログへ 
Fx-Kirin

About Fx-Kirin

2009年10月にFXを開始、翌年2010年5月から脱サラをしてFX業界に専念。 2012年10月頃から本格的に勝ち始め、一月で資産を倍にする、2年半月間負けなし等、安定した収支で2013年11月に生涯FX収支が1億を超える。 投資スタイルはシステムトレード。プログラミングの知識がほぼない状態から、独学で自分がしたいと思うことであればほぼ実現することが可能なレベルまで成長。好きな言語はRuby, Python。必要となればC++からVBA、Pascal等なんでも行う。MT4/MT5のプログラミングも得意。 2011年にはFXで稼いだ資金をもとにシンガポールに移住し、留学も兼ねて起業をチャレンジするほど、ビジネスを興すことに熱意がある。国内の業者を主に使い始めたことから、2012年に帰国。零細株式会社経営中。

Adsense

  • このエントリーをはてなブックマークに追加
  • Pocket
  • 68 follow us in feedly

関連記事

no image

ObjectCreateの使い方

おはようございます。キリンです。 きりんさん こんばんは インジいただきました。 ありがとうございました。 お願いなので

記事を読む

no image

【作業メモ】C++ Win32 DLL を Ruby から呼ぶ

参考にしたサイトはここhttp://infosc.blog104.fc2.com/blog-entry-3.html

記事を読む

no image

kconvを使っても文字化けするとき。

「㎡」がtosjisで文字化けしてしまった。そんな時は とかを使うと良いhttp://d.hatena.ne.jp/

記事を読む

no image

Metatrader4 (MT4) を さくら VPS の Ubuntu OS 上で動かす

せっかく980円で使えるし、MT4の自動売買以外の用途にも色々万能そうなので導入してみた。Windowsサーバーも良

記事を読む

no image

Java Access Bridgeライブラリ

http://docs.oracle.com/javase/7/docs/technotes/guides/acces

記事を読む

no image

ストップ狩についてのご紹介

http://zai.diamond.jp/servlets/Query?SRC=zaifx/kikaku/nazo&a

記事を読む

no image

チャートの有用性

ちょっと内容が複雑になってきて、 短文ではまとめられなくなってきました。 んー、それでも頑張って書いてみます。 今回のお

記事を読む

no image

MQLからC++ DLLへの参照渡しorポインタ渡し・・・。

おはようございます。キリンです。 マニアックなネタなので、ほとんどの人は興味がないと思いますが、 メモ代わりに記載してお

記事を読む

no image

11/16 運用結果

<colgroup> </colgroup>バイナリオプション日付曜日取引

記事を読む

no image

日本のFX業者はなぜスプレットが低いのか?

みなさんは考えたことはございますか? それを考えると、 なぜmixiを見ていても「スキャルピング」という言葉が そこらじ

記事を読む

Comment

  1. ゆんゆん より:

    SECRET: 0
    PASS:
    部長様
    おはようございます☆
    VQとADXを使用していたので、今回のお話はすごく興味深くありがたいです!
    今は、半分意味がわかってませんが勉強して理解できるようになりたいです!
    とても解りやすいです。ありがとうございました*^-^*

  2. SECRET: 0
    PASS:
    >ゆんゆんさん
    おはようございます!
    ご参考になったようで嬉しく思います^^
    VQは有名なだけあって使い勝手も良さそうですよね。
    コメントありがとうございます♪

  3. 匿名隊 より:

    SECRET: 0
    PASS:
    VQ解析をお願いした匿名隊です。
    早速解説していただきありがとうございました!
    フィルターの部分の計算にカンマが含まれていますが
    カンマが入ると途端に理解が不能になりました^_^;
    その辺をもう少し詳しく教えていただけませんでしょうか。
    よろしくお願いいたします!

  4. ごんた より:

    SECRET: 0
    PASS:
    難しくて理解できないです~
    VQは高値移動平均、安値移動平均、等から算出されたインジケーターなんですね?
    これらの記述がわかると楽しくなるでしょうね。
    実際いろんなインジケーター試してるが何をしているのがわからないが何となく使っているのも多いです。
    大変参考になります(*^_^*)

  5. SECRET: 0
    PASS:
    >匿名隊さん
    コメントありがとうございます^^
    ご参考になれば幸いです。
    フィルターの計算部にはカンマは入ってないと思いますよ。
    具体的に分からない箇所を提示していただけると、お教えできますよー

  6. SECRET: 0
    PASS:
    >ごんたさん
    そうですね!
    各種移動平均を組み合わせて指標にしているみたいです。
    根底にある考え方が分からないので、なんともいえないんです;;
    ご参考にしていただけたみたいで嬉しいです^^

  7. mimi より:

    SECRET: 0
    PASS:
    はじめまして。
    プログラム半年目の素人です(^_^;
    ちょくちょく拝見させてもらっています。
    以前、VQを改良していたのですが、諦めたことがありまして(^_^)。
    確か、Tickの度にすべてのBarを計算し直していたと思います。これを、計算していないBarだけ計算するように出来ないでしょうか。
    時間があるときでかまいません。
    アドバイスを頂けたら幸いです。
    ぜひ、よろしくお願いいたします♪

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Adsense

joblib によって謎のバグが起こる

joblib 0.14.1 にて確認.0.13.2 だと起こらない.import joblib を消

Fixing kernel error AMD-Vi: Event logged IO_PAGE_FAULT on Ryzen Machine

My pc was periodically shut down on 7:40 am JS

Ubuntu で仮想ディスプレイを使う

雑多な備忘録ですが、せっかくなので残しておきます。 Ubuntu 18.04 の resolv.c

PYPIへの登録を10秒でできるようになる方法

pip 使ってますよね Pythonを使っている人であれば、pip installでライブラリ

The art of debugging with GDB, DDD, and Eclipse の読書メモ

GDBの勉強がしたくて、下の本を原著で読んでみました。10年前の本だけど全然現役でした。

→もっと見る

PAGE TOP ↑