<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>メタトレーダープログラミング めたぷろ &#187; 簡単インジケータ作成テンプレート</title>
	<atom:link href="http://metatraderfx.net/category/metatrader-program/%e7%b0%a1%e5%8d%98%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e4%bd%9c%e6%88%90%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88/feed/" rel="self" type="application/rss+xml" />
	<link>http://metatraderfx.net</link>
	<description>メタトレーダーを使ったプログラミング方法を説明していきます。</description>
	<lastBuildDate>Tue, 28 Dec 2010 13:58:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/category/metatrader-program/%e7%b0%a1%e5%8d%98%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e4%bd%9c%e6%88%90%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88/feed/" />
		<item>
		<title>インジケータの情報を取得する２</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e3%81%ae%e6%83%85%e5%a0%b1%e3%82%92%e5%8f%96%e5%be%97%e3%81%99%e3%82%8b%ef%bc%92/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e3%81%ae%e6%83%85%e5%a0%b1%e3%82%92%e5%8f%96%e5%be%97%e3%81%99%e3%82%8b%ef%bc%92/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 03:04:07 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[インジケータ]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[簡単インジケータ作成テンプレート]]></category>
		<category><![CDATA[MQL4]]></category>
		<category><![CDATA[ZigZag]]></category>
		<category><![CDATA[インジケーター]]></category>
		<category><![CDATA[サンプル]]></category>
		<category><![CDATA[テンプレート]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[入門]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=345</guid>
		<description><![CDATA[前回に引き続き、「ZigZag」インジケータを利用します。
この「ZigZag」インジケータをつかって、別のインジケータを作ってみましょう。
「簡単インジケータ作成テンプレート」を使ったサンプルを作ってみます。
テンプレートを適当なファイル名にコピーして、
インストールパス\MetaTrader\experts\indicators
に入れてください。
コピーした、テンプレートのinit()を以下のように修正してください。
int init()
{
//&#8212;- indicators
SetIndexStyle(0,DRAW_ARROW, EMPTY, 4);
SetIndexArrow(0,159);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_ARROW, EMPTY, 2);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexStyle(2,DRAW_ARROW, EMPTY, 2);
SetIndexBuffer(2,ExtMapBuffer3);
//&#8212;-
return(0);
}
次は、DataSet()を以下のように修正してください。
void DataSet(int i)
{
ExtMapBuffer1[i]=iCustom(NULL, 0, &#8220;ZigZag&#8221;,12,5,3,0,i);
ExtMapBuffer2[i]=iCustom(NULL, 0, &#8220;ZigZag&#8221;,12,5,3,1,i);
ExtMapBuffer3[i]=iCustom(NULL, 0, &#8220;ZigZag&#8221;,12,5,3,2,i);
}
これで終了です。
今回注目する点は、
iCustom(NULL, 0, &#8220;ZigZag&#8221;,12,5,3,2,i);
インターフェース仕様は、
double iCustom( string symbol, int timeframe, string name, &#8230;, int mode, int shift)
で、symbolにNULLを入れることで、今利用している通貨ペアを使用します。
timeframeに0を入れることで、今利用している通貨ペアの時間軸を使います。
nameは、利用したいインジケータ名「ZigZag」。
ファイル名の拡張子をのぞいた名前を使います。
問題は、次の&#8230;。
ここは、利用元のインジケータのパラメータを入れます。
「ZigZag」は、3つパラメータがあるので、３つ。
12,5,3
を指定しています。
利用元のインジケータのパラメータが0なら0、20なら20。
引数が可変になるので、分かりにくいところです。
modeは、何番目のバッファから取得するか。
shiftは、何番目の足の情報を取得するかです。
パラメータ設定部分が、わかりにくいので注意してくださいね。
コンパイルして、動かすと元々線が出ていた場所は、赤丸。
バッファ１が青い×。
バッファ2が緑の×。
が表示されるはずです。
この方法は、いろいろなインジケータから情報を取得できるので、おもしろいことができると思います。


]]></description>
			<content:encoded><![CDATA[<p>前回に引き続き、「ZigZag」インジケータを利用します。</p>
<p>この「ZigZag」インジケータをつかって、別のインジケータを作ってみましょう。</p>
<p>「<a href="http://download-center.metatraderfx.net/indicator/%e7%b0%a1%e5%8d%98%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e4%bd%9c%e6%88%90%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88/" target="_blank">簡単インジケータ作成テンプレート</a>」を使ったサンプルを作ってみます。</p>
<p>テンプレートを適当なファイル名にコピーして、</p>
<p>インストールパス\MetaTrader\experts\indicators</p>
<p>に入れてください。</p>
<p>コピーした、テンプレートのinit()を以下のように修正してください。</p>
<p>int init()</p>
<p>{</p>
<p>//&#8212;- indicators</p>
<p>SetIndexStyle(0,DRAW_ARROW, EMPTY, 4);</p>
<p>SetIndexArrow(0,159);</p>
<p>SetIndexBuffer(0,ExtMapBuffer1);</p>
<p>SetIndexStyle(1,DRAW_ARROW, EMPTY, 2);</p>
<p>SetIndexBuffer(1,ExtMapBuffer2);</p>
<p>SetIndexStyle(2,DRAW_ARROW, EMPTY, 2);</p>
<p>SetIndexBuffer(2,ExtMapBuffer3);</p>
<p>//&#8212;-</p>
<p>return(0);</p>
<p>}</p>
<p>次は、DataSet()を以下のように修正してください。</p>
<p>void DataSet(int i)</p>
<p>{</p>
<p>ExtMapBuffer1[i]=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-176.html" target="_blank">iCustom</a>(NULL, 0, &#8220;ZigZag&#8221;,12,5,3,0,i);</p>
<p>ExtMapBuffer2[i]=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-176.html" target="_blank">iCustom</a>(NULL, 0, &#8220;ZigZag&#8221;,12,5,3,1,i);</p>
<p>ExtMapBuffer3[i]=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-176.html" target="_blank">iCustom</a>(NULL, 0, &#8220;ZigZag&#8221;,12,5,3,2,i);</p>
<p>}</p>
<p>これで終了です。</p>
<p>今回注目する点は、</p>
<p>iCustom(NULL, 0, &#8220;ZigZag&#8221;,12,5,3,2,i);</p>
<p>インターフェース仕様は、</p>
<p>double iCustom( string symbol, int timeframe, string name, &#8230;, int mode, int shift)</p>
<p>で、symbolにNULLを入れることで、今利用している通貨ペアを使用します。</p>
<p>timeframeに0を入れ<span style="font-family: mceinline;">る</span>ことで、今利用している通貨ペアの時間軸を使います。</p>
<p>nameは、利用したいインジケータ名「ZigZag」。</p>
<p>ファイル名の拡張子をのぞいた名前を使います。</p>
<p>問題は、次の<strong><span style="font-family: mceinline;">&#8230;<span style="font-weight: normal;">。</span></span></strong></p>
<p><span style="font-family: mceinline;">ここは、利用元のインジケータのパラメータを入れます。</span></p>
<p><span style="font-family: mceinline;">「ZigZag」は、3つパラメータがあるので、３つ。</span></p>
<p><span style="font-family: mceinline;">12,5,3</span></p>
<p><span style="font-family: mceinline;">を指定しています。</span></p>
<p><span style="font-family: mceinline;">利用元のインジケータのパラメータが0なら0、20なら20。</span></p>
<p><span style="font-family: mceinline;">引数が可変になるので、分かりにくいところです。</span></p>
<p><span style="font-family: mceinline;">modeは、何番目のバッファから取得するか。</span></p>
<p><span style="font-family: mceinline;">shiftは、何番目の足の情報を取得するかです。</span></p>
<p><span style="font-family: mceinline;">パラメータ設定部分が、わかりにくいので注意してくださいね。</span></p>
<p><span style="font-family: mceinline;">コンパイルして、動かすと元々線が出ていた場所は、赤丸。</span></p>
<p><span style="font-family: mceinline;">バッファ１が青い×。</span></p>
<p><span style="font-family: mceinline;">バッファ2が緑の×。</span></p>
<p><span style="font-family: mceinline;">が表示されるはずです。</span></p>
<p><span style="font-family: mceinline;">この方法は、いろいろなインジケータから情報を取得できるので、おもしろいことができると思います。</span></p>
<p><span style="font-family: mceinline;"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e3%81%ae%e6%83%85%e5%a0%b1%e3%82%92%e5%8f%96%e5%be%97%e3%81%99%e3%82%8b%ef%bc%92/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e3%81%ae%e6%83%85%e5%a0%b1%e3%82%92%e5%8f%96%e5%be%97%e3%81%99%e3%82%8b%ef%bc%92/" />
	</item>
		<item>
		<title>メール送信インジケータ</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%83%a1%e3%83%bc%e3%83%ab%e9%80%81%e4%bf%a1%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%83%a1%e3%83%bc%e3%83%ab%e9%80%81%e4%bf%a1%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf/#comments</comments>
		<pubDate>Fri, 22 May 2009 01:36:29 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[インジケータ]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[簡単インジケータ作成テンプレート]]></category>
		<category><![CDATA[MQL4]]></category>
		<category><![CDATA[インジケーター]]></category>
		<category><![CDATA[テンプレート]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[ボリンジャーバンド]]></category>
		<category><![CDATA[メール送信]]></category>
		<category><![CDATA[入門]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=324</guid>
		<description><![CDATA[前回のインジケータを派手にするで、アラートウィンドウを開いたり、音を鳴らしたりしました。
今回は、メールを送信してみたいと思います。
ですが、メールの設定は結構めんどうなので、簡単にユーザを作れるYahooメールを例に設定を説明します。
とりあえず、Yahooメールと契約してください。
で、メール設定に「POPアクセスとメール転送」があります。
「ブラウザアクセスとPOPアクセス」にチェックを入れて、設定してください。
これで、Yahooメールの設定は終了です。
次は、メタトレーダーの設定です。
メニューのツール－オプションを開いてください。
「E-メール」タブで、
「有効にする」にチェックを入れます。
SMTPサーバー：「smtp.mail.yahoo.jpsmtp.mail.yahoo.co.jp:587」
SMTPログインID：「YahooのユーザID」
SMTPパスワード：「Yahooのパスワード」
発信元：「ユーザID@yahoo.co.jp」
送信先：「送信したいメールアドレス」
これを入力して、「Test」ボタンを押してください。
テストメールが送信されれば、設定OKです。
では、プログラムの方に行ってみましょう。
前回のソースを使います。
ここから、読み始めた人は、前回のインジケータを派手にするを見てくださいね。
では、DataSetを以下のように書き換えてください。
void DataSet(int i)
{
double dBBUp = iBands(NULL,0,Param1,2,0,PRICE_CLOSE,MODE_UPPER,i);
double dBBDown = iBands(NULL,0,Param1,2,0,PRICE_CLOSE,MODE_LOWER,i);
if(dBBUp &#60; High[i])
{
ExtMapBuffer1[i]=dBBUp;
if(ExtMapBuffer1[i+1] == EMPTY_VALUE)
{
if(i == 0){
SendMail(&#8221;Test BB&#8221; , &#8220;BBUp Over:&#8221; + DoubleToStr(High[i],Digits));
PlaySound(”alert.wav”);
}
ExtMapBuffer1[i+1] = ExtMapBuffer2[i+1];
}
}
else
{
ExtMapBuffer2[i]=dBBUp;
if(ExtMapBuffer2[i+1] == EMPTY_VALUE)ExtMapBuffer2[i+1] = ExtMapBuffer1[i+1];
}
if(dBBDown &#62; Low[i])
{
ExtMapBuffer3[i]=dBBDown;
if(ExtMapBuffer3[i+1] == EMPTY_VALUE)
{
if(i == 0){
SendMail(&#8221;Test BB&#8221; , &#8220;BBDown Over:&#8221; + DoubleToStr(Low[i],Digits));
PlaySound(”alert.wav”);
}
ExtMapBuffer3[i+1] = ExtMapBuffer4[i+1];
}
}
else
{
ExtMapBuffer4[i]=dBBDown;
if(ExtMapBuffer4[i+1] == EMPTY_VALUE)ExtMapBuffer4[i+1] = ExtMapBuffer3[i+1];
}
//   ExtMapBuffer5[i]=iMA(NULL,0,14,0,MODE_SMA,PRICE_WEIGHTED,i);
//   ExtMapBuffer6[i]=iMA(NULL,0,14,0,MODE_EMA,PRICE_WEIGHTED,i);
//   ExtMapBuffer7[i]=iMA(NULL,0,14,0,MODE_SMMA,PRICE_WEIGHTED,i);
//   ExtMapBuffer8[i]=iMA(NULL,0,14,0,MODE_LWMA,PRICE_WEIGHTED,i);
}
今回は、前回のアラートウィンドウの代わりにメール送信を行います。
SendMail(タイトル,本文);
を使います。
DoubleToStr(High[i],Digits)
で、High[i]の数字を文字型に変更しています。
DoubleToStr(double型の変数,有効小数点桁数)
Digitsは、現在の通貨ペアの小数点桁数を表します。
ということで、ボリンジャーバンドにタッチしたときの高値か安値をメールで送信するプログラムのできあがりです。
いままで、数回同じようなネタで行いましたが、結構簡単にいろいろなことができることが分かったと思います。
小難しいことを知らなくても意外と何とかなるでしょ！
では、また次回。
※YahooのSNTPサーバのアドレスが間違っていました。
]]></description>
			<content:encoded><![CDATA[<p>前回の<a href="http://metatraderfx.net/metatrader-beginner/%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e3%82%92%e6%b4%be%e6%89%8b%e3%81%ab%e3%81%99%e3%82%8b/" target="_blank">インジケータを派手にする</a>で、アラートウィンドウを開いたり、音を鳴らしたりしました。</p>
<p>今回は、メールを送信してみたいと思います。</p>
<p>ですが、メールの設定は結構めんどうなので、簡単にユーザを作れるYahooメールを例に設定を説明します。</p>
<p>とりあえず、Yahooメールと契約してください。</p>
<p>で、メール設定に「POPアクセスとメール転送」があります。</p>
<p>「ブラウザアクセスとPOPアクセス」にチェックを入れて、設定してください。</p>
<p>これで、Yahooメールの設定は終了です。</p>
<p>次は、メタトレーダーの設定です。</p>
<p>メニューのツール－オプションを開いてください。</p>
<p>「E-メール」タブで、</p>
<p>「有効にする」にチェックを入れます。</p>
<p>SMTPサーバー：「<span><span style="text-decoration: line-through;">smtp.mail.yahoo.jp</span><span style="color: #ff0000;">smtp.mail.yahoo.co.jp</span></span>:587」</p>
<p>SMTPログインID：「YahooのユーザID」</p>
<p>SMTPパスワード：「Yahooのパスワード」</p>
<p>発信元：「ユーザID@yahoo.co.jp」</p>
<p>送信先：「送信したいメールアドレス」</p>
<p>これを入力して、「Test」ボタンを押してください。</p>
<p>テストメールが送信されれば、設定OKです。</p>
<p>では、プログラムの方に行ってみましょう。</p>
<p>前回のソースを使います。</p>
<p>ここから、読み始めた人は、前回の<a href="http://metatraderfx.net/metatrader-beginner/%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e3%82%92%e6%b4%be%e6%89%8b%e3%81%ab%e3%81%99%e3%82%8b/" target="_blank">インジケータを派手にする</a>を見てくださいね。</p>
<p>では、DataSetを以下のように書き換えてください。</p>
<p>void DataSet(int i)</p>
<p>{</p>
<p>double dBBUp = iBands(NULL,0,Param1,2,0,PRICE_CLOSE,MODE_UPPER,i);</p>
<p>double dBBDown = iBands(NULL,0,Param1,2,0,PRICE_CLOSE,MODE_LOWER,i);</p>
<p>if(dBBUp &lt; High[i])</p>
<p>{</p>
<p>ExtMapBuffer1[i]=dBBUp;</p>
<p>if(ExtMapBuffer1[i+1] == EMPTY_VALUE)</p>
<p>{</p>
<p>if(i == 0){</p>
<p><span style="color: #ff00ff;">SendMail(&#8221;Test BB&#8221; , &#8220;BBUp Over:&#8221; + DoubleToStr(High[i],Digits));</span></p>
<p>PlaySound(”alert.wav”);</p>
<p>}</p>
<p>ExtMapBuffer1[i+1] = ExtMapBuffer2[i+1];</p>
<p>}</p>
<p>}</p>
<p>else</p>
<p>{</p>
<p>ExtMapBuffer2[i]=dBBUp;</p>
<p>if(ExtMapBuffer2[i+1] == EMPTY_VALUE)ExtMapBuffer2[i+1] = ExtMapBuffer1[i+1];</p>
<p>}</p>
<p>if(dBBDown &gt; Low[i])</p>
<p>{</p>
<p>ExtMapBuffer3[i]=dBBDown;</p>
<p>if(ExtMapBuffer3[i+1] == EMPTY_VALUE)</p>
<p>{</p>
<p>if(i == 0){</p>
<p><span style="color: #ff00ff;">SendMail(&#8221;Test BB&#8221; , &#8220;BBDown Over:&#8221; + DoubleToStr(Low[i],Digits));</span></p>
<p>PlaySound(”alert.wav”);</p>
<p>}</p>
<p>ExtMapBuffer3[i+1] = ExtMapBuffer4[i+1];</p>
<p>}</p>
<p>}</p>
<p>else</p>
<p>{</p>
<p>ExtMapBuffer4[i]=dBBDown;</p>
<p>if(ExtMapBuffer4[i+1] == EMPTY_VALUE)ExtMapBuffer4[i+1] = ExtMapBuffer3[i+1];</p>
<p>}</p>
<p>//   ExtMapBuffer5[i]=iMA(NULL,0,14,0,MODE_SMA,PRICE_WEIGHTED,i);</p>
<p>//   ExtMapBuffer6[i]=iMA(NULL,0,14,0,MODE_EMA,PRICE_WEIGHTED,i);</p>
<p>//   ExtMapBuffer7[i]=iMA(NULL,0,14,0,MODE_SMMA,PRICE_WEIGHTED,i);</p>
<p>//   ExtMapBuffer8[i]=iMA(NULL,0,14,0,MODE_LWMA,PRICE_WEIGHTED,i);</p>
<p>}</p>
<p>今回は、前回のアラートウィンドウの代わりにメール送信を行います。</p>
<p>SendMail(タイトル,本文);</p>
<p>を使います。</p>
<p>DoubleToStr(High[i],Digits)</p>
<p>で、High[i]の数字を文字型に変更しています。</p>
<p>DoubleToStr(double型の変数,有効小数点桁数)</p>
<p>Digitsは、現在の通貨ペアの小数点桁数を表します。</p>
<p>ということで、ボリンジャーバンドにタッチしたときの高値か安値をメールで送信するプログラムのできあがりです。</p>
<p>いままで、数回同じようなネタで行いましたが、結構簡単にいろいろなことができることが分かったと思います。</p>
<p>小難しいことを知らなくても意外と何とかなるでしょ！</p>
<p>では、また次回。</p>
<p><span id="more-324"></span><strong><span style="text-decoration: underline;"><span style="color: #ff0000;">※YahooのSNTPサーバのアドレスが間違っていました。</span></span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%83%a1%e3%83%bc%e3%83%ab%e9%80%81%e4%bf%a1%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%83%a1%e3%83%bc%e3%83%ab%e9%80%81%e4%bf%a1%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf/" />
	</item>
		<item>
		<title>インジケータを派手にする</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e3%82%92%e6%b4%be%e6%89%8b%e3%81%ab%e3%81%99%e3%82%8b/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e3%82%92%e6%b4%be%e6%89%8b%e3%81%ab%e3%81%99%e3%82%8b/#comments</comments>
		<pubDate>Thu, 21 May 2009 02:03:18 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[インジケータ]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[簡単インジケータ作成テンプレート]]></category>
		<category><![CDATA[ウィンドウを表示する]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[音を出す]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=316</guid>
		<description><![CDATA[前回のちょっと賢いボリンジャーバンドインジケータをちょっと派手にしたいと思います。
 
前回のソースをそのまま使うので、今回からお読みの方は、前回を参考にソースを作成してください。
 
で、どのように派手にするかというと、アラートウィンドウを開き、音を鳴らします。
リクエストもあったので、今回の例で説明します。
 
アラートウィンドウと音を鳴らすタイミングは、ボリンジャーバンドを抜けたときに行います。
 
では、DataSetを以下のように書き換えてください。
 
void DataSet(int i)
{
   double dBBUp = iBands(NULL,0,Param1,2,0,PRICE_CLOSE,MODE_UPPER,i);
   double dBBDown = iBands(NULL,0,Param1,2,0,PRICE_CLOSE,MODE_LOWER,i);
   if(dBBUp &#60; High[i])
   {
      ExtMapBuffer1[i]=dBBUp;
      if(ExtMapBuffer1[i+1] == EMPTY_VALUE)
      {
         if(i == 0){
            Alert(&#8221;BBUp Over:&#8221;,High[i]);
            PlaySound(&#8221;alert.wav&#8221;);
         }
         ExtMapBuffer1[i+1] = ExtMapBuffer2[i+1];
      }
   }
   else
   {
   [...]]]></description>
			<content:encoded><![CDATA[<p>前回の<a href="http://metatraderfx.net/uncategorized/%e3%81%a1%e3%82%87%e3%81%a3%e3%81%a8%e8%b3%a2%e3%81%84%e3%83%9c%e3%83%aa%e3%83%b3%e3%82%b8%e3%83%a3%e3%83%bc%e3%83%90%e3%83%b3%e3%83%89%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf/" target="_blank">ちょっと賢いボリンジャーバンドインジケータ</a>をちょっと派手にしたいと思います。</p>
<p> </p>
<p>前回のソースをそのまま使うので、今回からお読みの方は、前回を参考にソースを作成してください。</p>
<p> </p>
<p>で、どのように派手にするかというと、アラートウィンドウを開き、音を鳴らします。</p>
<p>リクエストもあったので、今回の例で説明します。</p>
<p> </p>
<p>アラートウィンドウと音を鳴らすタイミングは、ボリンジャーバンドを抜けたときに行います。</p>
<p> </p>
<p>では、DataSetを以下のように書き換えてください。</p>
<p> </p>
<p>void DataSet(int i)</p>
<p>{</p>
<p>   double dBBUp = iBands(NULL,0,Param1,2,0,PRICE_CLOSE,MODE_UPPER,i);</p>
<p>   double dBBDown = iBands(NULL,0,Param1,2,0,PRICE_CLOSE,MODE_LOWER,i);</p>
<p>   if(dBBUp &lt; High[i])</p>
<p>   {</p>
<p>      ExtMapBuffer1[i]=dBBUp;</p>
<p>      if(ExtMapBuffer1[i+1] == EMPTY_VALUE)</p>
<p>      {</p>
<p>         if(i == 0){</p>
<p>            Alert(&#8221;BBUp Over:&#8221;,High[i]);</p>
<p>            PlaySound(&#8221;alert.wav&#8221;);</p>
<p>         }</p>
<p>         ExtMapBuffer1[i+1] = ExtMapBuffer2[i+1];</p>
<p>      }</p>
<p>   }</p>
<p>   else</p>
<p>   {</p>
<p>      ExtMapBuffer2[i]=dBBUp;</p>
<p>      if(ExtMapBuffer2[i+1] == EMPTY_VALUE)ExtMapBuffer2[i+1] = ExtMapBuffer1[i+1];</p>
<p>   }</p>
<p>   if(dBBDown &gt; Low[i])</p>
<p>   {</p>
<p>      ExtMapBuffer3[i]=dBBDown;</p>
<p>      if(ExtMapBuffer3[i+1] == EMPTY_VALUE)</p>
<p>      {</p>
<p>         if(i == 0){</p>
<p>            Alert(&#8221;BBDown Over:&#8221;,Low[i]);</p>
<p>            PlaySound(&#8221;alert.wav&#8221;);</p>
<p>         }</p>
<p>         ExtMapBuffer3[i+1] = ExtMapBuffer4[i+1];</p>
<p>      }</p>
<p>   }</p>
<p>   else</p>
<p>   {</p>
<p>      ExtMapBuffer4[i]=dBBDown;</p>
<p>      if(ExtMapBuffer4[i+1] == EMPTY_VALUE)ExtMapBuffer4[i+1] = ExtMapBuffer3[i+1];</p>
<p>   }</p>
<p>//   ExtMapBuffer5[i]=iMA(NULL,0,14,0,MODE_SMA,PRICE_WEIGHTED,i);</p>
<p>//   ExtMapBuffer6[i]=iMA(NULL,0,14,0,MODE_EMA,PRICE_WEIGHTED,i);</p>
<p>//   ExtMapBuffer7[i]=iMA(NULL,0,14,0,MODE_SMMA,PRICE_WEIGHTED,i);</p>
<p>//   ExtMapBuffer8[i]=iMA(NULL,0,14,0,MODE_LWMA,PRICE_WEIGHTED,i);</p>
<p>}</p>
<p>if(i == 0)でくくっているのは、過去のラインを描画するときにもメッセージや音が出てしまうためです。</p>
<p>新規にボリンジャーバンドを抜けたときだけ、処理を行います。</p>
<p> </p>
<p>Alertは、アラートウィンドウを表示する関数で、引数はコメントと同じで「,」カンマ区切りで、文字や数値を連結できます。</p>
<p>PlaySoundは、音を出す命令で、引数にサウンドファイル名を指定します。</p>
<p>インストールパス\MetaTrader\sounds</p>
<p>に入っているファイルを指定できます。</p>
<p> </p>
<p>これで、好きなときに音を出したりできますね。</p>
<p> </p>
<p>色々挑戦してみてください。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e3%82%92%e6%b4%be%e6%89%8b%e3%81%ab%e3%81%99%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e3%82%92%e6%b4%be%e6%89%8b%e3%81%ab%e3%81%99%e3%82%8b/" />
	</item>
		<item>
		<title>ちょっと賢いボリンジャーバンドインジケータ</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%81%a1%e3%82%87%e3%81%a3%e3%81%a8%e8%b3%a2%e3%81%84%e3%83%9c%e3%83%aa%e3%83%b3%e3%82%b8%e3%83%a3%e3%83%bc%e3%83%90%e3%83%b3%e3%83%89%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%81%a1%e3%82%87%e3%81%a3%e3%81%a8%e8%b3%a2%e3%81%84%e3%83%9c%e3%83%aa%e3%83%b3%e3%82%b8%e3%83%a3%e3%83%bc%e3%83%90%e3%83%b3%e3%83%89%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf/#comments</comments>
		<pubDate>Tue, 19 May 2009 22:07:54 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[MQL4]]></category>
		<category><![CDATA[インジケータ]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[簡単インジケータ作成テンプレート]]></category>
		<category><![CDATA[インジケーター]]></category>
		<category><![CDATA[サンプル]]></category>
		<category><![CDATA[テンプレート]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[ボリンジャーバンド]]></category>
		<category><![CDATA[入門]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=312</guid>
		<description><![CDATA[前回に引き続き、「簡単インジケータ作成テンプレート」を使ったサンプルを作ってみます。
今回もボリンジャーバンドを利用します。
 
ボリンジャーバンドにタッチしたら、売ったり買ったりすることが結構あると思います。
でも、本当にタッチしているかどうか分かりにくいですよね。
なので、タッチしているときだけ色を変えるようなインジケータを作ってみます。
 
まだ、テンプレートをダウンロードしていない人は、「簡単インジケータ作成テンプレート」からダウンロードしてください。
 
indicator_temp.mq4をコピーして、適当な名前にしてください。
例として、BB_I.mq4とします。
このファイルは、
インストールパス\MetaTrader\experts\indicators
に入れてくださいね。
 
いつものようにメタトレーダーを起動して、メタエディターを開いてください。
そこで、先ほど作ったBB_I.mq4を開きます。
 
変更する場所は、一番下の関数
DataSetだけです。
 
以下のように修正してみてください。
 
void DataSet(int i)
{
   double dBBUp = iBands(NULL,0,Param1,2,0,PRICE_CLOSE,MODE_UPPER,i);
   double dBBDown = iBands(NULL,0,Param1,2,0,PRICE_CLOSE,MODE_LOWER,i);
   if(dBBUp &#60; High[i])
   {
      ExtMapBuffer1[i]=dBBUp;
   }
   else
   {
      ExtMapBuffer2[i]=dBBUp;
   }
   if(dBBDown &#62; Low[i])
   {
      ExtMapBuffer3[i]=dBBDown;
   }
   else
   {
      ExtMapBuffer4[i]=dBBDown;
   }
//   ExtMapBuffer5[i]=iMA(NULL,0,14,0,MODE_SMA,PRICE_WEIGHTED,i);
//   ExtMapBuffer6[i]=iMA(NULL,0,14,0,MODE_EMA,PRICE_WEIGHTED,i);
//   ExtMapBuffer7[i]=iMA(NULL,0,14,0,MODE_SMMA,PRICE_WEIGHTED,i);
//   ExtMapBuffer8[i]=iMA(NULL,0,14,0,MODE_LWMA,PRICE_WEIGHTED,i);
}
今回は、上下2色使うので、上側にExtMapBuffer1、ExtMapBuffer2
下側に、ExtMapBuffer3、ExtMapBuffer4を割り当てます。
ボリンジャーバンドの上側のラインより高値が高い場合に、ExtMapBuffer1に値をセット。
低い場合に、ExtMapBuffer2にセットします。
下側も同様にセットしています。
 
ボリンジャーバンドで利用する足の数を変えられるように、Param1を使いました。
 
コンパイルして、描画させたいグラフにドロップしてみてください。
Param1は0になっているので、21とか適当な値にしてください。
線の太さや色もパラメータで設定できますので、いじってみてくださいね。
 
表示させた結果、ちゃんと色が変わっているのが分かりましたか？
 
 
でも、なんか線が飛んでいませんか？
データを入れていないところは、デフォルトでEMPTY_VALUEという描画しない値が、入っています。
ちょうど、書き始めに値が入っていないため抜けているんですね。
 
というわけで、ちょっと気持ち悪いので、たりない情報を別のバッファからもらうように修正してみます。
 
void DataSet(int i)
{
   double dBBUp = iBands(NULL,0,Param1,2,0,PRICE_CLOSE,MODE_UPPER,i);
   double dBBDown = iBands(NULL,0,Param1,2,0,PRICE_CLOSE,MODE_LOWER,i);
   if(dBBUp &#60; [...]]]></description>
			<content:encoded><![CDATA[<p>前回に引き続き、「<a href="http://download-center.metatraderfx.net/indicator/%e7%b0%a1%e5%8d%98%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e4%bd%9c%e6%88%90%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88/" target="_blank">簡単インジケータ作成テンプレート</a>」を使ったサンプルを作ってみます。</p>
<p>今回もボリンジャーバンドを利用します。</p>
<p> </p>
<p>ボリンジャーバンドにタッチしたら、売ったり買ったりすることが結構あると思います。</p>
<p>でも、本当にタッチしているかどうか分かりにくいですよね。</p>
<p>なので、タッチしているときだけ色を変えるようなインジケータを作ってみます。</p>
<p> </p>
<p>まだ、テンプレートをダウンロードしていない人は、「<a href="http://download-center.metatraderfx.net/indicator/%e7%b0%a1%e5%8d%98%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e4%bd%9c%e6%88%90%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88/" target="_blank">簡単インジケータ作成テンプレート</a>」からダウンロードしてください。</p>
<p> </p>
<p>indicator_temp.mq4をコピーして、適当な名前にしてください。</p>
<p>例として、BB_I.mq4とします。</p>
<p>このファイルは、</p>
<p>インストールパス\MetaTrader\experts\indicators</p>
<p>に入れてくださいね。</p>
<p> </p>
<p>いつものようにメタトレーダーを起動して、メタエディターを開いてください。</p>
<p>そこで、先ほど作ったBB_I.mq4を開きます。</p>
<p> </p>
<p>変更する場所は、一番下の関数</p>
<p>DataSetだけです。</p>
<p> </p>
<p>以下のように修正してみてください。</p>
<p> </p>
<p>void DataSet(int i)</p>
<p>{</p>
<p>   double dBBUp = iBands(NULL,0,Param1,2,0,PRICE_CLOSE,MODE_UPPER,i);</p>
<p>   double dBBDown = iBands(NULL,0,Param1,2,0,PRICE_CLOSE,MODE_LOWER,i);</p>
<p>   if(dBBUp &lt; High[i])</p>
<p>   {</p>
<p>      ExtMapBuffer1[i]=dBBUp;</p>
<p>   }</p>
<p>   else</p>
<p>   {</p>
<p>      ExtMapBuffer2[i]=dBBUp;</p>
<p>   }</p>
<p>   if(dBBDown &gt; Low[i])</p>
<p>   {</p>
<p>      ExtMapBuffer3[i]=dBBDown;</p>
<p>   }</p>
<p>   else</p>
<p>   {</p>
<p>      ExtMapBuffer4[i]=dBBDown;</p>
<p>   }</p>
<p>//   ExtMapBuffer5[i]=iMA(NULL,0,14,0,MODE_SMA,PRICE_WEIGHTED,i);</p>
<p>//   ExtMapBuffer6[i]=iMA(NULL,0,14,0,MODE_EMA,PRICE_WEIGHTED,i);</p>
<p>//   ExtMapBuffer7[i]=iMA(NULL,0,14,0,MODE_SMMA,PRICE_WEIGHTED,i);</p>
<p>//   ExtMapBuffer8[i]=iMA(NULL,0,14,0,MODE_LWMA,PRICE_WEIGHTED,i);</p>
<p>}</p>
<p>今回は、上下2色使うので、上側にExtMapBuffer1、ExtMapBuffer2</p>
<p>下側に、ExtMapBuffer3、ExtMapBuffer4を割り当てます。</p>
<p>ボリンジャーバンドの上側のラインより高値が高い場合に、ExtMapBuffer1に値をセット。</p>
<p>低い場合に、ExtMapBuffer2にセットします。</p>
<p>下側も同様にセットしています。</p>
<p> </p>
<p>ボリンジャーバンドで利用する足の数を変えられるように、Param1を使いました。</p>
<p> </p>
<p>コンパイルして、描画させたいグラフにドロップしてみてください。</p>
<p>Param1は0になっているので、21とか適当な値にしてください。</p>
<p>線の太さや色もパラメータで設定できますので、いじってみてくださいね。</p>
<p> </p>
<p>表示させた結果、ちゃんと色が変わっているのが分かりましたか？</p>
<p> </p>
<p> </p>
<p>でも、なんか線が飛んでいませんか？</p>
<p>データを入れていないところは、デフォルトでEMPTY_VALUEという描画しない値が、入っています。</p>
<p>ちょうど、書き始めに値が入っていないため抜けているんですね。</p>
<p> </p>
<p>というわけで、ちょっと気持ち悪いので、たりない情報を別のバッファからもらうように修正してみます。</p>
<p> </p>
<p>void DataSet(int i)</p>
<p>{</p>
<p>   double dBBUp = iBands(NULL,0,Param1,2,0,PRICE_CLOSE,MODE_UPPER,i);</p>
<p>   double dBBDown = iBands(NULL,0,Param1,2,0,PRICE_CLOSE,MODE_LOWER,i);</p>
<p>   if(dBBUp &lt; High[i])</p>
<p>   {</p>
<p>      ExtMapBuffer1[i]=dBBUp;</p>
<p>      if(ExtMapBuffer1[i+1] == EMPTY_VALUE)ExtMapBuffer1[i+1] = ExtMapBuffer2[i+1];</p>
<p>   }</p>
<p>   else</p>
<p>   {</p>
<p>      ExtMapBuffer2[i]=dBBUp;</p>
<p>      if(ExtMapBuffer2[i+1] == EMPTY_VALUE)ExtMapBuffer2[i+1] = ExtMapBuffer1[i+1];</p>
<p>   }</p>
<p>   if(dBBDown &gt; Low[i])</p>
<p>   {</p>
<p>      ExtMapBuffer3[i]=dBBDown;</p>
<p>      if(ExtMapBuffer3[i+1] == EMPTY_VALUE)ExtMapBuffer3[i+1] = ExtMapBuffer4[i+1];</p>
<p>   }</p>
<p>   else</p>
<p>   {</p>
<p>      ExtMapBuffer4[i]=dBBDown;</p>
<p>      if(ExtMapBuffer4[i+1] == EMPTY_VALUE)ExtMapBuffer4[i+1] = ExtMapBuffer3[i+1];</p>
<p>   }</p>
<p>//   ExtMapBuffer5[i]=iMA(NULL,0,14,0,MODE_SMA,PRICE_WEIGHTED,i);</p>
<p>//   ExtMapBuffer6[i]=iMA(NULL,0,14,0,MODE_EMA,PRICE_WEIGHTED,i);</p>
<p>//   ExtMapBuffer7[i]=iMA(NULL,0,14,0,MODE_SMMA,PRICE_WEIGHTED,i);</p>
<p>//   ExtMapBuffer8[i]=iMA(NULL,0,14,0,MODE_LWMA,PRICE_WEIGHTED,i);</p>
<p>}</p>
<p>これで、試してみてください。</p>
<p>うまくいったでしょ。</p>
<p>ちなみにコンパイルするとパラメータの設定が初期化されてしまいます。</p>
<p> </p>
<p>気になる人は、上の方の</p>
<p>#property indicator_color1 Red</p>
<p>#property indicator_color2 Blue</p>
<p>#property indicator_color3 Green</p>
<p>#property indicator_color4 Yellow</p>
<p>extern int Param1=0;</p>
<p> </p>
<p>の値を変えてみてくださいね。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%81%a1%e3%82%87%e3%81%a3%e3%81%a8%e8%b3%a2%e3%81%84%e3%83%9c%e3%83%aa%e3%83%b3%e3%82%b8%e3%83%a3%e3%83%bc%e3%83%90%e3%83%b3%e3%83%89%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%81%a1%e3%82%87%e3%81%a3%e3%81%a8%e8%b3%a2%e3%81%84%e3%83%9c%e3%83%aa%e3%83%b3%e3%82%b8%e3%83%a3%e3%83%bc%e3%83%90%e3%83%b3%e3%83%89%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf/" />
	</item>
		<item>
		<title>簡単インジケータ作成テンプレート</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e7%b0%a1%e5%8d%98%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e4%bd%9c%e6%88%90%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e7%b0%a1%e5%8d%98%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e4%bd%9c%e6%88%90%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88/#comments</comments>
		<pubDate>Mon, 18 May 2009 22:12:26 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[インジケータ]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[簡単インジケータ作成テンプレート]]></category>
		<category><![CDATA[MQL4]]></category>
		<category><![CDATA[RSI]]></category>
		<category><![CDATA[インジケーター]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[ボリンジャーバンド]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[移動平均]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=303</guid>
		<description><![CDATA[インジケータプログラムの楽しさを知ってもらうために、「簡単インジケータ作成テンプレート」を作成しました。
まず、ダウンロードしてください。
 
それでは、簡単に使い方を説明します。
 
indicator_temp.mq4
を作りたいインジケータ名に変更します。
 
今回は、サンプルでボリンジャーバンドを表示してみたいと思います。
ですので、ファイル名を「Bands_I.mq4」に変更してください。
 
リネームしたファイルを以下のフォルダーへコピーしてください。
インストールパス\MetaTrader\experts\indicators
 
では、メタトレーダーを起動して、メタエディターを起動してください。
ナビゲータウィンドウのFilesタブにindicatorsを開くと、ファイル一覧が表示されます。
ここに先ほどコピーした、「Bands_I.mq4」があるはずなので、ダブルクリックして開いてください。
 
下の方に、「DataSet」という関数があります。
このテンプレートでは、基本的にこの中だけをいじります。
 
では、以下のように書き換えてください。
 
void DataSet(int i)
{
   ExtMapBuffer1[i]=iBands(NULL,0,21,3,0,PRICE_CLOSE,MODE_UPPER,i);
   ExtMapBuffer2[i]=iBands(NULL,0,21,2,0,PRICE_CLOSE,MODE_UPPER,i);
   ExtMapBuffer3[i]=iBands(NULL,0,21,1,0,PRICE_CLOSE,MODE_UPPER,i);
   ExtMapBuffer4[i]=iMA(NULL,0,21,0,MODE_SMA,PRICE_CLOSE,i);
   ExtMapBuffer5[i]=iBands(NULL,0,21,1,0,PRICE_CLOSE,MODE_LOWER,i);
   ExtMapBuffer6[i]=iBands(NULL,0,21,2,0,PRICE_CLOSE,MODE_LOWER,i);
   ExtMapBuffer7[i]=iBands(NULL,0,21,3,0,PRICE_CLOSE,MODE_LOWER,i);
//   ExtMapBuffer8[i]=iMA(NULL,0,14,0,MODE_LWMA,PRICE_WEIGHTED,i);
}
 
ラインは、７本使うので最後の1行はコメントアウトしています。
ボリンジャーバンドの3θ、2θ、1θを上下1本ずつ、合計6本と中央に移動平均を引くので、合計7本です。
このように、メタトレーダー標準の関数の値を代入するだけで、お手軽にいろいろな線を引くことができるテンプレートとなっています。
標準では、メインウィンドウへ書きますので、現在のレートに近い値を代入しないと表示できません。
※範囲外になってしまうので。。。
もし、サブウィンドウに表示したいときは、
上の方にある

#property indicator_chart_window
//#property indicator_separate_window

を

//#property indicator_chart_window
#property indicator_separate_window
 
のようにコメントを変更してください。
ちなみに以下のように書き直すと、RSIが表示できます。
 

void DataSet(int i)
{
   ExtMapBuffer1[i]=iRSI(NULL,0,21,PRICE_CLOSE,i);
//   ExtMapBuffer2[i]=iMA(NULL,0,7,0,MODE_EMA,PRICE_WEIGHTED,i);
//   ExtMapBuffer3[i]=iMA(NULL,0,7,0,MODE_SMMA,PRICE_WEIGHTED,i);
//   ExtMapBuffer4[i]=iMA(NULL,0,7,0,MODE_LWMA,PRICE_WEIGHTED,i);
//   ExtMapBuffer5[i]=iMA(NULL,0,14,0,MODE_SMA,PRICE_WEIGHTED,i);
//   ExtMapBuffer6[i]=iMA(NULL,0,14,0,MODE_EMA,PRICE_WEIGHTED,i);
//   ExtMapBuffer7[i]=iMA(NULL,0,14,0,MODE_SMMA,PRICE_WEIGHTED,i);
//   ExtMapBuffer8[i]=iMA(NULL,0,14,0,MODE_LWMA,PRICE_WEIGHTED,i);
}
 
このように、比較的簡単にいろいろな指標を表示できます。
次回から、このテンプレートを使って遊んでみたいと思います。
]]></description>
			<content:encoded><![CDATA[<p>インジケータプログラムの楽しさを知ってもらうために、「<a href="http://download-center.metatraderfx.net/indicator/%e7%b0%a1%e5%8d%98%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e4%bd%9c%e6%88%90%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88/" target="_blank">簡単インジケータ作成テンプレート</a>」を作成しました。</p>
<p>まず、ダウンロードしてください。</p>
<p> </p>
<p>それでは、簡単に使い方を説明します。</p>
<p> </p>
<p>indicator_temp.mq4</p>
<p>を作りたいインジケータ名に変更します。</p>
<p> </p>
<p>今回は、サンプルでボリンジャーバンドを表示してみたいと思います。</p>
<p>ですので、ファイル名を「Bands_I.mq4」に変更してください。</p>
<p> </p>
<p>リネームしたファイルを以下のフォルダーへコピーしてください。</p>
<p>インストールパス\MetaTrader\experts\indicators</p>
<p> </p>
<p>では、メタトレーダーを起動して、メタエディターを起動してください。</p>
<p>ナビゲータウィンドウのFilesタブにindicatorsを開くと、ファイル一覧が表示されます。</p>
<p>ここに先ほどコピーした、「Bands_I.mq4」があるはずなので、ダブルクリックして開いてください。</p>
<p> </p>
<p>下の方に、「DataSet」という関数があります。</p>
<p>このテンプレートでは、基本的にこの中だけをいじります。</p>
<p> </p>
<p>では、以下のように書き換えてください。</p>
<p> </p>
<p>void DataSet(int i)</p>
<p>{</p>
<p>   ExtMapBuffer1[i]=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-171.html" target="_blank">iBands</a>(NULL,0,21,3,0,PRICE_CLOSE,MODE_UPPER,i);</p>
<p>   ExtMapBuffer2[i]=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-171.html" target="_blank">iBands</a>(NULL,0,21,2,0,PRICE_CLOSE,MODE_UPPER,i);</p>
<p>   ExtMapBuffer3[i]=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-171.html" target="_blank">iBands</a>(NULL,0,21,1,0,PRICE_CLOSE,MODE_UPPER,i);</p>
<p>   ExtMapBuffer4[i]=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-188.html" target="_blank">iMA</a>(NULL,0,21,0,MODE_SMA,PRICE_CLOSE,i);</p>
<p>   ExtMapBuffer5[i]=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-171.html" target="_blank">iBands</a>(NULL,0,21,1,0,PRICE_CLOSE,MODE_LOWER,i);</p>
<p>   ExtMapBuffer6[i]=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-171.html" target="_blank">iBands</a>(NULL,0,21,2,0,PRICE_CLOSE,MODE_LOWER,i);</p>
<p>   ExtMapBuffer7[i]=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-171.html" target="_blank">iBands</a>(NULL,0,21,3,0,PRICE_CLOSE,MODE_LOWER,i);</p>
<p>//   ExtMapBuffer8[i]=iMA(NULL,0,14,0,MODE_LWMA,PRICE_WEIGHTED,i);</p>
<p>}</p>
<p> </p>
<p>ラインは、７本使うので最後の1行はコメントアウトしています。</p>
<p>ボリンジャーバンドの3θ、2θ、1θを上下1本ずつ、合計6本と中央に移動平均を引くので、合計7本です。</p>
<p>このように、メタトレーダー標準の関数の値を代入するだけで、お手軽にいろいろな線を引くことができるテンプレートとなっています。</p>
<p>標準では、メインウィンドウへ書きますので、現在のレートに近い値を代入しないと表示できません。</p>
<p>※範囲外になってしまうので。。。</p>
<div>もし、サブウィンドウに表示したいときは、</div>
<div>上の方にある</div>
<div>
<div>#property indicator_chart_window</div>
<div><span style="color: #00ff00;">//#property indicator_separate_window</span></div>
</div>
<div>を</div>
<div>
<div><span style="color: #ff9900;">//#property indicator_chart_window</span></div>
<div>#property indicator_separate_window</div>
<p> </p></div>
<p>のようにコメントを変更してください。</p>
<p>ちなみに以下のように書き直すと、RSIが表示できます。</p>
<p> </p>
<div>
<div>void DataSet(int i)</div>
<div>{</div>
<div>   ExtMapBuffer1[i]=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-194.html" target="_blank">iRSI</a>(NULL,0,21,PRICE_CLOSE,i);</div>
<div>//   ExtMapBuffer2[i]=iMA(NULL,0,7,0,MODE_EMA,PRICE_WEIGHTED,i);</div>
<div>//   ExtMapBuffer3[i]=iMA(NULL,0,7,0,MODE_SMMA,PRICE_WEIGHTED,i);</div>
<div>//   ExtMapBuffer4[i]=iMA(NULL,0,7,0,MODE_LWMA,PRICE_WEIGHTED,i);</div>
<div>//   ExtMapBuffer5[i]=iMA(NULL,0,14,0,MODE_SMA,PRICE_WEIGHTED,i);</div>
<div>//   ExtMapBuffer6[i]=iMA(NULL,0,14,0,MODE_EMA,PRICE_WEIGHTED,i);</div>
<div>//   ExtMapBuffer7[i]=iMA(NULL,0,14,0,MODE_SMMA,PRICE_WEIGHTED,i);</div>
<div>//   ExtMapBuffer8[i]=iMA(NULL,0,14,0,MODE_LWMA,PRICE_WEIGHTED,i);</div>
<div>}</div>
<p> </p></div>
<p>このように、比較的簡単にいろいろな指標を表示できます。</p>
<p>次回から、このテンプレートを使って遊んでみたいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e7%b0%a1%e5%8d%98%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e4%bd%9c%e6%88%90%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e7%b0%a1%e5%8d%98%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e4%bd%9c%e6%88%90%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88/" />
	</item>
	</channel>
</rss>

