<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>FX自動売買「Dr.EAのブログ」</title>
        <link>http://www.dr-ea.com/meta-blog/</link>
        <description>FXで自動売買を可能にするMetatraderのEAを作成する方法やプログラミング言語MQLの使い方を解説します。EA製作やFXでのシステムトレードを研究中！</description>
        <language>ja</language>
        <copyright>Copyright 2010</copyright>
        <lastBuildDate>Wed, 03 Mar 2010 18:12:40 +0900</lastBuildDate>
        <generator>http://www.sixapart.com/movabletype/</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        
        <item>
            <title>FXDDの8%入金ボーナスでEAプレゼント</title>
            <description><![CDATA[<p class="m30-b">
<a href="http://ow.ly/1cFOv" target="_blank">FXDDの8%入金ボーナス</a><br />
に新規口座開設で参加された方で、
</p>
<p>
<a href="http://www.dr-ea.com/contact/">お問い合わせフォーム</a><br />
に、お名前・メールアドレスをご記入の上<br />
参加口座のアカウントIDと特典EA希望とご記入頂いた方全員に<br />
<span class="b">EAプレゼント</span>いたします!!</p>
<p>
EAは、レンジ相場に有効なあの手法です^^
</p>
<p>
是非、ご参加ください^^
</p>
<p>
でわ、このへんで^^
</p>]]></description>
            <link>http://www.dr-ea.com/meta-blog/fx-broker/fxdd8ea.html</link>
            <guid>http://www.dr-ea.com/meta-blog/fx-broker/fxdd8ea.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">FXブローカー</category>
            
            
            <pubDate>Wed, 03 Mar 2010 18:12:40 +0900</pubDate>
        </item>
        
        <item>
            <title>和訳MQL言語リファレンス（日本語翻訳）（その2）</title>
            <description><![CDATA[
<p class="m30-b">
今回は前回<a href="http://www.dr-ea.com/meta-blog/mql/mqlreference-metaeditor.html">和訳MQL言語リファレンス（日本語翻訳）</a>で紹介したファイルの改良版です^^
</p>
<p>
<a href="http://www.dr-ea.com/meta-blog/file/metaeditor2.zip">→metaeditor2.zipをダウンロード</a>
</p>
<p class="m30-t">
前回の記事で</p>
<div class="al-c">
<pre class="source2">
語句をマークして、F１でリファレンスを見ているのですが<br />
今回は、それはできないようなので、<br />
これができるように、是非とも改良をお願いします！！
</pre>
</div>
<p>
といったコメントを頂きましたので、<br />
語句を選択してF1ボタンを押したら和訳のページを表示するようにしました。
</p>
<p>
ファイルの保存先等は、<a href="http://www.dr-ea.com/meta-blog/mql/mqlreference-metaeditor.html">前回の記事</a>を参考にしてください^^;
</p>
<p>
でわ、このへんで^^
</p>
<h3>和訳MQL言語リファレンスの関連記事</h3>
<ul>
<li><a href="http://www.dr-ea.com/meta-blog/mql/mqlreference-metaeditor.html">和訳MQL言語リファレンス（日本語翻訳）</a></li>
<li><a href="http://www.dr-ea.com/meta-blog/mql/mqlreference-metaeditor2.html">和訳MQL言語リファレンス（日本語翻訳）（その2）</a></li>
</ul>]]></description>
            <link>http://www.dr-ea.com/meta-blog/mql/mqlreference-metaeditor2.html</link>
            <guid>http://www.dr-ea.com/meta-blog/mql/mqlreference-metaeditor2.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">MQL言語リファレンス</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">MQLReference</category>
            
            <pubDate>Sun, 28 Feb 2010 18:15:35 +0900</pubDate>
        </item>
        
        <item>
            <title>EAの休止時間をcsvファイルで指定する方法</title>
            <description><![CDATA[<p class="m30-b">
今回のテーマは、csvファイル等で指定した時間の前後は<br />
取引をしないようにする方法です。
</p>
<p>
サンプルファイルはこちら<a href="http://www.dr-ea.com/meta-blog/file/Sample_NoTradeTime.zip">→Sample_NoTradeTime.zip</a>
</p>
<p class="m30-t">
２つのmq4ファイルと、２つのcsvファイルがありますが、<br />
２つの対になっていて、それぞれやり方が違っています^^
</p>
<p>
どのように違うかは、<br />
・・・^^;
</p>
<p>
また、次の機会に書きますm(_ _;)m
</p>
<p>
通常稼動で使う場合は、csvファイルをMT4→experts→filesフォルダに保存してください。<br />
バックテストで使う場合は、MT4→tester→filesフォルダに保存してください。
</p>
<p>
でわ、このへんで^^
</p>]]></description>
            <link>http://www.dr-ea.com/meta-blog/ea-sakusei/notrade-csvfile.html</link>
            <guid>http://www.dr-ea.com/meta-blog/ea-sakusei/notrade-csvfile.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">EAの作成方法</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">csvファイル</category>
            
            <pubDate>Fri, 19 Feb 2010 17:12:05 +0900</pubDate>
        </item>
        
        <item>
            <title>和訳MQL言語リファレンス（日本語翻訳）</title>
            <description><![CDATA[<p class="m30-t">
今回のテーマは、MetaEditor（メタエディタ）でEAを作成・編集中に参照する<br />
MQL言語リファレンスについてです。
</p>
<p>
メタエディタでMQLリファレンスを参照するには、</p>
<ul>
<li>NavigatorウィンドウのDictionaryタブで選択</li>
<li>ToolboxウィンドウのHelpタブで選択</li>
<li>EA内の調べる語句をダブルクリックしてF1ボタン</li>
</ul>

<p class="m30-t">
などがありますが、<br />
英語で説明されていて、よく解らなかったりします^^;
</p>
<p>
そんな時は、Google検索などで<br />
使い方を調べる旅にでることになります^^;
</p>
<p>
和訳MQLリファレンスがあったらいいなぁ・・・<br />
と思っていましたが！！
</p>

<p class="m30-t">
ありました！<br />
<a href="http://www.metasys-seeker.net/MQL4_Reference_ver1/00_MQL4_Reference_Top.html">メタシス・シーカー</a>のMQL言語リファレンスの日本語翻訳マニュアル<br />
ほとんどの部分が翻訳されています^^<br />
</p>
<p>
さらに、メタエディタで参照できるようにしたいと思い、<br />
サイトオーナーのMIYAさんに翻訳部分を使わせていただけるようお願いしたところ<br />
</p>
<div class="contents">
サイトお手軽参照システム？についても歓迎です。<br />
ゼロサムゲームの厳しい世界で、矛盾したことを言いますが、<br />
システムトレードで人々に幸せを与えれるお手伝いになるのであれば歓迎です。<br />
</div>
<p class="m30-b">
と、ありがたいお言葉を頂きました^^
</p>

<h3>メタエディタで和訳MQL言語リファレンスを参照できるようにする方法</h3>

<p class="m30-t">
<a href="http://www.dr-ea.com/meta-blog/file/metaeditor.zip">→metaeditor.zipをダウンロード</a>
</p>
<p>
metaeditor.zipを解凍し、中のmetaeditor.xmlを<br />
MT4フォルダ内の<span class="b">languagesフォルダ</span>に保存します。（上書きで構いません^^;）
</p>
<p>
メタエディタを開いていた場合は、再起動させてください。
</p>
<p>
メタエディタのToolboxのHelpタブで、【和訳リファレンス】という項目をクリックすると<br />
web上の和訳リファレンスを参照できます^^<br />
リファレンスのトップに戻るときは、ToolboxのHomeボタンで戻ってください。
</p>
<p>
今後、バージョンアップする可能性ありです^^;
</p>
<p>
でわ、このへんで^^
</p>
<h3>和訳MQL言語リファレンスの関連記事</h3>
<ul>
<li><a href="http://www.dr-ea.com/meta-blog/mql/mqlreference-metaeditor.html">和訳MQL言語リファレンス（日本語翻訳）</a></li>
<li><a href="http://www.dr-ea.com/meta-blog/mql/mqlreference-metaeditor2.html">和訳MQL言語リファレンス（日本語翻訳）（その2）</a></li>
</ul>]]></description>
            <link>http://www.dr-ea.com/meta-blog/mql/mqlreference-metaeditor.html</link>
            <guid>http://www.dr-ea.com/meta-blog/mql/mqlreference-metaeditor.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">MQL言語リファレンス</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">MQLReference</category>
            
            <pubDate>Sat, 13 Feb 2010 09:15:06 +0900</pubDate>
        </item>
        
        <item>
            <title>決まった時刻に残高情報をメールするインジケータ</title>
            <description><![CDATA[<p class="m30-b">
今回は、毎日決まった時刻に残高情報ををメールするといったインディケータです。<br />
また、残高変動がなかったらメールしないという条件も加えます。
</p>
<p>
サンプルファイルはこちら<a href="http://www.dr-ea.com/meta-blog/file/Sample_AccountBalanceCheckMail.zip">→Sample_AccountBalanceCheckMail.zip</a>
</p>
<p class="m30-t">
中身の解説等は、また後日じっくり書きます^^;
</p>
<p>
この記事を編集するか、改めて記事を書くかは未定ですm(_ _;)m
</p>
<p>
もし、ファイルの中身を見て疑問に思ったりした場合は、<br />
質問してくださいね^^;
</p>

<p>
でわ、このへんで^^
</p>]]></description>
            <link>http://www.dr-ea.com/meta-blog/indicators/accountcheckmail.html</link>
            <guid>http://www.dr-ea.com/meta-blog/indicators/accountcheckmail.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">indicators</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">メール機能</category>
            
            <pubDate>Fri, 29 Jan 2010 18:41:24 +0900</pubDate>
        </item>
        
        <item>
            <title>複数のシグナル・複数のフィルタを搭載し選択できるＥＡ</title>
            <description><![CDATA[
<p class="m30-b">
今回のテーマは、EAの中で複数のシグナル・複数のフィルタを搭載し、<br />
それを使うかどうかパラメータで選択できるようにする方法です。
</p>
<p>
サンプルファイルはこちら<a href="http://www.dr-ea.com/meta-blog/file/Sample_SwitchSignal.zip">→Sample_SwitchSignal.zip</a><br />
(↑'10.01.22 午前 一部修正)
</p>
<p class="m30-t">
Start()関数の中身は上から、
</p>
<ul>
<li>シグナル計算２つ</li>
<li>フィルタ計算３つ</li>
<li>エントリシグナル計算</li>
<li>エグジットシグナル計算</li>
<li>ポジション確認</li>
<li>エグジット処理</li>
<li>エントリ処理</li>
</ul>
<p>
という感じです。
</p>
<p>
シグナルが２種類、フィルタが３種類あり、<br />
それぞれどれを使うか[Use～]というパラメータで選択できるようにしています。
</p>
<p>
シグナル計算やフィルタ計算はそれぞれ[～sign]や[～filter]といった<br />
個別の変数に計算結果を代入します。
</p>
<p>
そして、サンプルファイル132行目～140行目を見てください。
</p>

<div class="al-c">
<pre class="source2">
   int sign;
   
   if((!UseMaCrossSignal || MaCrossSign==1) &amp;&amp;
      (!UseMacdCrossSignal || MacdSign==1) &amp;&amp;
      (!UseMaTrendFilter || MaFilter==1) &amp;&amp;
      (!UseAdxFilter || AdxFilter) &amp;&amp;
      (!UseAtrFilter || AtrFilter)) sign=1;
      
   if((!UseMaCrossSignal || MaCrossSign==-1) &amp;&amp;
      (!UseMacdCrossSignal || MacdSign==-1) &amp;&amp;
      (!UseMaTrendFilter || MaFilter==-1) &amp;&amp;
      (!UseAdxFilter || AdxFilter) &amp;&amp;
      (!UseAtrFilter || AtrFilter)) sign=-1;
</pre>
</div>
<p class="b m30-t">
エントリ用のシグナルを代入する整数変数 sign を宣言。<br />
もし、<br />
UseMaCrossSignal が false または、MaCrossSign が１で<br />
UseMacdCrossSignal が false または、MacdSign が１で<br />
UseMaTrendFilter が false または、MaFilter が１で<br />
UseAdxFilter が false または、AdxFilter が true で<br />
UseAtrFilter が false または、AtrFilter が true の場合、<br />
signに１を代入<br />
もし、<br />
UseMaCrossSignal が false ・・・（省略）<br />
・・・の場合、<br />
signに-１を代入
</p>
<p class="m30-t">
といった感じにします。
</p>
<p>
これで、選択されたシグナルやフィルタのみを使ったシグナルが<br />
sign に入ります^^
</p>
<p>
フィルタのシグナル用の変数でtrue/falseのbool型の場合は、<br />
外でif文で書いてもいいですね^^
</p>
<p>
その下のエグジット用のシグナルの条件では<br />
サンプルではフィルタ用の条件は含めてませんが、<br />
書き方としては、同じ感じですね^^
</p>
<p class="m30-t">
そのほかで、ちょっと分かりづらいところがありますが^^;<br />
コメントで質問してくださいね^^;
</p>
<p>
でわ、このへんで^^
</p>]]></description>
            <link>http://www.dr-ea.com/meta-blog/ea-sakusei/switchsignal.html</link>
            <guid>http://www.dr-ea.com/meta-blog/ea-sakusei/switchsignal.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">EAの作成方法</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">EA</category>
            
            <pubDate>Thu, 21 Jan 2010 18:07:49 +0900</pubDate>
        </item>
        
        <item>
            <title>MQL4からMQL5への移植（その2）</title>
            <description><![CDATA[<p class="m30-b">前回【<a href="http://www.dr-ea.com/meta-blog/mql5/mql4tomql5no1.html">MQL4からMQL5への移植（その１）</a>】のつづきです^^</p>
<p>MT4では、BidやBarsといった変数には自動的にその値が入っていましたが、<br />
MT5では、SymbolInfoDouble(_Symbol,SYMBOL_BID)や<br />
Bars(_Symbol,PERIOD_CURRENT)といった感じに関数で呼び出さなくてはなりません。</p>
<p>
Close[1]やHigh[0]といった配列にいたっては、<br />
データを入れる配列をつくって、<br />
そのなかにデータをコピーして、<br />
どのデータを知りたいか選択してやっと呼び出せます^^;</p>
<p>
そのうえ、ＭＴ４のように１本前の足の高値をHigh[1]といったように、<br />
シフトの数で指定するようにする場合は、<br />
ArraySetAsSeries(...)という関数を使って『最新の足を０として数えますよ』と<br />
書いておかないといけません。</p>
<p class="m30-t">
例えば、ArraySetAsSeries(Open,true)を書き忘れてしまっていて、<br />
ＭＴ４のように、最新の足の始値を取得しようとOpen[0]と書いたら、<br />
最古の始値を取得しちゃいます^^;</p>

<p class="m30-t">慣れるまで大変ですので、頭に</p>
<div class="al-c">
<pre class="source2">
#include &lt;mql4to5_timeseries_array.mqh&gt;
</pre>
</div>
<p>と、start()に替わるOnTick()(EAの場合)の中の最初に</p>
<div class="al-c">
<pre class="source2">
　　　CopyCurrent();
</pre>
</div>
<p>を、書き込むだけでよいインクルードファイルを作りました^^</p>
<p class="m30-t">今回は、前回よりも書き換え手順が楽ですね^^</p>

<p class="m30-t">ダウンロードはこちらから→<span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://www.dr-ea.com/meta-blog/file/mql4to5_timeseries_array.zip">mql4to5_timeseries_array.zip</a></span></p>

<p class="m30-t">そのサンプルＥＡ→<span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://www.dr-ea.com/meta-blog/file/timeseries_sample1.zip">timeseries_sample1.zip</a></span></p>

<p>でわでわ^^</p>
<h3>MQL4からMQL5への移植の関連記事</h3>
<ul>
<li><a href="http://www.dr-ea.com/meta-blog/mql5/mql4tomql5no1.html">MQL4からMQL5への移植（その１）</a></li>
<li><a href="http://www.dr-ea.com/meta-blog/mql5/mql4tomql5no2.html">MQL4からMQL5への移植（その2）</a></li>
</ul>]]></description>
            <link>http://www.dr-ea.com/meta-blog/mql5/mql4tomql5no2.html</link>
            <guid>http://www.dr-ea.com/meta-blog/mql5/mql4tomql5no2.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">MQL5</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">MT5</category>
            
            <pubDate>Sat, 24 Oct 2009 14:46:55 +0900</pubDate>
        </item>
        
        <item>
            <title>MQL4からMQL5への移植（その１）</title>
            <description><![CDATA[<p class="m30-b">MT5(MetaTrader5)のメタエディタをいじって気が付いたこと。</p>
<p>EAなどから呼び出す、テクニカルインディケータの関数（iMAなど）の使い方が<br />
大きく違いますね^^;</p>
<p>MT4では、iMA(平均線のパラメータ,何本前の足か)と入力すれば、<br />
知りたい平均線の値が呼び出せましたがMT5では、<br />
iMA(～～)の固有のハンドル（変数）をつくって、<br />
さらに、データを入れる配列をつくって、<br />
そのなかにデータをコピーして、<br />
どのデータを知りたいか選択してやっと呼び出せます^^;</p>

<p class="m30-t">作業が、4～5倍になった感じです。<br />
(使いこなせば、処理のパフォーマンスは上がると思いますが^^;)</p>

<p class="m30-t">多くのＥＡをMT5に移植する場合、１つ１つのEAを<br />
ＭＱＬ５の形にするのはとても大変です。</p>
<p>そこで、便利なのがインクルード機能です。</p>

<div class="al-c">
<pre class="source2">
#include &lt;MQL4toMQL5_TechnicalIndicators.mqh&gt;
</pre>
</div>

<p class="m30-t">といった感じにEAの頭の部分に書くと、includeフォルダにある
【MQL4toMQL5_TechnicalIndicators.mqh】を<br />そのＥＡの中に書いたことにしてくれます^^</p>
<p class="m30-t">includeフォルダのサブフォルダMQL4toMQL5の中にある場合は、</p>

<div class="al-c">
<pre class="source2">#include &lt;MQL4toMQL5/mql4to5_timeseries_array.mqh&gt;
</pre>
</div>
<p class="m30-t">です^^  2009.10.21 内容を修正しました。</p>
<p>mqhファイルの保存場所は<a href="http://d.hatena.ne.jp/fai_fx/20091022/1256142536">とあるMetaTraderの備忘秘録さん</a>が、説明されております^^</p>


<p>今回は、MQL4でiMA(～)と書いていたものを、iMA4(～)と書き換えるだけで、
大丈夫なようにした、mqhファイルを作りました。<br />
サンプルのＥＡ（ただ、値を表示するだけのモノ）もあります。<br />
よかったらダウンロードしてくださいね^^</p>

<p>リファレンスと、MetaEditorの書式が違ったりとまだまだ未完成な部分がたくさんあるようですが、<br />
いまのうちから、移植準備をしておきましょうね^^;</p>

<p class="m30-t">ダウンロードはこちらから→<a href="http://www.dr-ea.com/meta-blog/file/MQL4toMQL5.zip">MQL4toMQL5.zip</a></p>

<p class="m30-t">そのサンプルＥＡ→<span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://www.dr-ea.com/meta-blog/file/mt4_tech_sample_ea.zip">mt4_tech_sample_ea.zip</a></span></p>
<p>2009.10.24　サンプルＥＡ更新</p>
<p>でわでわ^^</p>
]]></description>
            <link>http://www.dr-ea.com/meta-blog/mql5/mql4tomql5no1.html</link>
            <guid>http://www.dr-ea.com/meta-blog/mql5/mql4tomql5no1.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">MQL5</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">MT5</category>
            
            <pubDate>Wed, 21 Oct 2009 18:49:03 +0900</pubDate>
        </item>
        
        <item>
            <title>MT5bata版をインストール</title>
            <description><![CDATA[<p class="m30-b">MT5(MetaTrader5)のベータ版が公開されました！</p>
<p>またワクワクどきどきがやってきました！</p>
<p>残念なことに、MT4のインディケータやEAは使えないのですが、<br />
性能がグンとアップしているようです^^</p>

<p class="m30-t">付属のTetrisというEAを稼動させてみました。</p>

<p class="m30-t"><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="mt5beta.jpg" src="http://www.dr-ea.com/meta-blog/file/mt5beta.jpg" width="758" height="698" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span></p>
<p>MQL5の可能性を大いに感じました！</p>
<p class="m30-t">ダウンロードはこちらから<a href="http://forum.mql4.com/26550">→MQL4のフォーラム</a></p>
<p>でわでわ^^</p>
]]></description>
            <link>http://www.dr-ea.com/meta-blog/mt5bata.html</link>
            <guid>http://www.dr-ea.com/meta-blog/mt5bata.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">MT5</category>
            
            <pubDate>Wed, 14 Oct 2009 18:46:00 +0900</pubDate>
        </item>
        
        <item>
            <title>VQをEA内で計算する方法</title>
            <description><![CDATA[<ul>
<li><a href="http://www.dr-ea.com/meta-blog/ea-sakusei/indicators-ea.html">カスタムインディケータをＥＡにする方法</a></li>
<li><a href="http://www.dr-ea.com/meta-blog/indicators/indicators-ea2.html">カスタムインディケータをＥＡにする方法2</a></li>
<li><a href="http://www.dr-ea.com/meta-blog/ea-sakusei/indicators-ea3.html">カスタムインディケータをＥＡにする方法3</a></li>
</ul>
<p>のやり方でいきますと、</p>
<div class="al-c">
<pre class="source2">
extern   bool     Crash = false;
extern   int      TimeFrame = 0;
extern   int      Length = 5;
extern   int      Method = 3;
extern   int      Smoothing = 1;
extern   int      Filter = 5;
extern   int      SignShift = 1;
</pre>
</div>

<p>として、VQからコピペ＆SignShiftというパラメータを追加。<br />
そして、Start()関数内で</p>

<div class="al-c">
<pre class="source2">
int sign;
sign = iCustom(NULL, TimeFrame, "VQ", Crash, 0, Length, Method, Smoothing, Filter, 6, SignShift );
</pre>
</div>
<p class="m30-t">とすれば、買い状態の時は、sign が１、売り状態の時は、sign が-１となり、あとは条件をいろいろと加えるだけですね^^</p>
<p class="m30-b">でも、VQ自体にいろいろな機能が付いているため、EA内で計算したほうが稼動がスムーズです。</p>

<h3>VQを内部で計算したEAのコード</h3>


<div class="al-c">
<pre class="source2">
extern string  Entry_Setting  = "---------- Entry Setting";
extern double  Lots           = 0.1;
extern int     StopLoss       = 50;
extern int     TakeProfit     = 100;
extern int     Slippage       = 3;
extern int     MagicNumber    = 123456;

extern string Indicator_Setting = "---------- Indicator Setting";
extern int     TimeFrame      = 0;
extern int     Length         = 5;
extern int     Method         = 3;
extern int     Smoothing      = 1;
extern int     Filter         = 5;

extern int     EntryShift     = 1;
extern int     ExitShift      = 0;

//記憶用共通変数
int VQsign[2];    //VQのシグナル
int VQsignbar[2]; //VQのシグナルが出た場所（足の番号）
int bar;          //エントリした時の足の数（足の番号）

int init()
  {
//----
   ArrayInitialize(VQsign,0);
   ArrayInitialize(VQsignbar,0);
   bar=0;
//----
   return(0);
  }

int start()
  {
//----
   //VQ sign計算************
   FuncVQ(0);
   FuncVQ(1);
   
   //オーダーに関する部分******
   
   //現在のポジションの情報を取得
   int pos=-1;
   for(int i=OrdersTotal()-1;i>=0;i--)
   {
      OrderSelect(i,SELECT_BY_POS);
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) pos=i;
   }
   
   /*
   この時点でポジションなしの場合 pos は -1
   ポジションありの場合 pos は、そのポジションのインデックスの値
   となります。
   */
   
   //ポジション有りの場合
   if(pos>=0)
   {
      //そのポジションを選択し情報を取得できるようにする
      OrderSelect(pos,SELECT_BY_POS);
      
      if((OrderType()==OP_BUY && VQsign[ExitShift]==-1) || (OrderType()==OP_SELL && VQsign[ExitShift]==1))
         OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Yellow);
   }
   
   int ticket=0;   //注文番号を代入する変数
   double sl,tp;   //ストップとリミットを代入する変数
   
   //まだエントリしていない足で ポジションなしの場合
   if(bar!=iBars(NULL,TimeFrame) && pos<0)
   {
      //エントリ条件を計算
      int sign;
      if(VQsignbar[EntryShift]==iBars(NULL,TimeFrame)-EntryShift)
      {
         if(VQsign[EntryShift]==1) sign=1;
         if(VQsign[EntryShift]==-1) sign=-1;
      }
      
      //sign が 1 の場合
      if(sign==1)
      {
         sl=Ask-StopLoss*Point;
         if(StopLoss<=0) sl=0;
         tp=Ask+TakeProfit*Point;
         if(TakeProfit<=0) tp=0;
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,sl,tp,NULL,MagicNumber,0,Blue);
      }
      //sign が -1 の場合
      if(sign==-1)
      {
         sl=Bid+StopLoss*Point;
         if(StopLoss<=0) sl=0;
         tp=Bid-TakeProfit*Point;
         if(TakeProfit<=0) tp=0;
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,sl,tp,NULL,MagicNumber,0,Red);
      }
      //エントリした時の足の数を代入
      if(ticket>0) bar=iBars(NULL,TimeFrame);
   }
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

//VQ keisan
void FuncVQ(int VQshift)
{
   double MH1,ML1,MO1,MC1,MCS1,VQ1,SumVQ1,SumVQ2;
   HideTestIndicators(true);

   if(MathAbs(VQsign[VQshift])!=1)
   {
      for(int j=0;j<iBars(NULL,TimeFrame);j++)
      {
         MH1 = iMA(NULL,TimeFrame,Length,0,Method,PRICE_HIGH,VQshift+j);
         ML1 = iMA(NULL,TimeFrame,Length,0,Method,PRICE_LOW,VQshift+j);
         MO1 = iMA(NULL,TimeFrame,Length,0,Method,PRICE_OPEN,VQshift+j);
         MC1 = iMA(NULL,TimeFrame,Length,0,Method,PRICE_CLOSE,VQshift+j);
         MCS1 = iMA(NULL,TimeFrame,Length,0,Method,PRICE_CLOSE,VQshift + Smoothing+j);
         
         if(MathMax(MH1 - ML1,MathMax(MH1 - MCS1,MCS1 - ML1))==0 ||(MH1 - ML1)==0) return(0);
   
         VQ1 = MathAbs(((MC1 - MCS1) / MathMax(MH1 - ML1,MathMax(MH1 - MCS1,MCS1 - ML1))
                         + (MC1 - MO1) / (MH1 - ML1)) * 0.5)
                        * ((MC1 - MCS1 + (MC1 - MO1)) * 0.5);
         SumVQ2 = iClose(NULL,TimeFrame,2+j);
         SumVQ1 = SumVQ2 + VQ1;
         if (Filter > 0) if (MathAbs(SumVQ1 - SumVQ2) < Filter * Point) SumVQ1 = SumVQ2;

         if(SumVQ1 > SumVQ2)
         {
            if(VQsign[VQshift]==-1) break;
            
            VQsign[VQshift]=1;
            VQsignbar[VQshift]=iBars(NULL,TimeFrame)-VQshift-j;
         }
         if(SumVQ1 < SumVQ2)
         {
            if(VQsign[VQshift]==1) break;
            
            VQsign[VQshift]=-1;
            VQsignbar[VQshift]=iBars(NULL,TimeFrame)-VQshift-j;
         }
      }
   }
   
   MH1 = iMA(NULL,TimeFrame,Length,0,Method,PRICE_HIGH,VQshift);
   ML1 = iMA(NULL,TimeFrame,Length,0,Method,PRICE_LOW,VQshift);
   MO1 = iMA(NULL,TimeFrame,Length,0,Method,PRICE_OPEN,VQshift);
   MC1 = iMA(NULL,TimeFrame,Length,0,Method,PRICE_CLOSE,VQshift);
   MCS1 = iMA(NULL,TimeFrame,Length,0,Method,PRICE_CLOSE,VQshift + Smoothing);
   
   if(MathMax(MH1 - ML1,MathMax(MH1 - MCS1,MCS1 - ML1))==0 ||(MH1 - ML1)==0) return(0);
   
   VQ1 = MathAbs(((MC1 - MCS1) / MathMax(MH1 - ML1,MathMax(MH1 - MCS1,MCS1 - ML1)) + (MC1 - MO1) / (MH1 - ML1)) * 0.5) * ((MC1 - MCS1 + (MC1 - MO1)) * 0.5);
   SumVQ2 = iClose(NULL,TimeFrame,2);
   SumVQ1 = SumVQ2 + VQ1;
   if (Filter > 0) if (MathAbs(SumVQ1 - SumVQ2) < Filter * Point) SumVQ1 = SumVQ2;

   if(SumVQ1 > SumVQ2 && VQsign[VQshift]==-1)
   {
      VQsign[VQshift]=1;
      VQsignbar[VQshift]=iBars(NULL,TimeFrame)-VQshift;
   }
   if(SumVQ1 < SumVQ2 && VQsign[VQshift]==1)
   {
      VQsign[VQshift]=-1;
      VQsignbar[VQshift]=iBars(NULL,TimeFrame)-VQshift;
   }
   if(VQshift==0 && SumVQ1 == SumVQ2)
   {
      VQsign[0]=VQsign[1];
      VQsignbar[0]=VQsignbar[1];
   }
   HideTestIndicators(false);
}
</pre>
</div>

<p class="m30-t">今回は詳しい説明は、省略です^^;</p>

<p>ソースファイルもアップしますので、いろいろと改良してみてくださいね！</p>
<p><a href="http://www.dr-ea.com/meta-blog/image/VQsimple.zip">→VQsimple.mq4ダウンロード</a></p>
<p class="m30-b">でわ、今回はこのへんでm(..)m</p>
<h3>VQの関連記事</h3>
<ul>
<li><a href="http://www.dr-ea.com/meta-blog/metatrader-ea/vq-ea.html">VQとVQ_EAと商材紹介^^;</a></li>
<li><a href="http://www.dr-ea.com/meta-blog/ea-sakusei/vq.html">VQの計算方法</a></li>
</ul>
<h3>カスタムインジケータをＥＡにする方法の関連記事</h3>
<ul>
<li><a href="http://www.dr-ea.com/meta-blog/ea-sakusei/indicators-ea.html">カスタムインディケータをＥＡにする方法</a></li>
<li><a href="http://www.dr-ea.com/meta-blog/indicators/indicators-ea2.html">カスタムインディケータをＥＡにする方法2</a></li>
<li><a href="http://www.dr-ea.com/meta-blog/ea-sakusei/indicators-ea3.html">カスタムインディケータをＥＡにする方法3</a></li>
</ul>]]></description>
            <link>http://www.dr-ea.com/meta-blog/ea-sakusei/vqea.html</link>
            <guid>http://www.dr-ea.com/meta-blog/ea-sakusei/vqea.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">EAの作成方法</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">VQ</category>
            
            <pubDate>Sat, 29 Aug 2009 11:38:59 +0900</pubDate>
        </item>
        
        <item>
            <title>取引を有利にする方法　＝　CashBackForexのキャッシュバック</title>
            <description><![CDATA[<p>次のバックテストレポートを見てください。</p>
<p class="m30-t"><a href="http://www.dr-ea.com/meta-blog/image/StrategyTester_Sample_break_r.htm">Sample_break_rのバックテストレポート</a></p>

<p class="m30-t">トレードルール検証中によくある右肩下がりの失敗EAです^^;</p>
<p>すべて１ロット（１０万通貨）で取引して、５ヶ月ちょっとで約-2582ドル。<br />
動かせば動かすだけ資産が減っていきます。</p>
<p>ここで少し、コストを計算してみましょう。<br />
通貨ペアは、ドル円（USDJPY）スプレッド２ピプスとします。<br />
１ピプスあたりのコストが1000円（現在のレートで約10.7ドル）ですので、<br />
１トレードあたり、21.4ドルのコストがかかります。<br />
取引総数が、853回ですので、21.4ドル×853回で、</p>
<p class="b">コスト総額：18254.2ドル</p>

<p class="m30-b">スプレッドがなければ、資産は約2.5倍に膨らんでました。</p>

<h3>キャッシュバックでコスト削減</h3>
<p><a href="http://www.cashbackforex.com/?aid=2195"><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="cbf_letters_logo11.gif" src="http://www.dr-ea.com/meta-blog/image/cbf_letters_logo11.gif" width="289" height="60" class="mt-image-none" style="" /></span></a></p>
<p class="m30-t">今度は、無料登録でキャッシュバックが受けられる<a href="http://www.cashbackforex.com/?aid=2195">CashBackForex</a>に登録していた場合の計算をしてみましょう。</p>

<p>取引ブローカーによって、還元率が違いますが、<br />
FXCM（１トレードあたり、0.7ピプス）の場合、<br />
１トレードあたり、10.7ドル×0.7ピプス＝7.49ドルのキャッシュバック。<br />
取引総数が、853回ですので、7.49ドル×853回で、</p>
<p class="b">キャッシュバック総額：約6389ドル</p>

<p class="m30-b">差し引き、約3807ドルの利益で、右肩上がり、<br />
動かせば動かすだけ資産が増えていきます。</p>

<p class="m30-b">ごく単純計算で、１００万円の資産から、５ヶ月で２６万円の損失を出すEAが３８万円の利益を出すEAになったということです^^<br />
普通に利益を出すEAなら、更に利益増です。</p>

<p class="m30-b">まだ、登録されていない方は、すぐ登録されることを強くお勧めいたします。</p>
<h3>CashBackForex無料登録方法</h3>

<p><a href="http://www.cashbackforex.com/?aid=2195">CashBackForexトップページ</a></p>
<p>上のページにジャンプ後、メニューバーの【Signup】をクリック。</p>

<ul>
<li>First Name（名前）</li>
<li>Last Name（苗字）</li>
<li>Username（ニックネーム）</li>
<li>Password（パスワード）</li>
<li>Confirm Password（パスワード再入力）</li>
<li>Preferred Broker（使いたいブローカー）</li>
<li>Email Address（メールアドレス）</li>
</ul>
<p>を入力し、Accept Terms of Use（利用規約への同意）にチェックします。</p>
<p>Registerボタンをクリックして登録完了です^^</p>
<p>日本語ページがないようですので、分からない部分は<a href="http://translate.google.co.jp/?hl=ja&sl=en&tl=ja#">Google翻訳</a>などで、しらべながら見てみましょう^^;</p>
<p>ブローカーによって既存の口座を登録できる場合や、新規で口座を開設する必要がある場合があります。<br />
無料で将来の利益の増減が変わるのであれば、１回の手続きはそれほど手間ではないですよね^^</p>

<p>でわこのへんで。</p>

<p><a href="http://www.cashbackforex.com/?aid=2195"><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="cbf_letters_logo11.gif" src="http://www.dr-ea.com/meta-blog/image/cbf_letters_logo11.gif" width="289" height="60" class="mt-image-none" style="" /></span></a></p>
]]></description>
            <link>http://www.dr-ea.com/meta-blog/others/cashbackforex.html</link>
            <guid>http://www.dr-ea.com/meta-blog/others/cashbackforex.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">その他</category>
            
            
            <pubDate>Fri, 28 Aug 2009 10:07:10 +0900</pubDate>
        </item>
        
        <item>
            <title>会社設立で税金対策</title>
            <description><![CDATA[<p class="m30-b">今回は、税金のことについてです^^;</p>
<p>通常のブローカーで、個人でFXをやっている場合、FXの利益は雑所得として納税しなければなりません。</p>
<p>去年マイナスで、今年その分を取り返してトントンとなったとしても、<br />
今年の利益分に税金がかかり、結局マイナスになってしまいます--;</p>
<p class="m30-t">運用資金が大きくなってきたら、会社設立して税金対策をしたほうがお得のようです。</p>
<p class="m30-t">大変お世話になっている山田先生のページでFXの会社設立と税金の比較についての情報がありますので紹介します。</p>
<p><a href="http://www.gyouseishosi.org/kaishasetsuritsu/FX/index.htm">会社設立Web-FXを利用した資産運用会社を設立する</a></li></p>
<p class="m30-t">年間の利益が大きくなってきたら相談してみるといいかもですね^^</p>
<p>でわでわ^^</p>
]]></description>
            <link>http://www.dr-ea.com/meta-blog/others/zeikintaisaku.html</link>
            <guid>http://www.dr-ea.com/meta-blog/others/zeikintaisaku.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">その他</category>
            
            
            <pubDate>Sat, 08 Aug 2009 18:18:39 +0900</pubDate>
        </item>
        
        <item>
            <title>MT4 EA/インジケータ作成セミナー</title>
            <description><![CDATA[<p><strong>MT4(MetaTrader4)のEA・インディケータ作成セミナー開催</strong>のお知らせ</p>

<p><br />
・<span style="color:#FF6500;">これからプログラミングをはじめる</span><br />
・<span style="color:#FF6500;">EAを作ってみたけど、思い通りに動かない</span><br />
・<span style="color:#FF6500;">独自のインディケータの作りたい</span></p>

<p>そんな方は、ぜひご参加ください！</p>

<p><br />
【内容】<br />
<span style="font-size:large;">☆絶対に覚えなきゃいけない３つの事柄<br />
☆プロでもハマる落とし穴<br />
☆EA作成の基本・インディケータ作成の基本<br />
☆慶次流・プログラミング技術がぐんぐん上達する方法<br />
☆メタエディタの便利な使い方<br />
☆質問タイム</span></p>

<p>などを予定しております。<br />
（その他、ご希望があればお知らせださい。）</p>

<p><br />
【場所】<br />
名古屋駅すぐ近く</p>

<p>【日時】<br />
２００９年６月２８日（日曜）<br />
１３：３０～１５：３０（２時間）</p>

<p>【定員数】<br />
２０名</p>

<p>【参加料】<br />
８０００円</p>

<p>参加希望・詳細希望の方は<br />
下のフォームリンクからお願い致します。</p>

<p><a href="http://form1.fc2.com/form/?id=346213">→お問い合わせフォーム</a></p>

<p>※定員になり次第、受付終了とさせていただきます。</p>]]></description>
            <link>http://www.dr-ea.com/meta-blog/mt4-ea-seminar/mt4-ea.html</link>
            <guid>http://www.dr-ea.com/meta-blog/mt4-ea-seminar/mt4-ea.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">MT4 EAセミナー</category>
            
            
            <pubDate>Thu, 28 May 2009 14:06:05 +0900</pubDate>
        </item>
        
        <item>
            <title>MetaTrader4のTrading方法説明書（無料）</title>
            <description><![CDATA[<p>今回は、これからMetaTrader4でFX取引を始めようと考えている方や、<br />
もう取引をしているけど、まだ使いなれていないといった方に、<br />
各Broker（業者）で無料配布されている<strong>MetaTrader4の操作説明書</strong>のご案内です。</p>

<p>最近また、MetaTraderユーザーが増えてきて、操作方法などの質問がありましたので^^;</p>

<p><br />
121証券<br />
ページ下の方<br />
<a href="http://fx.121sec.com/service/business.html">「MetaTrader4」システムガイド</a></p>

<p><br />
ODL Japan<br />
マニュアルpdfファイルあり<br />
<a href="http://www.odls-manual.jp/mt4/01/01.php">MetaTrader4　マニュアルサイト</a></p>

<p><br />
もう、EA作成などの勉強を始めてる方は必要ないとは思いますが、<br />
一度目を通しておいてもよいかもって思います^^</p>

<p>でわでわ^^</p>]]></description>
            <link>http://www.dr-ea.com/meta-blog/books/metatrader4trading.html</link>
            <guid>http://www.dr-ea.com/meta-blog/books/metatrader4trading.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">投資書籍</category>
            
            
            <pubDate>Sat, 23 May 2009 12:56:20 +0900</pubDate>
        </item>
        
        <item>
            <title>メール機能を追加する方法</title>
            <description><![CDATA[<p><br />
今回は、メール機能を追加する方法の基礎の部分です^^</p>

<p>その前に、MT4のツール→オプション→E-メールで<br />
有効にするにチェックし、各項目に必要事項を入力してください。</p>

<p><br />
メールを送信するには、</p>

<p>SendMail( 題名, 本文) ;</p>

<p>というようにSendMail関数を書いてあげましょう。</p>

<p><br />
今回は、練習として<br />
新たな足がでたら、メールする。<br />
メールは３回まで。<br />
題名を【Test】<br />
本文を【通貨ペア　足の番号】<br />
というようにしましょうか。</p>

<p>でわ、早速</p>

<p><strong>extern int MailCount=3;</p>

<p>int bar,cnt;</strong></p>

<p><br />
として、<br />
メール発信する回数をパラメータ用整数変数 MailCount として<br />
初期値を３としてあげましょう。<br />
そして、記憶用整数変数 bar と cnt として、<br />
現在の足の番号、メール送信した回数を代入するため宣言します。</p>

<p>次に start() 関数の｛｝内に</p>

<p><br />
<strong>   if(Bars>bar && MailCount>cnt)<br />
   {<br />
      SendMail("Test",Symbol()+" "+Bars);<br />
      bar=Bars;<br />
      cnt++;<br />
   }</strong></p>

<p>としてあげましょう。</p>

<p>これは、</p>

<p><strong>もし、足の番号がbarより大きくて、cntがMailCount未満の場合<br />
｛<br />
　　　題名　Test<br />
　　　本文　通貨ペア名　足の番号<br />
　　　のメールを送信。<br />
　　　barに現在の足の番号を代入。<br />
　　　cntに１を足す。<br />
｝</strong></p>

<p>といった感じの意味です。</p>

<p>これで、足が変わるたびにメールを送信し、MailCountで設定した回数に達したらメール送信は終わります。</p>

<p><br />
こんな感じで、条件が揃ったときだけメールを送るというコードを<br />
インディケータなどに組み込むこともできますね^^</p>

<p>いろいろ試してみてくださいね！</p>

<p>でわこのへんで^^</p>]]></description>
            <link>http://www.dr-ea.com/meta-blog/ea-sakusei/mail-function.html</link>
            <guid>http://www.dr-ea.com/meta-blog/ea-sakusei/mail-function.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">EAの作成方法</category>
            
            
            <pubDate>Sat, 02 May 2009 19:54:12 +0900</pubDate>
        </item>
        
    </channel>
</rss>
