<?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/tag/%e5%85%a5%e9%96%80/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/tag/%e5%85%a5%e9%96%80/feed/" />
		<item>
		<title>FXメタトレーダー実践プログラミング</title>
		<link>http://metatraderfx.net/metatrader-beginner/fx%e3%83%a1%e3%82%bf%e3%83%88%e3%83%ac%e3%83%bc%e3%83%80%e3%83%bc%e5%ae%9f%e8%b7%b5%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/fx%e3%83%a1%e3%82%bf%e3%83%88%e3%83%ac%e3%83%bc%e3%83%80%e3%83%bc%e5%ae%9f%e8%b7%b5%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 14:35:13 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[FXについて]]></category>
		<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>

		<guid isPermaLink="false">http://metatraderfx.net/?p=511</guid>
		<description><![CDATA[お久しぶりです。
年末からやたら忙しい状態がつづいていて、部署が変わったから楽になるかと思ったら、もっとひどくなってしまいました。
そんな訳で、更新もままならない状況です。
楽しみにしている方には、申し訳ないと思います。
出来る範囲で、ゆっくりとやっていきたいので期待せずにまっていてください。
ちょっと前に見つけて、今日買った本について
「FXメタトレーダー実践プログラミング」という本です。





FXメタトレーダー実践プログラミング

価格：2,940円（税込、送料別）





前作の「FXメタトレーダー入門」の続編に当たるものです。





FXメタトレーダー入門

価格：2,940円（税込、送料別）





FXメタトレーダー実践プログラミングは、結構いいですよ。
前作は、メタトレーダーの使い方とプログラムの触りでしたが、今回のはやりたい事をだいたい実現できるだけの情報が載っています。
目次はこんな感じ。

第１章 メタトレーダーの構成を知る（メタトレーダーを使いこなす前に／メタトレーダーとＭＱＬ４プログラミング）
第２章 カスタム指標プログラムで独自のテクニカル分析（カスタム指標プログラムの基本／組み込みテクニカル指標関数の使い方／オブジェクトを利用したカスタム指標／テクニカル指標のデータをファイルに出力）
第３章 トレード関数で柔軟な注文を実現（トレード関数を使いこなす／トレード時のエラーチェック／トレード関数のライブラリー化／エキスパートプログラムによる注文）
第４章 エキスパートプログラムでシステムトレード自由自在（売買システムの基本構成／仕掛けのパターン／手仕舞いのパターン／そのほかのシステムのパターン／ストラテジーテスターでの検証）
第５章 ＭＱＬ４をさらに使いこなしたい人のために（データの型／プリプロセッサ命令／変数の種類／配列の種類／数学関数／オブジェクトの表示／ファイルの入出力／文字列に関する関数／日時に関する関数／マーケット情報／口座情報／関数のライブラリー化）
付録Ａ ＭＱＬ４関数一覧
付録Ｂ 参考図書

いい感じで知りたい情報が分かります。
多少なり、プログラムの経験があればそれなりのプログラムが組めるようになります。

興味のある方は、本屋で立ち読みしてみてください。

]]></description>
			<content:encoded><![CDATA[<p style="text-align: left; ">お久しぶりです。</p>
<p style="text-align: left; ">年末からやたら忙しい状態がつづいていて、部署が変わったから楽になるかと思ったら、もっとひどくなってしまいました。</p>
<p style="text-align: left; ">そんな訳で、更新もままならない状況です。</p>
<p style="text-align: left; ">楽しみにしている方には、申し訳ないと思います。</p>
<p style="text-align: left; ">出来る範囲で、ゆっくりとやっていきたいので期待せずにまっていてください。</p>
<p style="text-align: left; ">ちょっと前に見つけて、今日買った本について</p>
<p style="text-align: left; ">「<a href="http://hb.afl.rakuten.co.jp/hgc/09f4ab6a.89c21c1d.09f4ab6b.318ea709/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f6198986%2f%3fscid%3daf_ich_link_txt&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f13286562%2f" target="_blank">FXメタトレーダー実践プログラミング</a>」という本です。</p>
<table style="text-align: left; " border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top">
<div style="border: 1px solid; margin: 0px; padding: 6px 0px; width: 160px; text-align: center; float: left;"><a href="http://hb.afl.rakuten.co.jp/hgc/09f4ab6a.89c21c1d.09f4ab6b.318ea709/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f6198986%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f13286562%2f" target="_blank"><img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f7759%2f77599090.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f7759%2f77599090.jpg%3f_ex%3d80x80" border="0" alt="FXメタトレーダー実践プログラミング" /></p>
<p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px">FXメタトレーダー実践プログラミング</p>
<p></a></p>
<p style="font-size:12px;line-height:1.4em;text-align:left;margin: 0px;padding:2px 6px">価格：2,940円（税込、送料別）</p>
</div>
</td>
</tr>
</tbody>
</table>
<p style="text-align: left; ">前作の「<a href="http://hb.afl.rakuten.co.jp/hgc/09f4ab6a.89c21c1d.09f4ab6b.318ea709/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f5221871%2f%3fscid%3daf_ich_link_txt&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f12655817%2f" target="_blank">FXメタトレーダー入門</a>」の続編に当たるものです。</p>
<table style="text-align: left; " border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top">
<div style="border: 1px solid; margin: 0px; padding: 6px 0px; width: 160px; text-align: center; float: left;"><a href="http://hb.afl.rakuten.co.jp/hgc/09f4ab6a.89c21c1d.09f4ab6b.318ea709/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f5221871%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f12655817%2f" target="_blank"><img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f7759%2f77599063.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f7759%2f77599063.jpg%3f_ex%3d80x80" border="0" alt="FXメタトレーダー入門" /></p>
<p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px">FXメタトレーダー入門</p>
<p></a></p>
<p style="font-size:12px;line-height:1.4em;text-align:left;margin: 0px;padding:2px 6px">価格：2,940円（税込、送料別）</p>
</div>
</td>
</tr>
</tbody>
</table>
<p style="text-align: left; "><a href="http://hb.afl.rakuten.co.jp/hgc/09f4ab6a.89c21c1d.09f4ab6b.318ea709/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f6198986%2f%3fscid%3daf_ich_link_txt&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f13286562%2f" target="_blank">FXメタトレーダー実践プログラミング</a>は、結構いいですよ。</p>
<p style="text-align: left; ">前作は、メタトレーダーの使い方とプログラムの触りでしたが、今回のはやりたい事をだいたい実現できるだけの情報が載っています。</p>
<p style="text-align: left; ">目次はこんな感じ。</p>
<ul>
<li>第１章 メタトレーダーの構成を知る（メタトレーダーを使いこなす前に／メタトレーダーとＭＱＬ４プログラミング）</li>
<li>第２章 カスタム指標プログラムで独自のテクニカル分析（カスタム指標プログラムの基本／組み込みテクニカル指標関数の使い方／オブジェクトを利用したカスタム指標／テクニカル指標のデータをファイルに出力）</li>
<li>第３章 トレード関数で柔軟な注文を実現（トレード関数を使いこなす／トレード時のエラーチェック／トレード関数のライブラリー化／エキスパートプログラムによる注文）</li>
<li>第４章 エキスパートプログラムでシステムトレード自由自在（売買システムの基本構成／仕掛けのパターン／手仕舞いのパターン／そのほかのシステムのパターン／ストラテジーテスターでの検証）</li>
<li>第５章 ＭＱＬ４をさらに使いこなしたい人のために（データの型／プリプロセッサ命令／変数の種類／配列の種類／数学関数／オブジェクトの表示／ファイルの入出力／文字列に関する関数／日時に関する関数／マーケット情報／口座情報／関数のライブラリー化）</li>
<li>付録Ａ ＭＱＬ４関数一覧</li>
<li>付録Ｂ 参考図書</li>
</ul>
<p style="text-align: left; ">いい感じで知りたい情報が分かります。</p>
<p style="text-align: left; ">多少なり、プログラムの経験があればそれなりのプログラムが組めるようになります。</p>
<p style="text-align: left; ">
<p style="text-align: left; ">興味のある方は、本屋で立ち読みしてみてください。</p>
<p style="text-align: left; ">
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/fx%e3%83%a1%e3%82%bf%e3%83%88%e3%83%ac%e3%83%bc%e3%83%80%e3%83%bc%e5%ae%9f%e8%b7%b5%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/fx%e3%83%a1%e3%82%bf%e3%83%88%e3%83%ac%e3%83%bc%e3%83%80%e3%83%bc%e5%ae%9f%e8%b7%b5%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0/" />
	</item>
		<item>
		<title>オーダーやオーダー変更時に失敗する場合</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%82%aa%e3%83%bc%e3%83%80%e3%83%bc%e3%82%84%e3%82%aa%e3%83%bc%e3%83%80%e3%83%bc%e5%a4%89%e6%9b%b4%e6%99%82%e3%81%ab%e5%a4%b1%e6%95%97%e3%81%99%e3%82%8b%e5%a0%b4%e5%90%88/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%82%aa%e3%83%bc%e3%83%80%e3%83%bc%e3%82%84%e3%82%aa%e3%83%bc%e3%83%80%e3%83%bc%e5%a4%89%e6%9b%b4%e6%99%82%e3%81%ab%e5%a4%b1%e6%95%97%e3%81%99%e3%82%8b%e5%a0%b4%e5%90%88/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 16:03:51 +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>

		<guid isPermaLink="false">http://metatraderfx.net/?p=419</guid>
		<description><![CDATA[EAでのトレイルストップがうまくいかない質問を受けたので、たぶんこれかな？ってのを回答しておきます。
わたしも初期はこれで悩んだので。。。
OrderSendやOrderModifyを行うとエラーになることがあると思います。
こんなとき何が悪いかちょっと確認してほしいことがあります。
１．注文の方向でAskとBidが間違っていないか。
２．StoplossとTakeprofitの幅
の2点です。
1番は、結構よくやります。
2番は、ストップレベルポイントというのがあって、現在のポイントからいくつか離さないといけないというルールがあります。
だいたい、20pipsぐらいだと思います。
この値は、会社などで違ってきます。
調べる方法は、
MarketInfo(Symbol(),MODE_STOPLEVEL);
を使います。
インジケーターでもEAでもいいので、適当なのを作って以下のソースを書いてみてください。
Comment(&#8221;ストップレベル：&#8221;,MarketInfo(Symbol(),MODE_STOPLEVEL));
これで、最低離さなければいけない値が表示されます。
もう一つ気をつけなければいけないのは、スリップです。
注文するときにスリップページをいくつにするか指定していますよね。
3pipsを指定していたら、20+3で23離す必要があります。
何でもいいけど、20pipsは大きいですよね。
だから、私がEAを作るときは、LossとTakeは保険（通信障害などの）でかける程度にして、実際のクローズはEAにやらせるようにしています。
これだと、1pipsでも狙えます。
あまり細かいとスリップが大きいとダメですがね。
参考にしてみてください。
]]></description>
			<content:encoded><![CDATA[<p>EAでのトレイルストップがうまくいかない質問を受けたので、たぶんこれかな？ってのを回答しておきます。</p>
<p>わたしも初期はこれで悩んだので。。。</p>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-334.html" target="_blank">OrderSend</a>や<a href="http://googolyenfx.blog18.fc2.com/blog-entry-328.html" target="_blank">OrderModify</a>を行うとエラーになることがあると思います。</p>
<p>こんなとき何が悪いかちょっと確認してほしいことがあります。</p>
<p>１．注文の方向でAskとBidが間違っていないか。</p>
<p>２．StoplossとTakeprofitの幅</p>
<p>の2点です。</p>
<p>1番は、結構よくやります。</p>
<p>2番は、ストップレベルポイントというのがあって、現在のポイントからいくつか離さないといけないというルールがあります。</p>
<p>だいたい、20pipsぐらいだと思います。</p>
<p>この値は、会社などで違ってきます。</p>
<p>調べる方法は、</p>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-84.html" target="_blank">MarketInfo</a>(Symbol(),<a href="http://googolyenfx.blog18.fc2.com/blog-entry-86.html" target="_blank">MODE_STOPLEVEL</a>);</p>
<p>を使います。</p>
<p>インジケーターでもEAでもいいので、適当なのを作って以下のソースを書いてみてください。</p>
<p>Comment(&#8221;ストップレベル：&#8221;,MarketInfo(Symbol(),MODE_STOPLEVEL));</p>
<p>これで、最低離さなければいけない値が表示されます。</p>
<p>もう一つ気をつけなければいけないのは、スリップです。</p>
<p>注文するときにスリップページをいくつにするか指定していますよね。</p>
<p>3pipsを指定していたら、20+3で23離す必要があります。</p>
<p>何でもいいけど、20pipsは大きいですよね。</p>
<p>だから、私がEAを作るときは、LossとTakeは保険（通信障害などの）でかける程度にして、実際のクローズはEAにやらせるようにしています。</p>
<p>これだと、1pipsでも狙えます。</p>
<p>あまり細かいとスリップが大きいとダメですがね。</p>
<p>参考にしてみてください。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%82%aa%e3%83%bc%e3%83%80%e3%83%bc%e3%82%84%e3%82%aa%e3%83%bc%e3%83%80%e3%83%bc%e5%a4%89%e6%9b%b4%e6%99%82%e3%81%ab%e5%a4%b1%e6%95%97%e3%81%99%e3%82%8b%e5%a0%b4%e5%90%88/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%aa%e3%83%bc%e3%83%80%e3%83%bc%e3%82%84%e3%82%aa%e3%83%bc%e3%83%80%e3%83%bc%e5%a4%89%e6%9b%b4%e6%99%82%e3%81%ab%e5%a4%b1%e6%95%97%e3%81%99%e3%82%8b%e5%a0%b4%e5%90%88/" />
	</item>
		<item>
		<title>iADXって？</title>
		<link>http://metatraderfx.net/metatrader-beginner/iadx%e3%81%a3%e3%81%a6%ef%bc%9f/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/iadx%e3%81%a3%e3%81%a6%ef%bc%9f/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 13:58:28 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[MQL4]]></category>
		<category><![CDATA[メタトレーダープログラミング]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[ADX]]></category>
		<category><![CDATA[DMI]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[入門]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=400</guid>
		<description><![CDATA[質問にあったので、iADXについて。
まず、どこの資料を参考にするか。
私の場合は、
mt4 (MetaTrader4)使い倒シストレ
を愛用しています。


無料で利用できるMQL4の日本語リファレンスマニュアルとしては、一番便利だと思います。
MT4関係で調べ物をするときに一番利用しているサイトと言っても過言ではありません。
すべての関数を隅々までのぞいてみると、気がつかなかったことが見えてくると思いますよ。
分からない単語が出てきたら、検索してみてください。
きっとわかりやすい説明のサイトがあると思います。
で、本題のiADX。

double iADX( string symbol, int timeframe, int period, int applied_price, int mode, int shift)

symbol &#8211; 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe &#8211; 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
period &#8211; 計算で使用する足の数
applied_price &#8211; 適用価格。これは価格定数のどれかをとる。
mode &#8211; インジケータの線指定。これはインジケータラインの値をとる。
shift &#8211; 現在の足から何本前の値を出したいか

適用価格
PRICE_CLOSE 終値
PRICE_OPEN 始値
PRICE_HIGH 高値
PRICE_LOW 安値
PRICE_MEDIAN 中央値、(high + low)/2
PRICE_TYPICAL 代表値、(high + low + close)/3
PRICE_WEIGHTED 重み付け値、(high + low + close + close)/4

インジケータの線指定
MODE_MAIN インジケータの基本線
MODE_PLUSDI +DIインジケータ線
MODE_MINUSDI -DIインジケータ線
こんな感じの関数仕様です。

質問をくださった方は、MODEの意味が分からないといっていました。
実はこの関数、ADXといいながら、DMIも表示できてしまいます。
ここが分かりにくかったところなんだと思います。
でも、普通は一緒に使うので利用しやすいようにとの配慮でしょう。

ADX(Average Directional Movement Index)：トレンドの強さを測定する指標
DMI(Directional Movement Index)：一般的に方向性指数といわれる

ADXは、MODE_MAIN。
DMIは、MODE_PLUSDI、MODE_MINUSDI
で表します。

簡単に説明すると、ADXでトレンドの向きを確かめて、DMIで強さを見ます。
いろいろな方法があるので、詳しくは書きませんが一度動きを確かめてみるとおもしろいかもしれませんね。
]]></description>
			<content:encoded><![CDATA[<p>質問にあったので、iADXについて。</p>
<p>まず、どこの資料を参考にするか。</p>
<p>私の場合は、</p>
<p style="padding-left: 30px;"><a href="http://googolyenfx.blog18.fc2.com/" target="_blank"><span><span style="color: #000000;"><span style="text-decoration: none;">mt4 (MetaTrader4)使い倒シストレ</span></span></span></a></p>
<p style="padding-left: 30px;">を愛用しています。</p>
<p style="padding-left: 30px;">
<p style="padding-left: 30px;"><a href="http://googolyenfx.blog18.fc2.com/" target="_blank"></a></p>
<pre style="padding-left: 30px;">無料で利用できるMQL4の日本語リファレンスマニュアルとしては、一番便利だと思います。</pre>
<p style="padding-left: 30px;">MT4関係で調べ物をするときに一番利用しているサイトと言っても過言ではありません。</p>
<p style="padding-left: 30px;">すべての関数を隅々までのぞいてみると、気がつかなかったことが見えてくると思いますよ。</p>
<p style="padding-left: 30px;">分からない単語が出てきたら、検索してみてください。</p>
<p style="padding-left: 30px;">きっとわかりやすい説明のサイトがあると思います。</p>
<p>で、本題の<a href="http://googolyenfx.blog18.fc2.com/blog-entry-167.html" target="_self"><span style="color: #000000;"><span style="text-decoration: none;">iADX</span></span></a>。<br />
<br/><br/><br />
<span style="font-family: Georgia; line-height: 19px; white-space: normal; font-size: 13px;">d</span>ouble iADX( string symbol, int timeframe, int period, int applied_price, int mode, int shift)<br />
<br/><br/><br />
symbol &#8211; 計算したい通貨名。NULLを指定すると現在の通貨。</p>
<p>timeframe &#8211; 時間枠。時間枠列挙型のどれか。0は現在の時間枠。</p>
<p>period &#8211; 計算で使用する足の数</p>
<p>applied_price &#8211; 適用価格。これは価格定数のどれかをとる。</p>
<p>mode &#8211; インジケータの線指定。これはインジケータラインの値をとる。</p>
<p>shift &#8211; 現在の足から何本前の値を出したいか<br />
<br/><br/><br />
適用価格</p>
<p>PRICE_CLOSE<span style="white-space: pre;"> </span>終値</p>
<p>PRICE_OPEN<span style="white-space: pre;"> </span>始値</p>
<p>PRICE_HIGH<span style="white-space: pre;"> </span>高値</p>
<p>PRICE_LOW<span style="white-space: pre;"> </span>安値</p>
<p>PRICE_MEDIAN<span style="white-space: pre;"> </span>中央値、(high + low)/2</p>
<p>PRICE_TYPICAL<span style="white-space: pre;"> </span>代表値、(high + low + close)/3</p>
<p>PRICE_WEIGHTED<span style="white-space: pre;"> </span>重み付け値、(high + low + close + close)/4<br />
<br/><br/><br />
インジケータの線指定</p>
<p>MODE_MAIN<span style="white-space: pre;"> </span>インジケータの基本線</p>
<p>MODE_PLUSDI<span style="white-space: pre;"> </span>+DIインジケータ線</p>
<p>MODE_MINUSDI<span style="white-space: pre;"> </span>-DIインジケータ線</p>
<p>こんな感じの関数仕様です。<br />
<br/><br/><br />
質問をくださった方は、MODEの意味が分からないといっていました。</p>
<p>実はこの関数、ADXといいながら、DMIも表示できてしまいます。</p>
<p>ここが分かりにくかったところなんだと思います。</p>
<p>でも、普通は一緒に使うので利用しやすいようにとの配慮でしょう。<br />
<br/><br/><br />
ADX(Average Directional Movement Index)：トレンドの強さを測定する指標</p>
<p>DMI(Directional Movement Index)：一般的に方向性指数といわれる<br />
<br/><br/><br />
ADXは、MODE_MAIN。</p>
<p>DMIは、MODE_PLUSDI、MODE_MINUSDI</p>
<p>で表します。<br />
<br/><br/><br />
簡単に説明すると、ADXでトレンドの向きを確かめて、DMIで強さを見ます。</p>
<p>いろいろな方法があるので、詳しくは書きませんが一度動きを確かめてみるとおもしろいかもしれませんね。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/iadx%e3%81%a3%e3%81%a6%ef%bc%9f/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/iadx%e3%81%a3%e3%81%a6%ef%bc%9f/" />
	</item>
		<item>
		<title>メタトレーダーに日本語を表示してみる</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%83%a1%e3%82%bf%e3%83%88%e3%83%ac%e3%83%bc%e3%83%80%e3%83%bc%e3%81%ab%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%83%a1%e3%82%bf%e3%83%88%e3%83%ac%e3%83%bc%e3%83%80%e3%83%bc%e3%81%ab%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 09:32:46 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[MQL4]]></category>
		<category><![CDATA[メタトレーダープログラミング]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[MT4]]></category>
		<category><![CDATA[インジケーター]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[日本語]]></category>
		<category><![CDATA[ＥＡ]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=390</guid>
		<description><![CDATA[今回は、メタトレーダーのプログラムで日本語を利用できるようにしてみます。
実は、日本語表示はできないと思っていました。。。
 
あまり困らなかったので、調べようとも思わなかったのが原因です。
やっぱり、こうしたことは興味がないとやりませんね。
 重要指標を表示するインジケータを作ってみるにコメントを下さった犬養さんに感謝です。
 
本題の日本語を表示してみる方法です。
メニューとかの表示は、できていますよね。
今回のは、プログラムのコードの中に日本語を利用できるようにして、チャート上にも日本語を表示します。
 
MetaEditorを開いてください。
メニューの
「Tool」－「Options&#8230;」を押してください。
「Font」タブを選択すると以下のような画面が表示されます。

ここで、日本語のフォントを選択し、Scriptの日本語を選択してください。
２箇所あるので間違えないでください。
「OK」ボタンを押してください。
 
これで、全部終了です。
むちゃくちゃ簡単です。
 
これで、ソース内のコメントを日本語化したり、チャートに表示させたりすることができます。
 
サンプルで、インジケータを作って見ました。
単純にコメントを表示するだけのものです。

こんな感じですね。
Comment(&#8221;日本語を表示してみる&#8221;);
今まで、日本語が化けていたのが表示できることが確認できると思います。
 
これをコンパイルして、チャートに貼り付けてみます。

こんな感じです。
赤丸のところに「日本語を表示してみる」が表示されていることが確認できると思います。
 
やっぱり、日本語が表示できると見やすいですね。
プログラムを組むのにも日本語コメントを入れられるだけで作業効率がアップすると思います。
がんばってみてください。
]]></description>
			<content:encoded><![CDATA[<p>今回は、メタトレーダーのプログラムで日本語を利用できるようにしてみます。</p>
<p>実は、日本語表示はできないと思っていました。。。</p>
<p> </p>
<p>あまり困らなかったので、調べようとも思わなかったのが原因です。</p>
<p>やっぱり、こうしたことは興味がないとやりませんね。</p>
<p> <a href="http://metatraderfx.net/metatrader-beginner/%e9%87%8d%e8%a6%81%e6%8c%87%e6%a8%99%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%99%e3%82%8b%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/" target="_blank">重要指標を表示するインジケータを作ってみる</a>にコメントを下さった犬養さんに感謝です。</p>
<p> </p>
<p>本題の日本語を表示してみる方法です。</p>
<p>メニューとかの表示は、できていますよね。</p>
<p>今回のは、プログラムのコードの中に日本語を利用できるようにして、チャート上にも日本語を表示します。</p>
<p> </p>
<p>MetaEditorを開いてください。</p>
<p>メニューの</p>
<p>「Tool」－「Options&#8230;」を押してください。</p>
<p>「Font」タブを選択すると以下のような画面が表示されます。</p>
<p><a href="http://metatraderfx.net/wp-content/uploads/2009/07/jp1.JPG"><img class="aligncenter size-medium wp-image-391" title="jp1" src="http://metatraderfx.net/wp-content/uploads/2009/07/jp1-300x187.jpg" alt="jp1" width="300" height="187" /></a></p>
<p>ここで、日本語のフォントを選択し、Scriptの日本語を選択してください。</p>
<p>２箇所あるので間違えないでください。</p>
<p>「OK」ボタンを押してください。</p>
<p> </p>
<p>これで、全部終了です。</p>
<p>むちゃくちゃ簡単です。</p>
<p> </p>
<p>これで、ソース内のコメントを日本語化したり、チャートに表示させたりすることができます。</p>
<p> </p>
<p>サンプルで、インジケータを作って見ました。</p>
<p>単純にコメントを表示するだけのものです。</p>
<p><a href="http://metatraderfx.net/wp-content/uploads/2009/07/jp2.JPG"><img class="aligncenter size-medium wp-image-392" title="jp2" src="http://metatraderfx.net/wp-content/uploads/2009/07/jp2-300x150.jpg" alt="jp2" width="300" height="150" /></a></p>
<p>こんな感じですね。</p>
<p>Comment(&#8221;日本語を表示してみる&#8221;);</p>
<p>今まで、日本語が化けていたのが表示できることが確認できると思います。</p>
<p> </p>
<p>これをコンパイルして、チャートに貼り付けてみます。</p>
<p><a href="http://metatraderfx.net/wp-content/uploads/2009/07/jp3.JPG"><img class="aligncenter size-medium wp-image-393" title="jp3" src="http://metatraderfx.net/wp-content/uploads/2009/07/jp3-300x195.jpg" alt="jp3" width="300" height="195" /></a></p>
<p>こんな感じです。</p>
<p>赤丸のところに「日本語を表示してみる」が表示されていることが確認できると思います。</p>
<p> </p>
<p>やっぱり、日本語が表示できると見やすいですね。</p>
<p>プログラムを組むのにも日本語コメントを入れられるだけで作業効率がアップすると思います。</p>
<p>がんばってみてください。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%83%a1%e3%82%bf%e3%83%88%e3%83%ac%e3%83%bc%e3%83%80%e3%83%bc%e3%81%ab%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%83%a1%e3%82%bf%e3%83%88%e3%83%ac%e3%83%bc%e3%83%80%e3%83%bc%e3%81%ab%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/" />
	</item>
		<item>
		<title>Excel用にデータを出力してみる２</title>
		<link>http://metatraderfx.net/metatrader-beginner/excel%e7%94%a8%e3%81%ab%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e5%87%ba%e5%8a%9b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b%ef%bc%92/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/excel%e7%94%a8%e3%81%ab%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e5%87%ba%e5%8a%9b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b%ef%bc%92/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 12:58:26 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[メタトレーダープログラミング]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[DDE]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[MT4]]></category>
		<category><![CDATA[入門]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=384</guid>
		<description><![CDATA[前回に引き続き、エクセルを使っていろいろやってみたいと思います。
今回は、DDEというアプリケーション間通信の機能を利用します。
 
DDEというのは、かなり古い規格で今はほとんど利用されません。
最近の.NETではサポートされていないほどの企画です。
ですが、なぜかMT4ではDDEのサーバー機能を持っていて、ExcelはDDEのクライアント機能を実装しています。
 
ということで、通信できてしまいます。
やり方も簡単です。
 
まず、メタトレーダーの設定です。
メニューの「ツール」－「オプション」でオプションを開きます。

「DDEサーバーを有効にする」にチェックを入れて、「OK」を押します。
これだけです。
 
Excel側は、サンプルがあるのでそれを使ってみましょう。
インストールフォルダ\MetaTrader
に
DDE-Sample.xls
があるので、開いて見ましょう。
開くと

こんな感じのメッセージが表示されるので、「更新する」を押します。

こんな感じで、最新の状況がリアルタイムに表示されます。
売値は、MT4&#124;BID!USDCHF
買値は、MT4&#124;ASK!USDCHF
高値は、MT4&#124;HIGH!USDCHF
安値は、MT4&#124;LOW!USDCHF
時間は、MT4&#124;TIME!USDCHF
時間・売値・買値は、MT4&#124;QUOTE!USDCHF
を表示したいセルに「=MT4&#124;QUOTE!USDCHF」と書けば、利用できます。
 
通貨ペアを変更したいときは、USDCHFの部分を変更するだけです。
これで、いろいろできると思います。
]]></description>
			<content:encoded><![CDATA[<p>前回に引き続き、エクセルを使っていろいろやってみたいと思います。</p>
<p>今回は、DDEというアプリケーション間通信の機能を利用します。</p>
<p> </p>
<p>DDEというのは、かなり古い規格で今はほとんど利用されません。</p>
<p>最近の.NETではサポートされていないほどの企画です。</p>
<p>ですが、なぜかMT4ではDDEのサーバー機能を持っていて、ExcelはDDEのクライアント機能を実装しています。</p>
<p> </p>
<p>ということで、通信できてしまいます。</p>
<p>やり方も簡単です。</p>
<p> </p>
<p>まず、メタトレーダーの設定です。</p>
<p>メニューの「ツール」－「オプション」でオプションを開きます。</p>
<p><a href="http://metatraderfx.net/wp-content/uploads/2009/07/dde1.JPG"><img class="aligncenter size-medium wp-image-385" title="dde1" src="http://metatraderfx.net/wp-content/uploads/2009/07/dde1-300x142.jpg" alt="dde1" width="300" height="142" /></a></p>
<p>「DDEサーバーを有効にする」にチェックを入れて、「OK」を押します。</p>
<p>これだけです。</p>
<p> </p>
<p>Excel側は、サンプルがあるのでそれを使ってみましょう。</p>
<p>インストールフォルダ\MetaTrader</p>
<p>に</p>
<p>DDE-Sample.xls</p>
<p>があるので、開いて見ましょう。</p>
<p>開くと</p>
<p><a href="http://metatraderfx.net/wp-content/uploads/2009/07/dde2.JPG"><img class="aligncenter size-medium wp-image-386" title="dde2" src="http://metatraderfx.net/wp-content/uploads/2009/07/dde2-300x48.jpg" alt="dde2" width="300" height="48" /></a></p>
<p>こんな感じのメッセージが表示されるので、「更新する」を押します。</p>
<p><a href="http://metatraderfx.net/wp-content/uploads/2009/07/dde3.JPG"><img class="aligncenter size-medium wp-image-387" title="dde3" src="http://metatraderfx.net/wp-content/uploads/2009/07/dde3-300x121.jpg" alt="dde3" width="300" height="121" /></a></p>
<p>こんな感じで、最新の状況がリアルタイムに表示されます。</p>
<p>売値は、MT4|BID!USDCHF</p>
<p>買値は、MT4|ASK!USDCHF</p>
<p>高値は、MT4|HIGH!USDCHF</p>
<p>安値は、MT4|LOW!USDCHF</p>
<p>時間は、MT4|TIME!USDCHF</p>
<p>時間・売値・買値は、MT4|QUOTE!USDCHF</p>
<p>を表示したいセルに「=MT4|QUOTE!USDCHF」と書けば、利用できます。</p>
<p> </p>
<p>通貨ペアを変更したいときは、USDCHFの部分を変更するだけです。</p>
<p>これで、いろいろできると思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/excel%e7%94%a8%e3%81%ab%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e5%87%ba%e5%8a%9b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b%ef%bc%92/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/excel%e7%94%a8%e3%81%ab%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e5%87%ba%e5%8a%9b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b%ef%bc%92/" />
	</item>
		<item>
		<title>Excel用にデータを出力してみる</title>
		<link>http://metatraderfx.net/metatrader-beginner/excel%e7%94%a8%e3%81%ab%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e5%87%ba%e5%8a%9b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/excel%e7%94%a8%e3%81%ab%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e5%87%ba%e5%8a%9b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 12:58:00 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[メタトレーダープログラミング]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[履歴]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=374</guid>
		<description><![CDATA[どうも、エクセルを使っていろいろやっている方が多いみたいなので、ちょっとしたテクニックを。
 
MT4では、EA用に過去の履歴データを取得できます。
そのデータを使って、バックテストをしたりします。
 
でも、その履歴データをExcelで利用できたら便利だと思いませんか？
今回は、そんな方法です。
 
まず、履歴データを取得する方法です。
メニューの「ツール」－「History Center」でHistory Centerを呼び出すか、F2を押してください。
こんな感じの画面が表示されます。

まず、利用したい通貨を選択します。
次に、「Download」ボタンを押します。
こんな画面が表示されるので、「OK」を押します。 

 
ダウンロードが始まります。

しばらくすると終了するので、通貨をダブルクリックすると時間が展開されます。
ダウンロードしたい時間を選択して、「エクスポート」ボタンを押します。

保存先を聞かれるので、保存したいところを選択して保存します。
 
エクセルで表示すると

こんな感じですね。
 
あとは、グラフにしても計算にしても好きなことができます。
一応、項目の順番は、
日付、時間、始値、高値、安値、終値、出来高
の順番です。
 
次は、DDEというのを使ってみたいと思います。
]]></description>
			<content:encoded><![CDATA[<p>どうも、エクセルを使っていろいろやっている方が多いみたいなので、ちょっとしたテクニックを。</p>
<p> </p>
<p>MT4では、EA用に過去の履歴データを取得できます。</p>
<p>そのデータを使って、バックテストをしたりします。</p>
<p> </p>
<p>でも、その履歴データをExcelで利用できたら便利だと思いませんか？</p>
<p>今回は、そんな方法です。</p>
<p> </p>
<p>まず、履歴データを取得する方法です。</p>
<p>メニューの「ツール」－「History Center」でHistory Centerを呼び出すか、F2を押してください。</p>
<p>こんな感じの画面が表示されます。</p>
<p><a href="http://metatraderfx.net/wp-content/uploads/2009/07/his1.JPG"></a></p>
<p><a href="http://metatraderfx.net/wp-content/uploads/2009/07/his1.JPG"><img class="aligncenter size-medium wp-image-378" title="his1" src="http://metatraderfx.net/wp-content/uploads/2009/07/his1-300x179.jpg" alt="his1" width="300" height="179" /></a>まず、利用したい通貨を選択します。</p>
<p>次に、「Download」ボタンを押します。</p>
<p>こんな画面が表示されるので、「OK」を押します。 </p>
<p><a href="http://metatraderfx.net/wp-content/uploads/2009/07/his2.JPG"><img class="aligncenter size-medium wp-image-379" title="his2" src="http://metatraderfx.net/wp-content/uploads/2009/07/his2-300x142.jpg" alt="his2" width="300" height="142" /></a></p>
<p> </p>
<p>ダウンロードが始まります。</p>
<p><a href="http://metatraderfx.net/wp-content/uploads/2009/07/his3.JPG"><img class="aligncenter size-medium wp-image-380" title="his3" src="http://metatraderfx.net/wp-content/uploads/2009/07/his3-300x179.jpg" alt="his3" width="300" height="179" /></a></p>
<p>しばらくすると終了するので、通貨をダブルクリックすると時間が展開されます。</p>
<p>ダウンロードしたい時間を選択して、「エクスポート」ボタンを押します。</p>
<p><a href="http://metatraderfx.net/wp-content/uploads/2009/07/his4.JPG"><img class="aligncenter size-medium wp-image-381" title="his4" src="http://metatraderfx.net/wp-content/uploads/2009/07/his4-300x179.jpg" alt="his4" width="300" height="179" /></a></p>
<p>保存先を聞かれるので、保存したいところを選択して保存します。</p>
<p> </p>
<p>エクセルで表示すると</p>
<p><a href="http://metatraderfx.net/wp-content/uploads/2009/07/his5.JPG"><img class="aligncenter size-medium wp-image-382" title="his5" src="http://metatraderfx.net/wp-content/uploads/2009/07/his5-300x203.jpg" alt="his5" width="300" height="203" /></a></p>
<p>こんな感じですね。</p>
<p> </p>
<p>あとは、グラフにしても計算にしても好きなことができます。</p>
<p>一応、項目の順番は、</p>
<p>日付、時間、始値、高値、安値、終値、出来高</p>
<p>の順番です。</p>
<p> </p>
<p>次は、DDEというのを使ってみたいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/excel%e7%94%a8%e3%81%ab%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e5%87%ba%e5%8a%9b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/excel%e7%94%a8%e3%81%ab%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e5%87%ba%e5%8a%9b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/" />
	</item>
		<item>
		<title>重要指標を表示するインジケータを作ってみる</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e9%87%8d%e8%a6%81%e6%8c%87%e6%a8%99%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%99%e3%82%8b%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e9%87%8d%e8%a6%81%e6%8c%87%e6%a8%99%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%99%e3%82%8b%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 09:14:13 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[MQL4]]></category>
		<category><![CDATA[インジケータ]]></category>
		<category><![CDATA[メタトレーダープログラミング]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[MT4]]></category>
		<category><![CDATA[インジケーター]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[重要指標]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=368</guid>
		<description><![CDATA[今回は、重要指標を表示するインジケーターを作成します。
作成するといってもかなり難しいので、慣れてきてから応用してください。
いつもなら関数の説明などもしていますが、今回は省きます。
ダウンロードは、ここから。
ImportantNews　重要指標を表示するインジケータ
今回は、WindowsのAPIを利用してインターネット経由で重要指標を取得。
それを解析して、インジケータとして画面にプロットします。
重要指標の入手元は、
DailyFX
http://www.dailyfx.com/
で、ここはcsv形式で重要指標を入手できます。
こんな感じでcsvを入手できます。
http://www.dailyfx.com/calendar/Dailyfx_Global_Economic_Calendar.csv?direction=none&#38;collector=allInFolderDateDesc&#38;view=week&#38;timezone=GMT
http://www.dailyfx.com/calendar/cal.csv?sort=dateDesc&#38;timezone=&#38;currency=&#124;&#38;importance=&#124;
MT4は、英語しか表示できないので（日本は表示可能です）英語のサイトのほうが都合がいいのとcsv形式でリアルタイムに入手できるので解析しやすいのが利点です。
csvファイルを入手して読み込ませる方法もありますが、せっかくなのでインターネットから直接入手します。
MT4には、外部DLLを利用する機能があるので、Windows標準のDLL(wininet.dll)を利用して、インターネットのアクセスを可能にします。
※外部DLLの利用はデフォルトなしになっているので、インジケータ組み込み時にありにする必要があります。

↑赤丸のところ
 
ソースのはじめの方に
#import &#8220;使いたいDLL&#8221;
使いたい関数
#import
という宣言があると思います。
ここで、インターネット接続関係の関数を利用できるようにします。
・インターネット接続確認
InternetAttemptConnect()
・インターネット接続
InternetOpenA()
・URLオープン
InternetOpenUrlA()
・インターネット読み込み
InternetReadFile()
・インターネットクローズ
InternetCloseHandle()
オリジナルで作成している関数は、
ReadHttp()
StrToSplitArray()
の2つあります。
ReadHttp()は、インターネットに接続し、内容を文字列として読み込みます。
StrToSplitArray()は、文字列を区切り文字で分割して配列に格納します。
今回は、DailyFXへインターネット経由でアクセスして、csvファイルを取得していますから、ReadHttp()を使ってアクセスした結果がcsvファイルの内容で、戻り値にstringとしてメモリ上に展開されます。
csvファイルを取得してもらうと分かりますが、改行など無駄な部分もたくさんあるので、start()の中でStrToSplitArray()を利用して、改行を区切り文字として行データを配列へ格納、行データを「,」で分割して各項目データとして取得しています。
start()で行っていることは、
1.15分ごとの更新
2.表示データの削除
3.csvデータ（重要指標）の取得
4.データの分割
5.年月日など表示用に適した形への変換
6.タイムゾーンの一致
7.データの表示
今回のタイムゾーンは、デフォルト日本時間を採用しています。
server_timezone
show_timezone
で設定しています。
サーバ時間と表示時間を分けていますが、通常は同じでかまわないでしょう。
自分の環境に合わせてください。
データ表示で書かれている文字ですが、今の状態の上のほうから書き始めていますので、スクロールなどすると消えてしまいます。
次の更新で復活しますので、その辺は我慢してください。
デフォルトで取得している重要指標はすべてです。
URLの問い合わせで
&#38;importanceFilter=Medium&#124;Low&#124;
&#38;importance=Medium&#124;Low&#124;
などを追加して、Highのみにすることも可能です。
また、通貨ペアのフィルターも可能です。
¤cyFilter=GBP&#124;CHF&#124;CAD&#124;AUD&#124;NZD&#124;
&#38;currency=GBP&#124;CHF&#124;CAD&#124;AUD&#124;NZD&#124;
今回は、ちょっと難しいので少しずつ理解して行ってください。
慣れてきてから、応用するのもありだと思います。

※日本語は表示できないと本文中で記載しましたが、表示することができます。
「メタトレーダーで日本語を表示してみる」で紹介していますので参考にしてください。

※DailyFXのＣＳＶ出力のＵＲＬ変更、書式変更に対応しました。　&#8217;09/11/10
]]></description>
			<content:encoded><![CDATA[<p><a href="http://metatraderfx.net/wp-content/uploads/2009/06/dll.jpg"></a>今回は、重要指標を表示するインジケーターを作成します。</p>
<p>作成するといってもかなり難しいので、慣れてきてから応用してください。<br />
いつもなら関数の説明などもしていますが、今回は省きます。</p>
<p>ダウンロードは、ここから。<br />
<a title="重要指標を表示するインジケータ" href="http://download-center.metatraderfx.net/indicator/importantnews%e3%80%80%e9%87%8d%e8%a6%81%e6%8c%87%e6%a8%99%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%99%e3%82%8b%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf/" target="_blank">ImportantNews　重要指標を表示するインジケータ</a></p>
<p>今回は、WindowsのAPIを利用してインターネット経由で重要指標を取得。<br />
それを解析して、インジケータとして画面にプロットします。</p>
<p>重要指標の入手元は、</p>
<p>DailyFX<br />
<a href="http://www.dailyfx.com/">http://www.dailyfx.com/</a></p>
<p>で、ここはcsv形式で重要指標を入手できます。</p>
<p>こんな感じでcsvを入手できます。<br />
<span style="text-decoration: line-through;">http://www.dailyfx.com/calendar/Dailyfx_Global_Economic_Calendar.csv?direction=none&amp;collector=allInFolderDateDesc&amp;view=week&amp;timezone=GMT</span></p>
<p><a href="http://www.dailyfx.com/calendar/cal.csv?sort=dateDesc&amp;timezone=&amp;currency=|&amp;importance=|" target="_blank">http://www.dailyfx.com/calendar/cal.csv?sort=dateDesc&amp;timezone=&amp;currency=|&amp;importance=|</a></p>
<p>MT4は、<span style="text-decoration: line-through;">英語しか表示できないので</span>（<a href="http://metatraderfx.net/metatrader-beginner/%e3%83%a1%e3%82%bf%e3%83%88%e3%83%ac%e3%83%bc%e3%83%80%e3%83%bc%e3%81%ab%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/" target="_blank">日本は表示可能です</a>）英語のサイトのほうが都合がいいのとcsv形式でリアルタイムに入手できるので解析しやすいのが利点です。</p>
<p>csvファイルを入手して読み込ませる方法もありますが、せっかくなのでインターネットから直接入手します。</p>
<p>MT4には、外部DLLを利用する機能があるので、Windows標準のDLL(wininet.dll)を利用して、インターネットのアクセスを可能にします。<br />
※外部DLLの利用はデフォルトなしになっているので、インジケータ組み込み時にありにする必要があります。</p>
<p><a href="http://metatraderfx.net/wp-content/uploads/2009/06/dll.jpg"><img class="aligncenter size-medium wp-image-371" title="dll" src="http://metatraderfx.net/wp-content/uploads/2009/06/dll-300x147.jpg" alt="dll" width="300" height="147" /></a><a href="http://metatraderfx.net/wp-content/uploads/2009/06/dll.bmp"></a></p>
<p>↑赤丸のところ</p>
<p> </p>
<p>ソースのはじめの方に</p>
<p>#import &#8220;使いたいDLL&#8221;<br />
使いたい関数<br />
#import</p>
<p>という宣言があると思います。</p>
<p>ここで、インターネット接続関係の関数を利用できるようにします。</p>
<p>・インターネット接続確認<br />
InternetAttemptConnect()<br />
・インターネット接続<br />
InternetOpenA()<br />
・URLオープン<br />
InternetOpenUrlA()<br />
・インターネット読み込み<br />
InternetReadFile()<br />
・インターネットクローズ<br />
InternetCloseHandle()</p>
<p>オリジナルで作成している関数は、<br />
ReadHttp()<br />
StrToSplitArray()<br />
の2つあります。</p>
<p>ReadHttp()は、インターネットに接続し、内容を文字列として読み込みます。</p>
<p>StrToSplitArray()は、文字列を区切り文字で分割して配列に格納します。</p>
<p>今回は、DailyFXへインターネット経由でアクセスして、csvファイルを取得していますから、ReadHttp()を使ってアクセスした結果がcsvファイルの内容で、戻り値にstringとしてメモリ上に展開されます。</p>
<p>csvファイルを取得してもらうと分かりますが、改行など無駄な部分もたくさんあるので、start()の中でStrToSplitArray()を利用して、改行を区切り文字として行データを配列へ格納、行データを「,」で分割して各項目データとして取得しています。</p>
<p>start()で行っていることは、<br />
1.15分ごとの更新<br />
2.表示データの削除<br />
3.csvデータ（重要指標）の取得<br />
4.データの分割<br />
5.年月日など表示用に適した形への変換<br />
6.タイムゾーンの一致<br />
7.データの表示</p>
<p>今回のタイムゾーンは、デフォルト日本時間を採用しています。<br />
server_timezone<br />
show_timezone<br />
で設定しています。</p>
<p>サーバ時間と表示時間を分けていますが、通常は同じでかまわないでしょう。<br />
自分の環境に合わせてください。</p>
<p>データ表示で書かれている文字ですが、今の状態の上のほうから書き始めていますので、スクロールなどすると消えてしまいます。<br />
次の更新で復活しますので、その辺は我慢してください。</p>
<p>デフォルトで取得している重要指標はすべてです。<br />
URLの問い合わせで<br />
<span style="text-decoration: line-through;">&amp;importanceFilter=Medium|Low|</span></p>
<p>&amp;importance=Medium|Low|<br />
などを追加して、Highのみにすることも可能です。<br />
また、通貨ペアのフィルターも可能です。<br />
<span style="text-decoration: line-through;">¤cyFilter=GBP|CHF|CAD|AUD|NZD|</span></p>
<p>&amp;currency=GBP|CHF|CAD|AUD|NZD|</p>
<p>今回は、ちょっと難しいので少しずつ理解して行ってください。</p>
<p>慣れてきてから、応用するのもありだと思います。</p>
<p><span id="more-368"></span></p>
<p><strong><span style="text-decoration: underline;"><span style="color: #ff0000;">※日本語は表示できないと本文中で記載しましたが、表示することができます。</span></span></strong></p>
<p><strong><span style="text-decoration: underline;"><span style="color: #ff0000;">「</span></span></strong><a href="http://metatraderfx.net/metatrader-beginner/%e3%83%a1%e3%82%bf%e3%83%88%e3%83%ac%e3%83%bc%e3%83%80%e3%83%bc%e3%81%ab%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/" target="_blank"><span style="color: #ff0000;"><strong>メタトレーダーで日本語を表示してみる</strong></span></a><span style="color: #ff0000;"><strong><span style="text-decoration: underline;">」で紹介していますので参考にしてください。</span></strong></span></p>
<p><span style="color: #ff0000;"><strong></strong></span></p>
<p><span style="color: #ff0000;"><strong><span style="text-decoration: underline;">※DailyFXのＣＳＶ出力のＵＲＬ変更、書式変更に対応しました。　&#8217;09/11/10</span></strong></span></p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e9%87%8d%e8%a6%81%e6%8c%87%e6%a8%99%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%99%e3%82%8b%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e9%87%8d%e8%a6%81%e6%8c%87%e6%a8%99%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%99%e3%82%8b%e3%82%a4%e3%83%b3%e3%82%b8%e3%82%b1%e3%83%bc%e3%82%bf%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/" />
	</item>
		<item>
		<title>FX自動売買ロボット作成マニュアル</title>
		<link>http://metatraderfx.net/metatrader-beginner/fx%e8%87%aa%e5%8b%95%e5%a3%b2%e8%b2%b7%e3%83%ad%e3%83%9c%e3%83%83%e3%83%88%e4%bd%9c%e6%88%90%e3%83%9e%e3%83%8b%e3%83%a5%e3%82%a2%e3%83%ab/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/fx%e8%87%aa%e5%8b%95%e5%a3%b2%e8%b2%b7%e3%83%ad%e3%83%9c%e3%83%83%e3%83%88%e4%bd%9c%e6%88%90%e3%83%9e%e3%83%8b%e3%83%a5%e3%82%a2%e3%83%ab/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 12:00:18 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[FXについて]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[MQL4]]></category>
		<category><![CDATA[MT4]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[本]]></category>
		<category><![CDATA[ＥＡ]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=362</guid>
		<description><![CDATA[ちょっと本屋に寄ったら、FX自動売買ロボット作成マニュアルというのが売っていました。

やっとメタトレーダーの本が増えてきましたね。
 
今までのこれは全般的なことが載っていました。

 
FX自動売買ロボット作成マニュアルは、本屋の立ち読みレベルだとEAが重視されています。
自動売買といっているので当たり前ですが。。。
といってもものすごく細かいことが書いてあるわけではないので、初心者向けです。
 
設定関係が、写真つきで説明してあるのでまだ始めたばかりという人は、いい感じの本かもしれません。
本屋で見かけたら、立ち読みしてみてください。
 
一応次の予告です。
次は、重要指標を表示するインジケータを作ります。
作ってあるのですが、だいぶ難易度が高いのでどう説明するか悩んでいます。
説明が短かったら、あきらめたと思ってください。。。
]]></description>
			<content:encoded><![CDATA[<p>ちょっと本屋に寄ったら、<a href="http://hb.afl.rakuten.co.jp/hgc/09f4ab6a.89c21c1d.09f4ab6b.318ea709/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f6107266%2f&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f13216525%2f" target="_blank">FX自動売買ロボット作成マニュアル</a>というのが売っていました。</p>
<p><a href="http://hb.afl.rakuten.co.jp/hgc/09f4ab6a.89c21c1d.09f4ab6b.318ea709/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f6107266%2f&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f13216525%2f" target="_blank"><img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f8635%2f86354028.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f8635%2f86354028.jpg%3f_ex%3d80x80" border="0" alt="" /></a></p>
<p>やっとメタトレーダーの本が増えてきましたね。</p>
<p> </p>
<p>今までのこれは全般的なことが載っていました。</p>
<p><a href="http://hb.afl.rakuten.co.jp/hgc/09f4ab6a.89c21c1d.09f4ab6b.318ea709/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f5221871%2f&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f12655817%2f" target="_blank"><img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f7759%2f77599063.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f7759%2f77599063.jpg%3f_ex%3d80x80" border="0" alt="" /></a></p>
<p> </p>
<p><a href="http://hb.afl.rakuten.co.jp/hgc/09f4ab6a.89c21c1d.09f4ab6b.318ea709/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f6107266%2f&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f13216525%2f" target="_blank">FX自動売買ロボット作成マニュアル</a>は、本屋の立ち読みレベルだとEAが重視されています。</p>
<p>自動売買といっているので当たり前ですが。。。</p>
<p>といってもものすごく細かいことが書いてあるわけではないので、初心者向けです。</p>
<p> </p>
<p>設定関係が、写真つきで説明してあるのでまだ始めたばかりという人は、いい感じの本かもしれません。</p>
<p>本屋で見かけたら、立ち読みしてみてください。</p>
<p> </p>
<p>一応次の予告です。</p>
<p>次は、重要指標を表示するインジケータを作ります。</p>
<p>作ってあるのですが、だいぶ難易度が高いのでどう説明するか悩んでいます。</p>
<p>説明が短かったら、あきらめたと思ってください。。。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/fx%e8%87%aa%e5%8b%95%e5%a3%b2%e8%b2%b7%e3%83%ad%e3%83%9c%e3%83%83%e3%83%88%e4%bd%9c%e6%88%90%e3%83%9e%e3%83%8b%e3%83%a5%e3%82%a2%e3%83%ab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/fx%e8%87%aa%e5%8b%95%e5%a3%b2%e8%b2%b7%e3%83%ad%e3%83%9c%e3%83%83%e3%83%88%e4%bd%9c%e6%88%90%e3%83%9e%e3%83%8b%e3%83%a5%e3%82%a2%e3%83%ab/" />
	</item>
		<item>
		<title>CSVファイルを出力してみる。</title>
		<link>http://metatraderfx.net/metatrader-beginner/csv%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e5%87%ba%e5%8a%9b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b%e3%80%82/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/csv%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e5%87%ba%e5%8a%9b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b%e3%80%82/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 15:18:59 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[MQL4]]></category>
		<category><![CDATA[インジケータ]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[ファイル出力]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[入門]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=358</guid>
		<description><![CDATA[今回は、ファイル出力を行いたいと思います。
タイトルでは、CSVファイルを出力することになっていますが、なるべく利用しやすいように文字列の行書きだしの関数を作ります。
CSVファイルも出力できますし、ログとして出力することもできます。
EAでもインジケータでもいいのですが、とりあえず、インジケーターで作成してみましょう。
何でもいいので、MetaEditorでインジケーターを作成してください。
別にパラメータなど入りませんので、適当でかまいません。
以下の関数をコピーして、最後にでもペースとしてください。
int LogWrite(string strFileName,string strText)
{
int handle;
handle=FileOpen(strFileName, FILE_BIN&#124;FILE_READ&#124;FILE_WRITE);
if(handle&#60;1)
{
Print(&#8221;can&#8217;t open file error-&#8221;,GetLastError());
return(-1);
}
FileSeek(handle, 0, SEEK_END);
strText = strText + &#8220;\r\n&#8221;;
FileWriteString(handle, strText, StringLen(strText));
FileClose(handle);
return(0);
}
int LogWrite(string strFileName,string strText)
{
int handle;
handle=FileOpen(strFileName, FILE_BIN&#124;FILE_READ&#124;FILE_WRITE);
if(handle&#60;1)
{
Print(&#8221;can&#8217;t open file error-&#8221;,GetLastError());
return(-1);
}
FileSeek(handle, 0, SEEK_END);
strText = strText + &#8220;\r\n&#8221;;
FileWriteString(handle, strText, StringLen(strText));
FileClose(handle);
return(0);
}
この関数は、
１．ファイルを開く
２．ファイルの最後に移動
３．ファイルへ出力
４．ファイルを閉じる
このことを行っています。
ちょこっと難しいというか、分かりにくいのが、
FileOpen(strFileName, FILE_BIN&#124;FILE_READ&#124;FILE_WRITE);
の
FILE_BIN&#124;FILE_READ&#124;FILE_WRITE
バイナリーモードで読み書きするという意味ですが、
その他にもファイルの中身を消去しないという意味があります。
今回は、書くだけなので「FILE_WRITE」だけでいいような気がしますが、
これだけだと、ファイルの中身を消してしまいます。
ということで、消したくないときは「FILE_READ&#124;FILE_WRITE」の2つを指定する必要があります。
たぶん、ここが分かりにくいでしょうね。
FileSeek(handle, 0, SEEK_END);
は、ファイルの一番最後へ移動。
strText = strText + &#8220;\r\n&#8221;;
は、指定された文字の最後に改行コードを入れています。
これを入れないと改行されずに、連続した文字になってしまいます。
FileWriteString(handle, strText, StringLen(strText));
で、文字を指定した文字数分書き出しています。
FileClose(handle);
でファイルを閉じています。
この関数を使うと、簡単にファイルを出力できます。
LogWrite(ファイル名,出力したい文字列)
を指定すればいいだけです。
ちなみにファイルですが、
インストールパス\MetaTrader\experts\files
に出力されます。
EAのテストモードだけ出力先が変わって、
インストールパス\MetaTrader\tester\files
です。
では、関数を呼び出す部分を作ってみましょう。
int start()
の中に、以下の行を追加してください。
string strText = StringConcatenate(Year(),&#8221;/&#8221;,Month(),&#8221;/&#8221;,Day(),&#8221; &#8220;,Hour(),&#8221;:&#8221;,Minute(),&#8221;:&#8221;,Seconds(),&#8221;,&#8221;,Ask,&#8221;,&#8221;,Bid);
LogWrite(&#8221;AskBid.csv&#8221;,strText);

レートが変化したときの買値と売値を出力します。

ファイルの形式は、以下のようになります。
YYYY/MM/DD hh:mm:ss,買値,売値
CSVファイルで出力していますが、CSVファイルはカンマ区切りのテキストファイルです。
本当は、もう少し細かいルールがありますが、とりあえず問題ないはずです。
詳しく知りたい人は、ぐぐってみてください。
これで、コンパイルして適当な表にドラッグすれば、ファイルができあがっているはずです。
この関数は、文字なら何でも出力できるので、重宝すると思います。
せっかくなので、もう一つ出力例を
init()の上あたりに以下の宣言を追加してください。
datetime timeNow;
start()の中に以下の処理を追加してください。
if(timeNow != iTime(NULL,0,1))
{
timeNow = iTime(NULL,0,1);
string strTextAshi = [...]]]></description>
			<content:encoded><![CDATA[<p>今回は、ファイル出力を行いたいと思います。</p>
<p>タイトルでは、CSVファイルを出力することになっていますが、なるべく利用しやすいように文字列の行書きだしの関数を作ります。</p>
<p>CSVファイルも出力できますし、ログとして出力することもできます。</p>
<p>EAでもインジケータでもいいのですが、とりあえず、インジケーターで作成してみましょう。</p>
<p>何でもいいので、MetaEditorでインジケーターを作成してください。</p>
<p>別にパラメータなど入りませんので、適当でかまいません。</p>
<p>以下の関数をコピーして、最後にでもペースとしてください。</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 236px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">int LogWrite(string strFileName,string strText)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 236px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 236px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">int handle;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 236px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">handle=FileOpen(strFileName, FILE_BIN|FILE_READ|FILE_WRITE);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 236px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">if(handle&lt;1)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 236px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 236px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Print(&#8221;can&#8217;t open file error-&#8221;,GetLastError());</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 236px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">return(-1);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 236px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 236px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">FileSeek(handle, 0, SEEK_END);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 236px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">strText = strText + &#8220;\r\n&#8221;;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 236px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">FileWriteString(handle, strText, StringLen(strText));</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 236px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">FileClose(handle);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 236px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">return(0);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 236px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<p>int LogWrite(string strFileName,string strText)</p>
<p>{</p>
<p>int handle;</p>
<p>handle=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-275.html" target="_blank">FileOpen</a>(strFileName, FILE_BIN|FILE_READ|FILE_WRITE);</p>
<p>if(handle&lt;1)</p>
<p>{</p>
<p>Print(&#8221;can&#8217;t open file error-&#8221;,GetLastError());</p>
<p>return(-1);</p>
<p>}</p>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-282.html" target="_blank">FileSeek</a>(handle, 0, SEEK_END);</p>
<p>strText = strText + &#8220;\r\n&#8221;;</p>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-289.html" target="_blank">FileWriteString</a>(handle, strText, StringLen(strText));</p>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-270.html" target="_blank">FileClose</a>(handle);</p>
<p>return(0);</p>
<p>}</p>
<p>この関数は、</p>
<p>１．ファイルを開く</p>
<p>２．ファイルの最後に移動</p>
<p>３．ファイルへ出力</p>
<p>４．ファイルを閉じる</p>
<p>このことを行っています。</p>
<p>ちょこっと難しいというか、分かりにくいのが、</p>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-275.html" target="_blank">FileOpen</a>(strFileName, FILE_BIN|FILE_READ|FILE_WRITE);</p>
<p>の</p>
<p>FILE_BIN|FILE_READ|FILE_WRITE</p>
<p>バイナリーモードで読み書きするという意味ですが、</p>
<p>その他にもファイルの中身を消去しないという意味があります。</p>
<p>今回は、書くだけなので「FILE_WRITE」だけでいいような気がしますが、</p>
<p>これだけだと、ファイルの中身を消してしまいます。</p>
<p>ということで、消したくないときは「<strong>FILE_READ|FILE_WRITE</strong>」の2つを指定する必要があります。</p>
<p>たぶん、ここが分かりにくいでしょうね。</p>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-282.html" target="_blank">FileSeek</a>(handle, 0, SEEK_END);</p>
<p>は、ファイルの一番最後へ移動。</p>
<p>strText = strText + &#8220;\r\n&#8221;;</p>
<p>は、指定された文字の最後に改行コードを入れています。</p>
<p>これを入れないと改行されずに、連続した文字になってしまいます。</p>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-289.html" target="_blank">FileWriteString</a>(handle, strText, StringLen(strText));</p>
<p>で、文字を指定した文字数分書き出しています。</p>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-270.html" target="_blank">FileClose</a>(handle);</p>
<p>でファイルを閉じています。</p>
<p>この関数を使うと、簡単にファイルを出力できます。</p>
<p>LogWrite(ファイル名,出力したい文字列)</p>
<p>を指定すればいいだけです。</p>
<p>ちなみにファイルですが、</p>
<p>インストールパス\MetaTrader\experts\files</p>
<p>に出力されます。</p>
<p>EAのテストモードだけ出力先が変わって、</p>
<p>インストールパス\MetaTrader\tester\files</p>
<p>です。</p>
<p>では、関数を呼び出す部分を作ってみましょう。</p>
<p>int start()</p>
<p>の中に、以下の行を追加してください。</p>
<p>string strText = <a href="http://googolyenfx.blog18.fc2.com/blog-entry-308.html" target="_blank">StringConcatenate</a>(Year(),&#8221;/&#8221;,Month(),&#8221;/&#8221;,Day(),&#8221; &#8220;,Hour(),&#8221;:&#8221;,Minute(),&#8221;:&#8221;,Seconds(),&#8221;,&#8221;,Ask,&#8221;,&#8221;,Bid);</p>
<p>LogWrite(&#8221;AskBid.csv&#8221;,strText);</p>
<div></div>
<div>レートが変化したときの買値と売値を出力します。</div>
<div></div>
<div>ファイルの形式は、以下のようになります。</div>
<p>YYYY/MM/DD hh:mm:ss,買値,売値</p>
<p>CSVファイルで出力していますが、CSVファイルはカンマ区切りのテキストファイルです。</p>
<p>本当は、もう少し細かいルールがありますが、とりあえず問題ないはずです。</p>
<p>詳しく知りたい人は、ぐぐってみてください。</p>
<p>これで、コンパイルして適当な表にドラッグすれば、ファイルができあがっているはずです。</p>
<p>この関数は、文字なら何でも出力できるので、重宝すると思います。</p>
<p>せっかくなので、もう一つ出力例を</p>
<p>init()の上あたりに以下の宣言を追加してください。</p>
<p>datetime timeNow;</p>
<p>start()の中に以下の処理を追加してください。</p>
<p>if(timeNow != iTime(NULL,0,1))</p>
<p>{</p>
<p>timeNow = iTime(NULL,0,1);</p>
<p>string strTextAshi = StringConcatenate(TimeYear(timeNow),&#8221;/&#8221;,TimeMonth(timeNow),&#8221;/&#8221;,TimeDay(timeNow),&#8221; &#8220;,TimeHour(timeNow),&#8221;:&#8221;,TimeMinute(timeNow),&#8221;:&#8221;,TimeSeconds(timeNow),&#8221;,&#8221;,iHigh(NULL,0,1),&#8221;,&#8221;,iOpen(NULL,0,1),&#8221;,&#8221;,iClose(NULL,0,1),&#8221;,&#8221;,iLow(NULL,0,1));</p>
<p>LogWrite(&#8221;Ashi.csv&#8221;,strTextAshi);</p>
<p>}</p>
<p>今度のは、足が確定したときの高値、始値、終値、安値を出力しています。</p>
<p>レートが変わるたびに出力しても意味がないので、1本前の時間が変わったときに出力するようにしています。</p>
<p>こんな感じです。</p>
<p>ファイル出力は、分かりましたか？</p>
<p>他にも出力の仕方は、色々あるので試してみてくださいね。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/csv%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e5%87%ba%e5%8a%9b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/csv%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e5%87%ba%e5%8a%9b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b%e3%80%82/" />
	</item>
		<item>
		<title>さわさわさん手法について考える</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%81%95%e3%82%8f%e3%81%95%e3%82%8f%e3%81%95%e3%82%93%e6%89%8b%e6%b3%95%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e8%80%83%e3%81%88%e3%82%8b/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%81%95%e3%82%8f%e3%81%95%e3%82%8f%e3%81%95%e3%82%93%e6%89%8b%e6%b3%95%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e8%80%83%e3%81%88%e3%82%8b/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 10:29:18 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[FXについて]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[FXとは]]></category>
		<category><![CDATA[さわさわさん手法]]></category>
		<category><![CDATA[トラッピングイフダン]]></category>
		<category><![CDATA[リピートイフダン]]></category>
		<category><![CDATA[入門]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=354</guid>
		<description><![CDATA[リクエストにありました「さわさわさん手法」について考えたいと思います。
さわさわさん手法って知っていますか？
トラップリピートイフダン(Ｒ)とかリピートイフダンと言われる手法です。
簡単に説明すると
たとえば、JPYUSJで考えて見ましょう。
現在100円だとします。
小さいと面白くないので、25銭単位で仕込みます。
100円、100.25円、100.50円、100.75円、101円に買いと売り注文を両建てで注文を入れます。
利益確定は、25銭単位。
利益確定と同時に確定した買い注文をまた出します。
ロスカットはなしです。
101円まで円安が進むと。
買いポジションは、
25銭が4回確定して、1円の利益です。
売りポジションのほうは、
1円、0.75円、0.5円、0.25円のマイナスで、2.5円のマイナスです。
これがまた、100円まで戻ってくると
マイナスだった売りポジションは、1円のプラスに
逆に買いポジションは、2.5円のマイナスです。
トータルでは、2円プラスの2.5円マイナスです。
もう一度、101円まで動いたとします。
そうすると、利益が3円、マイナスが2.5円で0.5円の利益がでます。
ここまでくるとわかると思いますが、上下を繰り返すとどんどん利益が増えていく手法です。
いい感じですよね。
でも、一方向へ大きく動くと大変なマイナスポジションを持ってしまいます。
ですが、通常上下しながら移動するので、基本的にはプラスになるはずです。
長い目で見れば、140円まで安くなったとしても数年で100円まで戻ってくる可能性が大きいですね。
ある程度、リスクはあると同時に強制ロスカットにならないだけの資金が必要ですが有効な手法だと思います。
オリジナルでは、1円単位でポジションを持っているみたいです。
人によっては、ロスカットも加えている人がいます。
という手法ですが、これをメタトレーダーで実装することを考えます。
結果からいえば、プログラムを作ることは可能です。
ですが、通信が切れたらどうなりますか？
PCが壊れたら。。。
この辺を考えるとちょっと怖いですね。
ということで、作ることは可能ですがおすすめできません。
こうした機能を実装しているFX会社があります。
そちらを利用したほうが、結果的によいのではないでしょうか。



]]></description>
			<content:encoded><![CDATA[<p>リクエストにありました「さわさわさん手法」について考えたいと思います。</p>
<p>さわさわさん手法って知っていますか？</p>
<p><a href="http://px.a8.net/svt/ejp?a8mat=1HY5MQ+8YP1QQ+1VJ4+5YRHE" target="_blank">トラップリピートイフダン(Ｒ)</a><img src="http://www12.a8.net/0.gif?a8mat=1HY5MQ+8YP1QQ+1VJ4+5YRHE" border="0" alt="" width="1" height="1" />とかリピートイフダンと言われる手法です。</p>
<p>簡単に説明すると</p>
<p>たとえば、JPYUSJで考えて見ましょう。</p>
<p>現在100円だとします。</p>
<p>小さいと面白くないので、25銭単位で仕込みます。</p>
<p>100円、100.25円、100.50円、100.75円、101円に買いと売り注文を両建てで注文を入れます。</p>
<p>利益確定は、25銭単位。</p>
<p>利益確定と同時に確定した買い注文をまた出します。</p>
<p>ロスカットはなしです。</p>
<p>101円まで円安が進むと。</p>
<p>買いポジションは、</p>
<p>25銭が4回確定して、1円の利益です。</p>
<p>売りポジションのほうは、</p>
<p>1円、0.75円、0.5円、0.25円のマイナスで、2.5円のマイナスです。</p>
<p>これがまた、100円まで戻ってくると</p>
<p>マイナスだった売りポジションは、1円のプラスに</p>
<p>逆に買いポジションは、2.5円のマイナスです。</p>
<p>トータルでは、2円プラスの2.5円マイナスです。</p>
<p>もう一度、101円まで動いたとします。</p>
<p>そうすると、利益が3円、マイナスが2.5円で0.5円の利益がでます。</p>
<p>ここまでくるとわかると思いますが、上下を繰り返すとどんどん利益が増えていく手法です。</p>
<p>いい感じですよね。</p>
<p>でも、一方向へ大きく動くと大変なマイナスポジションを持ってしまいます。</p>
<p>ですが、通常上下しながら移動するので、基本的にはプラスになるはずです。</p>
<p>長い目で見れば、140円まで安くなったとしても数年で100円まで戻ってくる可能性が大きいですね。</p>
<p>ある程度、リスクはあると同時に強制ロスカットにならないだけの資金が必要ですが有効な手法だと思います。</p>
<p>オリジナルでは、1円単位でポジションを持っているみたいです。</p>
<p>人によっては、ロスカットも加えている人がいます。</p>
<p>という手法ですが、これをメタトレーダーで実装することを考えます。</p>
<p>結果からいえば、プログラムを作ることは可能です。</p>
<p>ですが、通信が切れたらどうなりますか？</p>
<p>PCが壊れたら。。。</p>
<p>この辺を考えるとちょっと怖いですね。</p>
<p>ということで、作ることは可能ですがおすすめできません。</p>
<p>こうした機能を実装しているFX会社があります。</p>
<p>そちらを利用したほうが、結果的によいのではないでしょうか。</p>
<p><a href="http://px.a8.net/svt/ejp?a8mat=1HY5MQ+8YP1QQ+1VJ4+63WO1" target="_blank"><br />
<img src="http://www29.a8.net/svt/bgt?aid=090613250542&amp;wid=005&amp;eno=01&amp;mid=s00000008752001026000&amp;mc=1" border="0" alt="" width="468" height="60" /></a><br />
<img src="http://www10.a8.net/0.gif?a8mat=1HY5MQ+8YP1QQ+1VJ4+63WO1" border="0" alt="" width="1" height="1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%81%95%e3%82%8f%e3%81%95%e3%82%8f%e3%81%95%e3%82%93%e6%89%8b%e6%b3%95%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e8%80%83%e3%81%88%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%81%95%e3%82%8f%e3%81%95%e3%82%8f%e3%81%95%e3%82%93%e6%89%8b%e6%b3%95%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e8%80%83%e3%81%88%e3%82%8b/" />
	</item>
		<item>
		<title>ねた募集！</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%81%ad%e3%81%9f%e5%8b%9f%e9%9b%86%ef%bc%81/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%81%ad%e3%81%9f%e5%8b%9f%e9%9b%86%ef%bc%81/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 21:37:07 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[お知らせ]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[MQL4]]></category>
		<category><![CDATA[ネタ]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[入門]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=349</guid>
		<description><![CDATA[メタトレーダーのプログラミングをメインにした、このブログをスタートして、1ヶ月半近くになりました。
色々うれしいコメントをいただいて、ありがたい限りです。
基本的な部分は、ほぼ終了かなと思っています。
後は、紹介していない関数などの使い方などがメインになると思います。
ですが、せっかくですので、みなさんからのリクエストを受け付けたいと思います。
このブログや本などを参考に、簡単なプログラムは組めるようになったけど、ちょっと難しいことをやろうとしてちょこっと挫折気味！！
どうしてもこの関数の使い方が分からない。
こんな方のリクエストを募集します。
MT4、MQL4に関することならなんでもOKです。
ただし、プログラムに関することだけです。
一応、プログラムを組めるようになるためのブログなので。。。
一応、初心者のための情報を載せておきます。
メタトレーダーの書籍としては、


これが、有名です。
というか、これしかありません。
本じゃないと分かりにくいという方は、購入をお勧めします。
ちょこっと知りたいという方は、本屋で立ち読みでもいいかもしれません。
でも、関数のリファレンス関係がほとんどありません。
このあたりは本家MQL4の英文ですが、日本語に直訳してくれているサイトがあります。
MT4使い倒シストレ
わたしもよく使っている大変ありがたいサイトです。
無料ですし。。。
でも、ちょっと直訳過ぎて分かりにくいところもあります。

ちょこっと高めですので買ってくださいとは言いませんが、こんなのもあります。

ＦＸ完全自動売買システム構築のための２５０の技 MetaTrader4逆引き大全集

有料だけあって、詳しく書かれています。
半額だったら、買ってくださいとおすすめできますが、ちょこっと高めですね。
気合いを入れて、やろうと思っているなら本を3冊買ったと思って手に入れてもいいかもしれません。

ということで、ネタ募集と入門書関係のお知らせでした。

]]></description>
			<content:encoded><![CDATA[<p>メタトレーダーのプログラミングをメインにした、このブログをスタートして、1ヶ月半近くになりました。</p>
<p>色々うれしいコメントをいただいて、ありがたい限りです。</p>
<p>基本的な部分は、ほぼ終了かなと思っています。</p>
<p>後は、紹介していない関数などの使い方などがメインになると思います。</p>
<p>ですが、せっかくですので、みなさんからのリクエストを受け付けたいと思います。</p>
<p>このブログや本などを参考に、簡単なプログラムは組めるようになったけど、ちょっと難しいことをやろうとしてちょこっと挫折気味！！</p>
<p>どうしてもこの関数の使い方が分からない。</p>
<p>こんな方のリクエストを募集します。</p>
<p>MT4、MQL4に関することならなんでもOKです。</p>
<p>ただし、プログラムに関することだけです。</p>
<p>一応、プログラムを組めるようになるためのブログなので。。。</p>
<p>一応、初心者のための情報を載せておきます。</p>
<p style="text-align: left;">メタトレーダーの書籍としては、</p>
<p style="text-align: center;">
<a href="http://hb.afl.rakuten.co.jp/hgc/050cb2f3.02ba97c9.050cb2f4.58ec6e58/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f5221871%2f&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f12655817%2f" target="_blank"><img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f7759%2f77599063.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f7759%2f77599063.jpg%3f_ex%3d80x80" border="0" alt="" /></a></p>
<p>これが、有名です。</p>
<p>というか、これしかありません。</p>
<p>本じゃないと分かりにくいという方は、購入をお勧めします。</p>
<p>ちょこっと知りたいという方は、本屋で立ち読みでもいいかもしれません。</p>
<p>でも、関数のリファレンス関係がほとんどありません。</p>
<p>このあたりは本家MQL4の英文ですが、日本語に直訳してくれているサイトがあります。</p>
<p><a href="http://googolyenfx.blog18.fc2.com/" target="_blank">MT4使い倒シストレ</a></p>
<p>わたしもよく使っている大変ありがたいサイトです。</p>
<p>無料ですし。。。</p>
<p>でも、ちょっと直訳過ぎて分かりにくいところもあります。</p>
<p style="text-align: left;">
<p style="text-align: left;">ちょこっと高めですので買ってくださいとは言いませんが、こんなのもあります。</p>
<p style="text-align: center;">
<a href="http://www.infocart.jp/t/24105/eba/" target="_blank">ＦＸ完全自動売買システム構築のための２５０の技 MetaTrader4逆引き大全集</a><br />
<a href="http://www.infocart.jp/t/24105/eba/" target="_blank"><img src="http://imgdisp.infocart.jp/down/images/24105.jpg" alt="" /></a></p>
<p style="text-align: left;">有料だけあって、詳しく書かれています。</p>
<p style="text-align: left;">半額だったら、買ってくださいとおすすめできますが、ちょこっと高めですね。</p>
<p style="text-align: left;">気合いを入れて、やろうと思っているなら本を3冊買ったと思って手に入れてもいいかもしれません。</p>
<p style="text-align: left;">
<p style="text-align: left;">ということで、ネタ募集と入門書関係のお知らせでした。</p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%81%ad%e3%81%9f%e5%8b%9f%e9%9b%86%ef%bc%81/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%81%ad%e3%81%9f%e5%8b%9f%e9%9b%86%ef%bc%81/" />
	</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%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%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/</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/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 10:45:28 +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>

		<guid isPermaLink="false">http://metatraderfx.net/?p=339</guid>
		<description><![CDATA[インジケータから、情報を取得することを考えたいと思います。
 
有料のインジケータを買った（右の広告みたいなところから）ときに、そのインジケータを元にEAを作りたくなった。
インジケータとインジケータを組み合わせたときのあるタイミングで、シグナルを出したい。
 
たぶん、こんなこと思う人が結構いると思います。
 
ということで、インジケータのデータは、どうやってみるか？
ということを考えてみます。
 
リクエストにもあったので、標準で付いてくるインジケータで「ZigZag」というので考えてみます。
まず、どこの通貨ペアでもいいので、「ZigZag」を張り付けてみてください。
ほかのインジケータを使っていない状態の方が、わかりやすいので「ZigZag」だけにしてください。
 
アップダウンが、ジグザグに表示されるおもしろいインジケータですね。
「ZigZag」はソースが付いていますが、わからないと仮定します。
 
データウィンドウを表示してください。
スコープみたいなアイコンをクリックするか、「Ctrl+D」で表示できます。

こんな感じのものが表示されたはずです。
マウスカーソルの位置のデータが表示されて、大変便利です。
 
で、「ZigZag」のデータは、
ZigZag、Value2、Value3の3つです。
実際に、マウスを動かして、データがどうなっているか調べていきます。
 
調べていくと、ZigZagというところが、山と谷の位置でデータが入っていることがわかります。
ということは、表示されている線のデータですね。
Value2、Value3は、山と思わしき場所、谷と思わしき場所の値が入っています。
 
ZiｇZagの値が、線のデータでほかのデータも使えそうですね。
 
次は、プログラムでデータを取得してみます。
]]></description>
			<content:encoded><![CDATA[<p>インジケータから、情報を取得することを考えたいと思います。</p>
<p> </p>
<p>有料のインジケータを買った（右の広告みたいなところから）ときに、そのインジケータを元にEAを作りたくなった。</p>
<p>インジケータとインジケータを組み合わせたときのあるタイミングで、シグナルを出したい。</p>
<p> </p>
<p>たぶん、こんなこと思う人が結構いると思います。</p>
<p> </p>
<p>ということで、インジケータのデータは、どうやってみるか？</p>
<p>ということを考えてみます。</p>
<p> </p>
<p>リクエストにもあったので、標準で付いてくるインジケータで「ZigZag」というので考えてみます。</p>
<p>まず、どこの通貨ペアでもいいので、「ZigZag」を張り付けてみてください。</p>
<p>ほかのインジケータを使っていない状態の方が、わかりやすいので「ZigZag」だけにしてください。</p>
<p> </p>
<p>アップダウンが、ジグザグに表示されるおもしろいインジケータですね。</p>
<p>「ZigZag」はソースが付いていますが、わからないと仮定します。</p>
<p> </p>
<p>データウィンドウを表示してください。</p>
<p>スコープみたいなアイコンをクリックするか、「Ctrl+D」で表示できます。</p>
<p><a href="http://metatraderfx.net/wp-content/uploads/2009/06/datawindow.jpg"><img class="aligncenter size-full wp-image-340" title="datawindow" src="http://metatraderfx.net/wp-content/uploads/2009/06/datawindow.jpg" alt="datawindow" width="193" height="249" /></a></p>
<p>こんな感じのものが表示されたはずです。</p>
<p>マウスカーソルの位置のデータが表示されて、大変便利です。</p>
<p> </p>
<p>で、「ZigZag」のデータは、</p>
<p>ZigZag、Value2、Value3の3つです。</p>
<p>実際に、マウスを動かして、データがどうなっているか調べていきます。</p>
<p> </p>
<p>調べていくと、ZigZagというところが、山と谷の位置でデータが入っていることがわかります。</p>
<p>ということは、表示されている線のデータですね。</p>
<p>Value2、Value3は、山と思わしき場所、谷と思わしき場所の値が入っています。</p>
<p> </p>
<p>ZiｇZagの値が、線のデータでほかのデータも使えそうですね。</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%81%ae%e6%83%85%e5%a0%b1%e3%82%92%e5%8f%96%e5%be%97%e3%81%99%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>5</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/" />
	</item>
		<item>
		<title>週末にまとめてクローズするEA</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e9%80%b1%e6%9c%ab%e3%81%ab%e3%81%be%e3%81%a8%e3%82%81%e3%81%a6%e3%82%af%e3%83%ad%e3%83%bc%e3%82%ba%e3%81%99%e3%82%8bea/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e9%80%b1%e6%9c%ab%e3%81%ab%e3%81%be%e3%81%a8%e3%82%81%e3%81%a6%e3%82%af%e3%83%ad%e3%83%bc%e3%82%ba%e3%81%99%e3%82%8bea/#comments</comments>
		<pubDate>Tue, 26 May 2009 12:24:16 +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>

		<guid isPermaLink="false">http://metatraderfx.net/?p=331</guid>
		<description><![CDATA[サンプルプログラムばかりであまり役に立っていないと思うので、ほしい人はほしいもの。
 
週末持ち越しは、いやだけどEAがポジション持ちっぱなしなんだよね！
という人のために、週末に強制的にクローズするEAです。
 
１２１証券のようにサーバが日本時間であることを前提に話します。
別の時間帯を採用しているFX会社と契約している方は、時間を調整してください。
 
EAを作ってみるを参考にEAを作ってください。
名前は、WeekendCloseとします。
 
パラメータは、ウィザードで設定してもらっても構いませんし、コードに以下のように指定してもらっても構いません。
extern int CloseWeek=6;
extern int CloseTime=5;
CloseWeekの6は、土曜日。
CloseTimeの5は、5時です。
 
曜日は、日曜日が0で、月曜日が1。
順番になっています。
 
まず、曜日と時刻をチェックする関数を追加します。
int ChkCloseTime()
{
    int ChkWeek=DayOfWeek();
    int ChkHour=Hour();
 
    if((ChkWeek==CloseWeek &#38;&#38; ChkHour&#62;=CloseTime))
    {
        return(1);
    }
    return(0);
}
 
曜日と時間を取得して、指定した曜日と時間以上なら、１を返します。
 
次に、チケット番号をクローズする関数を追加します。
 
void ClosingTicket(int CloseTicket)
{
    if(OrderSelect(CloseTicket, SELECT_BY_TICKET)==true)
    {
        if(OrderType() == OP_SELL &#124;&#124; OrderType() == OP_SELLLIMIT &#124;&#124; OrderType() == OP_SELLSTOP)
        {
            // Closing
            if(OrderClose(OrderTicket(),OrderLots(),Ask,3,Green) == false)
       [...]]]></description>
			<content:encoded><![CDATA[<p>サンプルプログラムばかりであまり役に立っていないと思うので、ほしい人はほしいもの。</p>
<p> </p>
<p>週末持ち越しは、いやだけどEAがポジション持ちっぱなしなんだよね！</p>
<p>という人のために、週末に強制的にクローズするEAです。</p>
<p> </p>
<p><a href="http://px.a8.net/svt/ejp?a8mat=1HPN4D+4EYTM2+1K86+631SZ" target="_blank">１２１証券</a>のようにサーバが日本時間であることを前提に話します。</p>
<p>別の時間帯を採用しているFX会社と契約している方は、時間を調整してください。</p>
<p> </p>
<p><a title="Permanent Link to EAを作ってみる" rel="bookmark" href="http://metatraderfx.net/metatrader-beginner/ea%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/" target="_blank">EAを作ってみる</a>を参考にEAを作ってください。</p>
<p>名前は、WeekendCloseとします。</p>
<p> </p>
<p>パラメータは、ウィザードで設定してもらっても構いませんし、コードに以下のように指定してもらっても構いません。</p>
<p>extern int CloseWeek=6;</p>
<p>extern int CloseTime=5;</p>
<p>CloseWeekの6は、土曜日。</p>
<p>CloseTimeの5は、5時です。</p>
<p> </p>
<p>曜日は、日曜日が0で、月曜日が1。</p>
<p>順番になっています。</p>
<p> </p>
<p>まず、曜日と時刻をチェックする関数を追加します。</p>
<p>int ChkCloseTime()</p>
<p>{</p>
<p>    int ChkWeek=DayOfWeek();</p>
<p>    int ChkHour=Hour();</p>
<p> </p>
<p>    if((ChkWeek==CloseWeek &amp;&amp; ChkHour&gt;=CloseTime))</p>
<p>    {</p>
<p>        return(1);</p>
<p>    }</p>
<p>    return(0);</p>
<p>}</p>
<p> </p>
<p>曜日と時間を取得して、指定した曜日と時間以上なら、１を返します。</p>
<p> </p>
<p>次に、チケット番号をクローズする関数を追加します。</p>
<p> </p>
<p>void ClosingTicket(int CloseTicket)</p>
<p>{</p>
<p>    if(OrderSelect(CloseTicket, SELECT_BY_TICKET)==true)</p>
<p>    {</p>
<p>        if(OrderType() == OP_SELL || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELLSTOP)</p>
<p>        {</p>
<p>            // Closing</p>
<p>            if(OrderClose(OrderTicket(),OrderLots(),Ask,3,Green) == false)</p>
<p>            {</p>
<p>                OrderDelete(OrderTicket());</p>
<p>            }</p>
<p>        }</p>
<p>        else</p>
<p>        {</p>
<p>            // Closing</p>
<p>            if(OrderClose(OrderTicket(),OrderLots(),Bid,3,Green) == false)</p>
<p>            {</p>
<p>                OrderDelete(OrderTicket());</p>
<p>            }</p>
<p>        }</p>
<p>    }</p>
<p>}</p>
<p> </p>
<p>指定された、チケットのオーダーをコントロールできるようにしてからクローズします。</p>
<p>クローズに失敗したときは、未確定の注文として注文の取り消しを行っています。</p>
<p> </p>
<p>次に、実装部分を作ります。</p>
<p> </p>
<p>int start()</p>
<p>  {</p>
<p>    if(ChkCloseTime() == 0) return(0);</p>
<p> </p>
<p>    int total=OrdersTotal();</p>
<p>    int i;</p>
<p>    for(i=0;i &lt; total;i++){</p>
<p>        if(OrderSelect(i, SELECT_BY_POS)==true)</p>
<p>        {</p>
<p>           ClosingTicket(OrderTicket());</p>
<p>        }</p>
<p>    }</p>
<p> </p>
<p>   return(0);</p>
<p>  }</p>
<p> </p>
<p>まず、終了時間かチェックします。</p>
<p>まだなら、そのまま関数を抜けます。</p>
<p> </p>
<p>終了時間の場合は、現在もっているポジションを調べ、すべてのポジションをクローズしていきます。</p>
<p> </p>
<p>サンプルを参考に改造して使ってみてください。</p>
<p> </p>
<p> </p>
<p>今回のプログラムは、以下からダウンロードできます。</p>
<p><a href="http://download-center.metatraderfx.net/expert/%e9%80%b1%e6%9c%ab%e3%81%ab%e3%81%be%e3%81%a8%e3%82%81%e3%81%a6%e3%82%af%e3%83%ad%e3%83%bc%e3%82%ba%e3%81%99%e3%82%8bea/" target="_blank">ここから、ダウンロード</a></p>
<p> </p>
<p>EA（自動売買）は、</p>
<p>インストールパス\MetaTrader\experts</p>
<p>に入れてください。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e9%80%b1%e6%9c%ab%e3%81%ab%e3%81%be%e3%81%a8%e3%82%81%e3%81%a6%e3%82%af%e3%83%ad%e3%83%bc%e3%82%ba%e3%81%99%e3%82%8bea/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e9%80%b1%e6%9c%ab%e3%81%ab%e3%81%be%e3%81%a8%e3%82%81%e3%81%a6%e3%82%af%e3%83%ad%e3%83%bc%e3%82%ba%e3%81%99%e3%82%8bea/" />
	</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/%e3%81%8a%e7%9f%a5%e3%82%89%e3%81%9b/%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6/</link>
		<comments>http://metatraderfx.net/%e3%81%8a%e7%9f%a5%e3%82%89%e3%81%9b/%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6/#comments</comments>
		<pubDate>Tue, 19 May 2009 10:34:48 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[お知らせ]]></category>
		<category><![CDATA[MQL4]]></category>
		<category><![CDATA[MT4]]></category>
		<category><![CDATA[インジケーター]]></category>
		<category><![CDATA[コメント]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[質問]]></category>
		<category><![CDATA[ＥＡ]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=307</guid>
		<description><![CDATA[たくさんのコメントありがとうございます。
コメントにはすべて目を通していますが、基本的に回答は深夜になることが多くなります。
 
また、確認のタイミングによっては、1日以上かかってしまう場合もあるかもしれません。
 
なるべく早く回答を行いたいと思いますが、ご了承ください。
 
また、スパムや中傷など不適切と判断したコメントは、削除させていただく場合があります。
 
質問やリクエストは、歓迎ですのでどんどん書き込んでください。
答えられる範囲で、回答したり、記事として取り上げたりしていきたいと思います。
 
できれば、ランキングに参加しているのでポチッとクリックしていただけると助かります。
お買いもししていただけるともっとうれしいですが。。。
 
それでは、よろしくお願いします。
]]></description>
			<content:encoded><![CDATA[<p>たくさんのコメントありがとうございます。</p>
<p>コメントにはすべて目を通していますが、基本的に回答は深夜になることが多くなります。</p>
<p> </p>
<p>また、確認のタイミングによっては、1日以上かかってしまう場合もあるかもしれません。</p>
<p> </p>
<p>なるべく早く回答を行いたいと思いますが、ご了承ください。</p>
<p> </p>
<p>また、スパムや中傷など不適切と判断したコメントは、削除させていただく場合があります。</p>
<p> </p>
<p>質問やリクエストは、歓迎ですのでどんどん書き込んでください。</p>
<p>答えられる範囲で、回答したり、記事として取り上げたりしていきたいと思います。</p>
<p> </p>
<p>できれば、ランキングに参加しているので<strong><span style="color: #ff0000;">ポチッ</span></strong>とクリックしていただけると助かります。</p>
<p>お買いもししていただけるともっとうれしいですが。。。</p>
<p> </p>
<p>それでは、よろしくお願いします。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/%e3%81%8a%e7%9f%a5%e3%82%89%e3%81%9b/%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/%e3%81%8a%e7%9f%a5%e3%82%89%e3%81%9b/%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6/" />
	</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>
		<item>
		<title>プログラムが組める自分を想像する</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%81%8c%e7%b5%84%e3%82%81%e3%82%8b%e8%87%aa%e5%88%86%e3%82%92%e6%83%b3%e5%83%8f%e3%81%99%e3%82%8b/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%81%8c%e7%b5%84%e3%82%81%e3%82%8b%e8%87%aa%e5%88%86%e3%82%92%e6%83%b3%e5%83%8f%e3%81%99%e3%82%8b/#comments</comments>
		<pubDate>Mon, 18 May 2009 02:45:04 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[メタトレーダープログラミング]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[FXとは]]></category>
		<category><![CDATA[MQL4]]></category>
		<category><![CDATA[MT4]]></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=292</guid>
		<description><![CDATA[FXや株でも何でもそうですが、過去のデータを参考に投資を行うと思います。
自分なりに、相場がこうなるといい感じになりそうだから買おう、とかルールを決めている人が多いと思います。
 
というか、ルールを決めないとほとんどギャンブルになっちゃうので、決めましょうね。
 
で、このルールを見つけるのが大変ですよね。
私も日々、見つけようと努力しています。
 
グラフなどをみて、この線を組み合わせるといいかもしれない！
と思ったら、過去にどうなっているか調べるわけです。
 
ここからが、プログラムを組める人と組めない人の差が開きます。
 
組めない人は、グラフとにらめっこして、ここでは増えた、ここではダメ。
とかすべて、見ていかなければなりません。
その上、パラメータをいじってみたら、もう一度同じことを繰り返す必要があります。
 
大変ですよね。
たぶん、ルールを見つける作業がいやになるのは、この辺ではないかと。。。
 
逆にプログラムを組める人は、最初にルールを元にしたプログラムを組みます。
後は、解析結果を待つだけです。
バックテストで、パラメータを変えながら最適な結果を見つける方法も説明しました。
 
１度組んでしまえば、解析まで自動でできます。
 
まあ、プログラムを組むのが面倒なんですがね。
 
プログラムを組める場合と組めない場合では、どちらが有利か説明するまでも無いと思います。
 
いままで、いろいろなサンプルで説明してきましたが、難しいと思う人も多いかと思います。
 
でも、行数を見てください。
 
１００行ぐらいで、できているはずです。
たった１００行ですよ。
 
これで、それなりのものができてしまうんです。
少し頑張ればできそうな気がしませんか？
 
メタトレーダーのプログラムは、ウィンドウズのプログラムを書こうと思うより、はるかに楽です。
 
よく考えてください。
やることは、値の比較だけ。
やっても何か特殊な計算をするぐらいですよね。
たくさんの指標を計算する関数がMT4には用意されているので、オリジナルで作ることは少ないと思います。
 
だから、指標の組み合わせと比較だけです。
 
全く目的が違うんです。
 
だから複雑なことをやらせないので、短いステップ数で完成することが多いんです。
 
いくつか、自分で組んでみると分かると思います。
まずは、まねから始めてみませんか？
 
覚えることは、

変数の宣言
if文
for文
標準で用意されている関数の呼び方

 
この４つをマスターすれば、あらかた組めますのでチャレンジしてみましょう。
４の標準で用意されている関数は、基本的に覚える必要はありません。
使いたいときに探して、目的のものがあれば使う。
無ければ計算で求めるだけです。
 
単純に考えましょう。
 
では、頑張ってください。
]]></description>
			<content:encoded><![CDATA[<p>FXや株でも何でもそうですが、過去のデータを参考に投資を行うと思います。</p>
<p>自分なりに、相場がこうなるといい感じになりそうだから買おう、とかルールを決めている人が多いと思います。</p>
<p> </p>
<p>というか、ルールを決めないとほとんどギャンブルになっちゃうので、決めましょうね。</p>
<p> </p>
<p>で、このルールを見つけるのが大変ですよね。</p>
<p>私も日々、見つけようと努力しています。</p>
<p> </p>
<p>グラフなどをみて、この線を組み合わせるといいかもしれない！</p>
<p>と思ったら、過去にどうなっているか調べるわけです。</p>
<p> </p>
<p>ここからが、プログラムを組める人と組めない人の差が開きます。</p>
<p> </p>
<p>組めない人は、グラフとにらめっこして、ここでは増えた、ここではダメ。</p>
<p>とかすべて、見ていかなければなりません。</p>
<p>その上、パラメータをいじってみたら、もう一度同じことを繰り返す必要があります。</p>
<p> </p>
<p>大変ですよね。</p>
<p>たぶん、ルールを見つける作業がいやになるのは、この辺ではないかと。。。</p>
<p> </p>
<p>逆にプログラムを組める人は、最初にルールを元にしたプログラムを組みます。</p>
<p>後は、解析結果を待つだけです。</p>
<p>バックテストで、パラメータを変えながら最適な結果を見つける方法も説明しました。</p>
<p> </p>
<p>１度組んでしまえば、解析まで自動でできます。</p>
<p> </p>
<p>まあ、プログラムを組むのが面倒なんですがね。</p>
<p> </p>
<p>プログラムを組める場合と組めない場合では、どちらが有利か説明するまでも無いと思います。</p>
<p> </p>
<p>いままで、いろいろなサンプルで説明してきましたが、難しいと思う人も多いかと思います。</p>
<p> </p>
<p>でも、行数を見てください。</p>
<p> </p>
<p>１００行ぐらいで、できているはずです。</p>
<p>たった１００行ですよ。</p>
<p> </p>
<p>これで、それなりのものができてしまうんです。</p>
<p>少し頑張ればできそうな気がしませんか？</p>
<p> </p>
<p>メタトレーダーのプログラムは、ウィンドウズのプログラムを書こうと思うより、はるかに楽です。</p>
<p> </p>
<p>よく考えてください。</p>
<p>やることは、値の比較だけ。</p>
<p>やっても何か特殊な計算をするぐらいですよね。</p>
<p>たくさんの指標を計算する関数がMT4には用意されているので、オリジナルで作ることは少ないと思います。</p>
<p> </p>
<p>だから、指標の組み合わせと比較だけです。</p>
<p> </p>
<p>全く目的が違うんです。</p>
<p> </p>
<p>だから複雑なことをやらせないので、短いステップ数で完成することが多いんです。</p>
<p> </p>
<p>いくつか、自分で組んでみると分かると思います。</p>
<p>まずは、まねから始めてみませんか？</p>
<p> </p>
<p>覚えることは、</p>
<ol>
<li>変数の宣言</li>
<li>if文</li>
<li>for文</li>
<li>標準で用意されている関数の呼び方</li>
</ol>
<p> </p>
<p>この４つをマスターすれば、あらかた組めますのでチャレンジしてみましょう。</p>
<p>４の標準で用意されている関数は、基本的に覚える必要はありません。</p>
<p>使いたいときに探して、目的のものがあれば使う。</p>
<p>無ければ計算で求めるだけです。</p>
<p> </p>
<p>単純に考えましょう。</p>
<p> </p>
<p>では、頑張ってください。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%81%8c%e7%b5%84%e3%82%81%e3%82%8b%e8%87%aa%e5%88%86%e3%82%92%e6%83%b3%e5%83%8f%e3%81%99%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%81%8c%e7%b5%84%e3%82%81%e3%82%8b%e8%87%aa%e5%88%86%e3%82%92%e6%83%b3%e5%83%8f%e3%81%99%e3%82%8b/" />
	</item>
		<item>
		<title>複数のMT4を起動する</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e8%a4%87%e6%95%b0%e3%81%aemt4%e3%82%92%e8%b5%b7%e5%8b%95%e3%81%99%e3%82%8b/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e8%a4%87%e6%95%b0%e3%81%aemt4%e3%82%92%e8%b5%b7%e5%8b%95%e3%81%99%e3%82%8b/#comments</comments>
		<pubDate>Sat, 16 May 2009 22:30:06 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[MT4]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[複数起動]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=282</guid>
		<description><![CDATA[バックテストやフォワードテスト、実運用とMT4を利用する機会が増えてくると同時に複数起動できるといいな！
って思いませんか？
 
実は簡単に複数起動できます。
 
メタトレーダのフォルダをコピーすればいいだけです。
 
インストールパス\MetaTrader
を
インストールパス\MetaTrader2
とコピーします。
MetaTraderのフォルダに「terminal.exe」というのがあります。
これをダブルクリックで起動すれば、メタトレーダーが立ち上がります。
 
「terminal.exe」のショートカットを作って、デスクトップとかに貼っておくと便利でしょう。
 
この方法なら、いくつでも同時起動可能です。
PCのスペックにもよりますが、バックテストを同時に２つのMT４で走らせながら、もう一つで実弾運用。
なんてことも可能です。
 
わたしは、たまに3つ動かしてこんなことをしています。
PCスペックはいい方だと思うので、環境に合わせた数で挑戦してください。
]]></description>
			<content:encoded><![CDATA[<p>バックテストやフォワードテスト、実運用とMT4を利用する機会が増えてくると同時に複数起動できるといいな！</p>
<p>って思いませんか？</p>
<p> </p>
<p>実は簡単に複数起動できます。</p>
<p> </p>
<p>メタトレーダのフォルダをコピーすればいいだけです。</p>
<p> </p>
<p>インストールパス\MetaTrader</p>
<p>を</p>
<p>インストールパス\MetaTrader2</p>
<p>とコピーします。</p>
<p>MetaTraderのフォルダに「terminal.exe」というのがあります。</p>
<p>これをダブルクリックで起動すれば、メタトレーダーが立ち上がります。</p>
<p> </p>
<p>「terminal.exe」のショートカットを作って、デスクトップとかに貼っておくと便利でしょう。</p>
<p> </p>
<p>この方法なら、いくつでも同時起動可能です。</p>
<p>PCのスペックにもよりますが、バックテストを同時に２つのMT４で走らせながら、もう一つで実弾運用。</p>
<p>なんてことも可能です。</p>
<p> </p>
<p>わたしは、たまに3つ動かしてこんなことをしています。</p>
<p>PCスペックはいい方だと思うので、環境に合わせた数で挑戦してください。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e8%a4%87%e6%95%b0%e3%81%aemt4%e3%82%92%e8%b5%b7%e5%8b%95%e3%81%99%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e8%a4%87%e6%95%b0%e3%81%aemt4%e3%82%92%e8%b5%b7%e5%8b%95%e3%81%99%e3%82%8b/" />
	</item>
		<item>
		<title>フォワードテストをしてみる</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%83%95%e3%82%a9%e3%83%af%e3%83%bc%e3%83%89%e3%83%86%e3%82%b9%e3%83%88%e3%82%92%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%83%95%e3%82%a9%e3%83%af%e3%83%bc%e3%83%89%e3%83%86%e3%82%b9%e3%83%88%e3%82%92%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Fri, 15 May 2009 22:19:23 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[自動売買]]></category>
		<category><![CDATA[MT4]]></category>
		<category><![CDATA[バックテスト]]></category>
		<category><![CDATA[フォワードテスト]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[ＥＡ]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=280</guid>
		<description><![CDATA[前回、前々回とバックテストをやってみました。
では、今回はフォワードテストです。
 
バックテストは、過去の履歴データを元にテストを行いました。
フォワードテストは、未来です。
 
未来は、わからないじゃないか！！
って、いう人もいると思いますがその通りです。
 
分からないので、実際に走らせてみるのがフォワードテストです。
でも、テストというだけあって、実弾口座では行いません。
 
デモ口座でのテストということになります。
 
簡単に言うと、デモ口座でEAを走らせることをフォワードテストといいます。
 
なぜ、こんなことをやるかというと、
過去のデータは、ある程度は信用おけますが、通信の問題やPCの負荷など色々問題がありそうな気がしませんか？
それに、ちゃんと思ったように動くかやってみないと分かりませんよね。
 
ということで、実際のEAの動きのチェック。
パラメータ調整は、大丈夫だったか。
といったことを確かめることがフォワードテストの意味するところです。
 
資金に余裕がある人で、自分の作ったEAに自信があれば、このフェーズは飛ばしてもかまいませんが、
少なくても2週間ぐらいはやった方がいいでしょう。
 
このフェーズで、もしダメでもデモですから懐は痛みません。
納得がいくまで、バックテスト、フォワードテストを繰り返してください。
 
ここで焦るとしっぺ返しが大きいので。。。
 
ということで、バックテスト、フォワードテストはしっかりと！
という話でした。
]]></description>
			<content:encoded><![CDATA[<p>前回、前々回とバックテストをやってみました。</p>
<p>では、今回はフォワードテストです。</p>
<p> </p>
<p>バックテストは、過去の履歴データを元にテストを行いました。</p>
<p>フォワードテストは、未来です。</p>
<p> </p>
<p>未来は、わからないじゃないか！！</p>
<p>って、いう人もいると思いますがその通りです。</p>
<p> </p>
<p>分からないので、実際に走らせてみるのがフォワードテストです。</p>
<p>でも、テストというだけあって、実弾口座では行いません。</p>
<p> </p>
<p>デモ口座でのテストということになります。</p>
<p> </p>
<p>簡単に言うと、デモ口座でEAを走らせることをフォワードテストといいます。</p>
<p> </p>
<p>なぜ、こんなことをやるかというと、</p>
<p>過去のデータは、ある程度は信用おけますが、通信の問題やPCの負荷など色々問題がありそうな気がしませんか？</p>
<p>それに、ちゃんと思ったように動くかやってみないと分かりませんよね。</p>
<p> </p>
<p>ということで、実際のEAの動きのチェック。</p>
<p>パラメータ調整は、大丈夫だったか。</p>
<p>といったことを確かめることがフォワードテストの意味するところです。</p>
<p> </p>
<p>資金に余裕がある人で、自分の作ったEAに自信があれば、このフェーズは飛ばしてもかまいませんが、</p>
<p>少なくても2週間ぐらいはやった方がいいでしょう。</p>
<p> </p>
<p>このフェーズで、もしダメでもデモですから懐は痛みません。</p>
<p>納得がいくまで、バックテスト、フォワードテストを繰り返してください。</p>
<p> </p>
<p>ここで焦るとしっぺ返しが大きいので。。。</p>
<p> </p>
<p>ということで、バックテスト、フォワードテストはしっかりと！</p>
<p>という話でした。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%83%95%e3%82%a9%e3%83%af%e3%83%bc%e3%83%89%e3%83%86%e3%82%b9%e3%83%88%e3%82%92%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%83%95%e3%82%a9%e3%83%af%e3%83%bc%e3%83%89%e3%83%86%e3%82%b9%e3%83%88%e3%82%92%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/" />
	</item>
		<item>
		<title>EAを作ってみる２</title>
		<link>http://metatraderfx.net/metatrader-beginner/ea%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b%ef%bc%92/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/ea%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b%ef%bc%92/#comments</comments>
		<pubDate>Tue, 12 May 2009 10:29:22 +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>

		<guid isPermaLink="false">http://metatraderfx.net/?p=266</guid>
		<description><![CDATA[前回のEAを作ってみるで説明不足のところを説明します。
 
まず、スリップについてです。
成行でオーダーするときに、メタトレーダーではAskかBiｄの金額を指定してオーダーします。
しかし、為替は動いていますので、この金額からずれていることがあります。
ですが、注文をなるべく成功させたいと考えたときに、ズレの許容値を指定することができます。
これが、スリップです。
 
スリップは、オーダーするときもクローズするときも指定可能です。
OrderSend(Symbol(),OP_SELL,BuyLots,Bid,3,Bid+LossEntry*Point,Bid-TakeEntry*Point,”MA_EA Sell”,MagicNo,0,Blue);
OrderClose(OrderTicket(),OrderLots(),Bid,3,Green);
の3がスリップの値になります。
 
ですから、Bidから＋－３pipsのズレまで、許可するということになります。
このズレ以上の場合は、オーダーされないことになります。
 
クローズの方が失敗するのがいやな人は、多めを指定した方がいいでしょう。
 
次は、自分でオーダーした注文かどうかを判断する方法です。
前回は、マジックナンバーというのを利用しました。
他にもオーダーしたときにもらえるチケットナンバー、コメントなどをキーに探すことが可能です。
ただし、チケット番号は再起動したときに分からなくなってしまうので、マジックナンバーを利用するのがいいでしょう。
※グローバル変数を使うことで、2週間覚えておく方法もあります。
 
なぜ、このようなことを行うかというと、利用中の口座のオーダーはすべて見ることができてしまうからです。
別の通貨ペアでも、別のEAでも、手動オーダーでもなんでも見ることができます。
ですから、自分のEAが注文したものかどうかを判断する必要があるんです。
 
初めてのEAなので、こうしたことをやならくてもよかったのですが、今後EAを作る場合、こうした仕組みで作ることになると思い、初めからちゃんとした機能を持たせました。
そのため、少し難しくなっています。
 
ちなみに、すべて見えることの応用ですが、たとえば週末にすべてのオーダーをクローズするEAなんていうのも作ることができます。
週末の持ち越しはしたくない！って方で、販売されているEAを利用している方は、こうしたEAを作れると便利かもしれませんね。
]]></description>
			<content:encoded><![CDATA[<p>前回の<a href="http://metatraderfx.net/metatrader-beginner/ea%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/" target="_blank">EAを作ってみる</a>で説明不足のところを説明します。</p>
<p> </p>
<p>まず、<strong>スリップ</strong>についてです。</p>
<p>成行でオーダーするときに、メタトレーダーではAskかBiｄの金額を指定してオーダーします。</p>
<p>しかし、為替は動いていますので、この金額からずれていることがあります。</p>
<p>ですが、注文をなるべく成功させたいと考えたときに、ズレの許容値を指定することができます。</p>
<p>これが、スリップです。</p>
<p> </p>
<p>スリップは、オーダーするときもクローズするときも指定可能です。</p>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-334.html" target="_blank">OrderSend</a>(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-347.html" target="_blank">Symbol</a>(),OP_SELL,BuyLots,Bid,3,Bid+LossEntry*Point,Bid-TakeEntry*Point,”MA_EA Sell”,MagicNo,0,Blue);</p>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-318.html" target="_blank">OrderClose</a>(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-341.html" target="_blank">OrderTicket</a>(),<a href="http://googolyenfx.blog18.fc2.com/blog-entry-326.html" target="_blank">OrderLots</a>(),Bid,3,Green);</p>
<p>の3がスリップの値になります。</p>
<p> </p>
<p>ですから、Bidから＋－３pipsのズレまで、許可するということになります。</p>
<p>このズレ以上の場合は、オーダーされないことになります。</p>
<p> </p>
<p>クローズの方が失敗するのがいやな人は、多めを指定した方がいいでしょう。</p>
<p> </p>
<p>次は、自分でオーダーした注文かどうかを判断する方法です。</p>
<p>前回は、マジックナンバーというのを利用しました。</p>
<p>他にもオーダーしたときにもらえるチケットナンバー、コメントなどをキーに探すことが可能です。</p>
<p>ただし、チケット番号は再起動したときに分からなくなってしまうので、マジックナンバーを利用するのがいいでしょう。</p>
<p>※グローバル変数を使うことで、2週間覚えておく方法もあります。</p>
<p> </p>
<p>なぜ、このようなことを行うかというと、利用中の口座のオーダーはすべて見ることができてしまうからです。</p>
<p>別の通貨ペアでも、別のEAでも、手動オーダーでもなんでも見ることができます。</p>
<p>ですから、自分のEAが注文したものかどうかを判断する必要があるんです。</p>
<p> </p>
<p>初めてのEAなので、こうしたことをやならくてもよかったのですが、今後EAを作る場合、こうした仕組みで作ることになると思い、初めからちゃんとした機能を持たせました。</p>
<p>そのため、少し難しくなっています。</p>
<p> </p>
<p>ちなみに、すべて見えることの応用ですが、たとえば週末にすべてのオーダーをクローズするEAなんていうのも作ることができます。</p>
<p>週末の持ち越しはしたくない！って方で、販売されているEAを利用している方は、こうしたEAを作れると便利かもしれませんね。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/ea%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b%ef%bc%92/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/ea%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b%ef%bc%92/" />
	</item>
		<item>
		<title>EAを作ってみる</title>
		<link>http://metatraderfx.net/metatrader-beginner/ea%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/ea%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Tue, 12 May 2009 06:29:44 +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>

		<guid isPermaLink="false">http://metatraderfx.net/?p=226</guid>
		<description><![CDATA[今回は、EA（自動売買）のプログラムを作ってみたいと思います。  今回は、単純移動平均のラインをブレイクしたときに順張りするＥＡを作成します。   
単純移動平均をブレイクしたときに、成行でオーダーし、テイク（利益確定）ポイントとロスカットポイントを指定します。
これは、通信できなかったときの保険で、実際の利益確定やロスカットはＥＡが値を確認して行います。   
 
注意事項ですが、ここで作成したプログラムを実運用で利用してもかまいませんが、利益を保証するものではありません。
ご自分の判断で、利用してください。
損害等は、一切保証しません。
 
では、プログラムの作成を行いましょう。  
ＭｅｔａＥｄｉｔｏｒを開き、Expert Advisor Wizardを開きます。   
Expert Advisorを選択し、次へを押します。
 
NAMEに「MA_EA」と入力します。
パラメータを指定できますが、今回はコード上で指定しますので、そのまま完了を押してください。
スケルトンが作成されます。
 
前半の設定を行います。
 
//オーダーするときのロット数をパラメータとして指定します。
//0.1ロットが1万通貨となります。
extern double BuyLots=0.1;
//単純移動平均のサンプリングする足の数をパラメータとして指定します。
extern int MAPeriod=21;
//EAが利益確定するポイント数をパラメータとして指定します。
extern int TakeMA=20;
//EAがロスカットするポイント数をパラメータとして指定します。
extern int LossMA=10;
//オーダー時に保険として設定する利益確定ポイントを指定します。
extern int TakeEntry=25;
//オーダー時に保険として設定するロスカットポイントを指定します。
extern int LossEntry=25;
 
//オーダー番号を格納する変数を設定します。
int ticket=0;
//このEAのオーダーを判断するための番号を設定します。
int MagicNo=1;
 
今回は、初期処理と終了処理ではなにも行いません。
実行処理を指定します。
 
int start()
  {
//ポジションを持っているか判断するフラグを設定します。
//0がポジションなし、1がポジションを持っていることにします。
    int KeepPosition=0;
//現在持っているオーダー数を取得します。
    int total=OrdersTotal();
    int i;
//現在持っているオーダーの中からこのEAがポジションを持ったオーダーを探します。
    for(i=0;i &#60; total;i++){
//オーダーを選択します。
        if(OrderSelect(i, SELECT_BY_POS)==true)
        {
//オーダーの通貨ペアが同じで、このEAが指定したマジックNoが同じものを探します。
            if(Symbol() == OrderSymbol() &#38;&#38; OrderMagicNumber() == MagicNo)
   [...]]]></description>
			<content:encoded><![CDATA[<p>今回は、EA（自動売買）のプログラムを作ってみたいと思います。  今回は、単純移動平均のラインをブレイクしたときに順張りするＥＡを作成します。   </p>
<p>単純移動平均をブレイクしたときに、成行でオーダーし、テイク（利益確定）ポイントとロスカットポイントを指定します。</p>
<p>これは、通信できなかったときの保険で、実際の利益確定やロスカットはＥＡが値を確認して行います。   </p>
<p> </p>
<p><strong><span style="color: #ff0000;">注意事項ですが、ここで作成したプログラムを実運用で利用してもかまいませんが、利益を保証するものではありません。</span></strong></p>
<p><strong><span style="color: #ff0000;">ご自分の判断で、利用してください。</span></strong></p>
<p><strong><span style="color: #ff0000;">損害等は、一切保証しません。</span></strong></p>
<p> </p>
<p>では、プログラムの作成を行いましょう。  </p>
<p>ＭｅｔａＥｄｉｔｏｒを開き、Expert Advisor Wizardを開きます。   </p>
<div id="attachment_227" class="wp-caption aligncenter" style="width: 310px"><a href="http://metatraderfx.net/wp-content/uploads/2009/05/eaw_ea1.jpg"><img class="size-medium wp-image-227" title="eaw_ea1" src="http://metatraderfx.net/wp-content/uploads/2009/05/eaw_ea1-300x181.jpg" alt="Expert Advisor作成" width="300" height="181" /></a><p class="wp-caption-text">Expert Advisor作成</p></div>
<p>Expert Advisorを選択し、次へを押します。</p>
<p> </p>
<div id="attachment_228" class="wp-caption aligncenter" style="width: 310px"><a href="http://metatraderfx.net/wp-content/uploads/2009/05/eaw_ea2.jpg"><img class="size-medium wp-image-228" title="eaw_ea2" src="http://metatraderfx.net/wp-content/uploads/2009/05/eaw_ea2-300x181.jpg" alt="EAの名前を決める" width="300" height="181" /></a><p class="wp-caption-text">EAの名前を決める</p></div>
<p>NAMEに「MA_EA」と入力します。</p>
<p>パラメータを指定できますが、今回はコード上で指定しますので、そのまま完了を押してください。</p>
<p>スケルトンが作成されます。</p>
<p> </p>
<p>前半の設定を行います。</p>
<p> </p>
<p>//オーダーするときのロット数をパラメータとして指定します。</p>
<p>//0.1ロットが1万通貨となります。</p>
<p>extern double BuyLots=0.1;</p>
<p>//単純移動平均のサンプリングする足の数をパラメータとして指定します。</p>
<p>extern int MAPeriod=21;</p>
<p>//EAが利益確定するポイント数をパラメータとして指定します。</p>
<p>extern int TakeMA=20;</p>
<p>//EAがロスカットするポイント数をパラメータとして指定します。</p>
<p>extern int LossMA=10;</p>
<p>//オーダー時に保険として設定する利益確定ポイントを指定します。</p>
<p>extern int TakeEntry=25;</p>
<p>//オーダー時に保険として設定するロスカットポイントを指定します。</p>
<p>extern int LossEntry=25;</p>
<p> </p>
<p>//オーダー番号を格納する変数を設定します。</p>
<p>int ticket=0;</p>
<p>//このEAのオーダーを判断するための番号を設定します。</p>
<p>int MagicNo=1;</p>
<p> </p>
<p>今回は、初期処理と終了処理ではなにも行いません。</p>
<p>実行処理を指定します。</p>
<p> </p>
<p>int start()</p>
<p>  {</p>
<p>//ポジションを持っているか判断するフラグを設定します。</p>
<p>//0がポジションなし、1がポジションを持っていることにします。</p>
<p>    int KeepPosition=0;</p>
<p>//現在持っているオーダー数を取得します。</p>
<p>    int total=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-337.html" target="_blank">OrdersTotal</a>();</p>
<p>    int i;</p>
<p>//現在持っているオーダーの中からこのEAがポジションを持ったオーダーを探します。</p>
<p>    for(i=0;i &lt; total;i++){</p>
<p>//オーダーを選択します。</p>
<p>        if(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-333.html" target="_blank">OrderSelect</a>(i, SELECT_BY_POS)==true)</p>
<p>        {</p>
<p>//オーダーの通貨ペアが同じで、このEAが指定したマジックNoが同じものを探します。</p>
<p>            if(Symbol() == <a href="http://googolyenfx.blog18.fc2.com/blog-entry-339.html" target="_blank">OrderSymbol</a>() &amp;&amp; <a href="http://googolyenfx.blog18.fc2.com/blog-entry-327.html" target="_blank">OrderMagicNumber</a>() == MagicNo)</p>
<p>            {</p>
<p>//このEAがオーダーしたものが見つかったときはオーダーを持っていることにします。</p>
<p>                KeepPosition = 1;</p>
<p>//チケット番号をセットします。</p>
<p>                ticket=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-341.html" target="_blank">OrderTicket</a>();</p>
<p>//ループを抜けます。</p>
<p>                break;</p>
<p>            }</p>
<p>        }</p>
<p>    }</p>
<p> </p>
<p>//現在から過去の単純移動平均を5本分取得します。</p>
<p>    double Ma0=iMA(NULL,0,MAPeriod,0,MODE_SMA,PRICE_CLOSE,0);</p>
<p>    double Ma1=iMA(NULL,0,MAPeriod,0,MODE_SMA,PRICE_CLOSE,1);</p>
<p>    double Ma2=iMA(NULL,0,MAPeriod,0,MODE_SMA,PRICE_CLOSE,2);</p>
<p>    double Ma3=iMA(NULL,0,MAPeriod,0,MODE_SMA,PRICE_CLOSE,3);</p>
<p>    double Ma4=iMA(NULL,0,MAPeriod,0,MODE_SMA,PRICE_CLOSE,4);</p>
<p> </p>
<p>//ポジションを持っている場合、クローズするか確認します。</p>
<p>    if(KeepPosition == 1)</p>
<p>    {</p>
<p>//オーダーから何本足を描画したかを求めます。</p>
<p>//オーダーから最小値、最大値を求めるために利用します。</p>
<p>        int ChkAshi = (<a href="http://googolyenfx.blog18.fc2.com/blog-entry-330.html" target="_blank">OrderOpenTime</a>()-<a href="http://googolyenfx.blog18.fc2.com/blog-entry-258.html" target="_blank">TimeCurrent</a>())/(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-345.html" target="_blank">Period</a>()*60);</p>
<p>//売りポジションの場合</p>
<p>        if(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-342.html" target="_blank">OrderType</a>() == OP_SELL)</p>
<p>        {</p>
<p>//オーダーしてから、TakeMAの2倍の値を出して、TakeMAまで戻ってきたときにクローズします。</p>
<p>//利益確定は、戻ってきたときとオーダー時に設定したポイントの2つが利益確定ポイントです。</p>
<p>            if(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-329.html" target="_blank">OrderOpenPrice</a>()-TakeMA*Point &gt;= Ask &amp;&amp; <a href="http://googolyenfx.blog18.fc2.com/blog-entry-329.html" target="_blank">OrderOpenPrice</a>()-TakeMA*2*Point &gt;= Low[iLowest(NULL,0,MODE_LOW,0,ChkAshi)])</p>
<p>            {</p>
<p>                <a href="http://googolyenfx.blog18.fc2.com/blog-entry-318.html" target="_blank">OrderClose</a>(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-341.html" target="_blank">OrderTicket</a>(),<a href="http://googolyenfx.blog18.fc2.com/blog-entry-326.html" target="_blank">OrderLots</a>(),Ask,3,Green);</p>
<p>            }</p>
<p>//LossMAで指定したポイントを割ってしまったときにロスカットします。</p>
<p>            if(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-329.html" target="_blank">OrderOpenPrice</a>()+LossMA*Point &lt;= Ask)</p>
<p>            {</p>
<p>                <a href="http://googolyenfx.blog18.fc2.com/blog-entry-318.html" target="_blank">OrderClose</a>(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-341.html" target="_blank">OrderTicket</a>(),<a href="http://googolyenfx.blog18.fc2.com/blog-entry-326.html" target="_blank">OrderLots</a>(),Ask,3,Green);</p>
<p>            }</p>
<p>        }</p>
<p>//買いポジションの場合</p>
<p>//売りポジションと同じことを行います。</p>
<p>//符号の向きが逆なのとAskではなくBidを利用しているところが違います。</p>
<p>        else if(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-342.html" target="_blank">OrderType</a>() == OP_BUY)</p>
<p>        {</p>
<p>            if(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-329.html" target="_blank">OrderOpenPrice</a>()+TakeMA*Point &lt;= Bid &amp;&amp; <a href="http://googolyenfx.blog18.fc2.com/blog-entry-329.html" target="_blank">OrderOpenPrice</a>()+TakeMA*2*Point &lt;= High[iHighest(NULL,0,MODE_HIGH,0,ChkAshi)])</p>
<p>            {</p>
<p>                <a href="http://googolyenfx.blog18.fc2.com/blog-entry-318.html" target="_blank">OrderClose</a>(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-341.html" target="_blank">OrderTicket</a>(),<a href="http://googolyenfx.blog18.fc2.com/blog-entry-326.html" target="_blank">OrderLots</a>(),Bid,3,Green);</p>
<p>            }</p>
<p>            if(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-329.html" target="_blank">OrderOpenPrice</a>()-LossMA*Point &gt;= Bid)</p>
<p>            {</p>
<p>                <a href="http://googolyenfx.blog18.fc2.com/blog-entry-318.html" target="_blank">OrderClose</a>(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-341.html" target="_blank">OrderTicket</a>(),<a href="http://googolyenfx.blog18.fc2.com/blog-entry-326.html" target="_blank">OrderLots</a>(),Bid,3,Green);</p>
<p>            }</p>
<p>        }</p>
<p>    }</p>
<p> </p>
<p>//ポジションを持っていない場合、ポジションを持つかどうか確認します。</p>
<p>    else if(KeepPosition == 0)</p>
<p>    {</p>
<p>//下降トレンドの場合</p>
<p>        if(Ma4 &gt; Ma3 &amp;&amp; Ma3 &gt; Ma2 &amp;&amp; Ma2 &gt; Ma1 &amp;&amp; Ma1 &gt; Ma0)</p>
<p>        {</p>
<p>//Ma4、Ma3、Ma2のクローズが大きくて、Ma1と現在値（Bid）が小さい場合売りポジションを持ちます。</p>
<p>            if(Ma4 &lt; Close[4] &amp;&amp; Ma3 &lt; Close[3] &amp;&amp; Ma2 &lt; Close[2] &amp;&amp; Ma1 &gt; Close[1] &amp;&amp; Ma0 &gt; Bid)</p>
<p>            {</p>
<p>                ticket=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-334.html" target="_blank">OrderSend</a>(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-347.html" target="_blank">Symbol</a>(),OP_SELL,BuyLots,Bid,3,Bid+LossEntry*Point,Bid-TakeEntry*Point,&#8221;MA_EA Sell&#8221;,MagicNo,0,Blue);</p>
<p>                if(ticket==0) <a href="http://googolyenfx.blog18.fc2.com/blog-entry-129.html" target="_blank">Print</a>(&#8221;Error opening SellChk order : &#8220;,<a href="http://googolyenfx.blog18.fc2.com/blog-entry-34.html" target="_blank">GetLastError</a>());</p>
<p>            }</p>
<p>        }</p>
<p>//上昇トレンドの場合</p>
<p>        else if(Ma4 &lt; Ma3 &amp;&amp; Ma3 &lt; Ma2 &amp;&amp; Ma2 &lt; Ma1 &amp;&amp; Ma1 &lt; Ma0)</p>
<p>        {</p>
<p>//Ma4、Ma3、Ma2のクローズが小さくて、Ma1と現在値（Bid）が小さい場合買いポジションを持ちます。</p>
<p>            if(Ma4 &gt; Close[4] &amp;&amp; Ma3 &gt; Close[3] &amp;&amp; Ma2 &gt; Close[2] &amp;&amp; Ma1 &lt; Close[1] &amp;&amp; Ma0 &lt; Ask)</p>
<p>            {</p>
<p>                ticket=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-334.html" target="_blank">OrderSend</a>(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-347.html" target="_blank">Symbol</a>(),OP_BUY,BuyLots,Ask,3,Ask-LossEntry*Point,Ask+TakeEntry*Point,&#8221;MA_EA Buy&#8221;,MagicNo,0,Red);</p>
<p>                if(ticket==0) <a href="http://googolyenfx.blog18.fc2.com/blog-entry-129.html" target="_blank">Print</a>(&#8221;Error opening BuyChk order : &#8220;,<a href="http://googolyenfx.blog18.fc2.com/blog-entry-34.html" target="_blank">GetLastErro</a>r());</p>
<p>            }</p>
<p>        } </p>
<p>    }</p>
<p> </p>
<p>   return(0);</p>
<p>  }</p>
<p> </p>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-333.html" target="_blank">OrderSelect</a>で、選択しているオーダーはOrder???関数で値を取得することができます。</p>
<p>Low[iLowest(NULL,0,MODE_LOW,0,ChkAshi)、High[iHighest(NULL,0,MODE_HIGH,0,ChkAshi)]は、オーダーしてからの最安値、最高値を求めています。</p>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-334.html" target="_blank">OrderSend</a>は売買注文を行う関数で、成行、IFD、OCOなどのオーダーを組み合わせて注文することができます。</p>
<p>今回の例では、成行＋OCO注文を行っています。</p>
<p>また、ticketが0の場合は注文失敗で、<a href="http://googolyenfx.blog18.fc2.com/blog-entry-34.html" target="_blank">GetLastError</a>を利用してエラー番号を取得しています。</p>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-129.html" target="_blank">Print</a>は、操作履歴に結果を出力する関数です。</p>
<p>操作を残したいときに利用すると便利です。</p>
<div>次は、バックテストのやり方を説明したいと思います。</div>
<p> </p>
<p> </p>
<div>
<p>今回のプログラムは、以下からダウンロードできます。</p>
<p><a href="http://download-center.metatraderfx.net/metatraderfx/ma_ea/" target="_blank">ここから、ダウンロード</a></p>
<p> </p>
<p>EA（自動売買）は、</p>
<p>インストールパス\MetaTrader\experts</p>
<p>に入れてください。</p>
<p> </p></div>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/ea%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/ea%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/" />
	</item>
		<item>
		<title>かるく文法（省略記号編）</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88%e7%9c%81%e7%95%a5%e8%a8%98%e5%8f%b7%e7%b7%a8%ef%bc%89/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88%e7%9c%81%e7%95%a5%e8%a8%98%e5%8f%b7%e7%b7%a8%ef%bc%89/#comments</comments>
		<pubDate>Mon, 11 May 2009 01:06:50 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[MQL4]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[文法]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=204</guid>
		<description><![CDATA[質問があったので、MQL４で有効な四則演算での省略記号の説明を追加します。
 
省略記号編
 
符号（＋－）を２回繰り返すことで、１足したり、引いたりすることと同じになります。
i++;
→　i=i+1;
i&#8211;;
→　i=i-1;
 
複数の足し引きをしたい場合
i+=2;
→　i=1+2;
i-=3;
→　i=i-3;
 
このように同じ数の足し引きには、便利ですので覚えておくといいでしょう。
また、サンプルでもよく使われますので、意味を覚えておいてください。
 
ちなみに
i-;
では、通常の引き算としてあつかわれるので、iから右辺のものを引こうとしますが右辺が無いためエラーになります。
また、
i-1;
では、計算結果が左辺に出力されますが、結果を受け取ることができません。
 
省略記号以外は、
代入先の変数=計算式;
と記述してください。
 
if文などは、()内の変数を利用するため、代入先の変数を用意する必要はありません。
if(a==1)
は、
a==1の計算結果が、trueかfalseになり、その値が引数としてif文にわたされるので、代入先の変数は必要ありません。
関数の説明は、後ほど行います。
]]></description>
			<content:encoded><![CDATA[<p>質問があったので、MQL４で有効な四則演算での省略記号の説明を追加します。</p>
<p> </p>
<p><strong><em><span style="text-decoration: underline;">省略記号編</span></em></strong></p>
<p> </p>
<p>符号（＋－）を２回繰り返すことで、１足したり、引いたりすることと同じになります。</p>
<p>i++;</p>
<p>→　i=i+1;</p>
<p>i&#8211;;</p>
<p>→　i=i-1;</p>
<p> </p>
<p>複数の足し引きをしたい場合</p>
<p>i+=2;</p>
<p>→　i=1+2;</p>
<p>i-=3;</p>
<p>→　i=i-3;</p>
<p> </p>
<p>このように同じ数の足し引きには、便利ですので覚えておくといいでしょう。</p>
<p>また、サンプルでもよく使われますので、意味を覚えておいてください。</p>
<p> </p>
<p>ちなみに</p>
<p>i-;</p>
<p>では、通常の引き算としてあつかわれるので、iから右辺のものを引こうとしますが右辺が無いためエラーになります。</p>
<p>また、</p>
<p>i-1;</p>
<p>では、計算結果が左辺に出力されますが、結果を受け取ることができません。</p>
<p> </p>
<p>省略記号以外は、</p>
<p>代入先の変数=計算式;</p>
<p>と記述してください。</p>
<p> </p>
<p>if文などは、()内の変数を利用するため、代入先の変数を用意する必要はありません。</p>
<p>if(a==1)</p>
<p>は、</p>
<p>a==1の計算結果が、trueかfalseになり、その値が引数としてif文にわたされるので、代入先の変数は必要ありません。</p>
<p>関数の説明は、後ほど行います。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88%e7%9c%81%e7%95%a5%e8%a8%98%e5%8f%b7%e7%b7%a8%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88%e7%9c%81%e7%95%a5%e8%a8%98%e5%8f%b7%e7%b7%a8%ef%bc%89/" />
	</item>
		<item>
		<title>トレンドラインを書いてみる２</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%83%88%e3%83%ac%e3%83%b3%e3%83%89%e3%83%a9%e3%82%a4%e3%83%b3%e3%82%92%e6%9b%b8%e3%81%84%e3%81%a6%e3%81%bf%e3%82%8b%ef%bc%92/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%83%88%e3%83%ac%e3%83%b3%e3%83%89%e3%83%a9%e3%82%a4%e3%83%b3%e3%82%92%e6%9b%b8%e3%81%84%e3%81%a6%e3%81%bf%e3%82%8b%ef%bc%92/#comments</comments>
		<pubDate>Sat, 09 May 2009 09:51:18 +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>

		<guid isPermaLink="false">http://metatraderfx.net/?p=192</guid>
		<description><![CDATA[前回紹介した、トレンドラインを書いてみるはご覧になりましたか？
MT４でも手動で書くことができますが、やっぱり自動が楽ですよね。
 
でも、ちゃんと動くと思いますが、実はあまりいいプログラムではありません。
ちゃんと動く＝いいプログラム
ではないということです。
 
では、何が悪いか。。。
 
ソースを見た時点で、だめだめジャン！！
って思った人は、プロかセミプロレベルの人ですね。
 
では、どこがダメなんでしょうか？
 
まず、for文でループを回している部分がありますよね。
ここが、ダメです。
for文じゃなくて、while文を使うってわけじゃありません。
基本的にループをまわすには、どちらを使ってもかまいません。
使いやすい方を使ってください。
 
では、ダメな部分。
調査する足の最大数からカウントダウンしてますよね。
古い方から新しい方へ調査しています。
 
別に古い方から新しい方へループをまわすことが悪いんじゃないんですが、今回はダメです。
実際に動かすと、トレンドラインを引く山や谷を見つけるのに、新しい方から数十本の足ですんでいますよね。
ということは、無駄なループをたくさん回しているということになります。
 
ループは、結構PCに負担なんです。
為替は、生き物ですから１秒でも無駄にしたくありませんよね。
だから、無駄を省く必要があります。
 
ですから、正解は新しい方から古い方にループを回して、必要な山や谷を見つけたらループを抜けるように組めばいいんです。
「break」という命令で、ループを抜けることができます。
 
もう一つあります。
ループの中で余分な変数に代入して、ループを抜けた後に上昇・下降か判断している部分があります。
ループ内で、判断すれば無駄が省けますよね。
 
プログラムは、動くことも大事ですがこうした無駄を省くように心がけると結果的に高速に動いたり、見やすいソースになります。
ぜひ、自分で組むときは心がけてください。
 
次は、もう一度トレンドラインを引くインジケーターを作ります。
上記で説明した、ダメな部分の修正ともう一つ。
表示してみると分かりますが、最新の１本だけだとトレードに使えません。
少なくても３本ぐらいないと、トレードの参考にならないはずです。
ですから、１本のトレンドラインから３本に増やします。
 
次回をお楽しみに！
]]></description>
			<content:encoded><![CDATA[<p>前回紹介した、<a href="http://metatraderfx.net/metatrader-beginner/%e3%83%88%e3%83%ac%e3%83%b3%e3%83%89%e3%83%a9%e3%82%a4%e3%83%b3%e3%82%92%e6%9b%b8%e3%81%84%e3%81%a6%e3%81%bf%e3%82%8b/" target="_blank">トレンドラインを書いてみる</a>はご覧になりましたか？</p>
<p>MT４でも手動で書くことができますが、やっぱり自動が楽ですよね。</p>
<p> </p>
<p>でも、ちゃんと動くと思いますが、実はあまりいいプログラムではありません。</p>
<p>ちゃんと動く＝いいプログラム</p>
<p>ではないということです。</p>
<p> </p>
<p>では、何が悪いか。。。</p>
<p> </p>
<p>ソースを見た時点で、だめだめジャン！！</p>
<p>って思った人は、プロかセミプロレベルの人ですね。</p>
<p> </p>
<p>では、どこがダメなんでしょうか？</p>
<p> </p>
<p>まず、for文でループを回している部分がありますよね。</p>
<p>ここが、ダメです。</p>
<p>for文じゃなくて、while文を使うってわけじゃありません。</p>
<p>基本的にループをまわすには、どちらを使ってもかまいません。</p>
<p>使いやすい方を使ってください。</p>
<p> </p>
<p>では、ダメな部分。</p>
<p>調査する足の最大数からカウントダウンしてますよね。</p>
<p>古い方から新しい方へ調査しています。</p>
<p> </p>
<p>別に古い方から新しい方へループをまわすことが悪いんじゃないんですが、今回はダメです。</p>
<p>実際に動かすと、トレンドラインを引く山や谷を見つけるのに、新しい方から数十本の足ですんでいますよね。</p>
<p>ということは、無駄なループをたくさん回しているということになります。</p>
<p> </p>
<p>ループは、結構PCに負担なんです。</p>
<p>為替は、生き物ですから１秒でも無駄にしたくありませんよね。</p>
<p>だから、無駄を省く必要があります。</p>
<p> </p>
<p>ですから、正解は新しい方から古い方にループを回して、必要な山や谷を見つけたらループを抜けるように組めばいいんです。</p>
<p>「break」という命令で、ループを抜けることができます。</p>
<p> </p>
<p>もう一つあります。</p>
<p>ループの中で余分な変数に代入して、ループを抜けた後に上昇・下降か判断している部分があります。</p>
<p>ループ内で、判断すれば無駄が省けますよね。</p>
<p> </p>
<p>プログラムは、動くことも大事ですがこうした無駄を省くように心がけると結果的に高速に動いたり、見やすいソースになります。</p>
<p>ぜひ、自分で組むときは心がけてください。</p>
<p> </p>
<p>次は、もう一度トレンドラインを引くインジケーターを作ります。</p>
<p>上記で説明した、ダメな部分の修正ともう一つ。</p>
<p>表示してみると分かりますが、最新の１本だけだとトレードに使えません。</p>
<p>少なくても３本ぐらいないと、トレードの参考にならないはずです。</p>
<p>ですから、１本のトレンドラインから３本に増やします。</p>
<p> </p>
<p>次回をお楽しみに！</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%83%88%e3%83%ac%e3%83%b3%e3%83%89%e3%83%a9%e3%82%a4%e3%83%b3%e3%82%92%e6%9b%b8%e3%81%84%e3%81%a6%e3%81%bf%e3%82%8b%ef%bc%92/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%83%88%e3%83%ac%e3%83%b3%e3%83%89%e3%83%a9%e3%82%a4%e3%83%b3%e3%82%92%e6%9b%b8%e3%81%84%e3%81%a6%e3%81%bf%e3%82%8b%ef%bc%92/" />
	</item>
		<item>
		<title>トレンドラインを書いてみる</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%83%88%e3%83%ac%e3%83%b3%e3%83%89%e3%83%a9%e3%82%a4%e3%83%b3%e3%82%92%e6%9b%b8%e3%81%84%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%83%88%e3%83%ac%e3%83%b3%e3%83%89%e3%83%a9%e3%82%a4%e3%83%b3%e3%82%92%e6%9b%b8%e3%81%84%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Fri, 08 May 2009 22:33:14 +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>

		<guid isPermaLink="false">http://metatraderfx.net/?p=174</guid>
		<description><![CDATA[前回は、インジケーターを作ってみるで足に対応したバッファに代入することで、メタトレーダーの機能を使いグラフを自動的に描画方法を試してみました。
今回は、オブジェクトという機能を使い好きな場所に線や文字などを描画する方法を試してみます。
 
で、単純に線を書いてもおもしろくないのでトレンドラインを書いてみたいと思います。
 
トレンドとは、上下に動きながら移動している為替も平均してみると上昇していたり、下降しているときがあります。
こうした状態をトレンド相場と呼びます。
平均した線が横ばいの場合は、レンジ相場と呼びます。
 
為替は、上昇トレンド、下降トレンド、レンジ相場の３種類のどれかの状態になっています。
 
このトレンドを表す線をトレンドラインと呼びます。
上昇トレンドラインは、上下に動いている山の高値と高値を結んだ線。
下降トレンドラインは、谷の安値と安値を結んだ線のことをいいます。
 
このトレンドラインをインジケーターの機能を使って、描画したいと思います。
 
インジケーターを作ってみるを参考にスケルトンを作ります。
Nameを「TrendLine」。
その他は、何も入力しません。
 
まずは、TrendLineのスケルトンを作成してください。
 
まず、前半の宣言部分を作成します。
//メインウィンドウに描画します。
#property indicator_chart_window
//山と谷を見つける幅をパラメータとして指定します。
extern int nPeriod=9;
//先頭から何本まで山、谷を見つけるかパラメータとして指定します。
extern int Limit=350;
 
次は、初期化処理です。
int init()
{
//下降トレンドライン０番目のオブジェクトを作ります。
    ObjectCreate(&#8221;Trend DN-0&#8243;,OBJ_TREND,0,0,0,0,0);
//下降トレンドライン０番目のオブジェクトの色を指定します。
    ObjectSet(&#8221;Trend DN-0&#8243;,OBJPROP_COLOR,Maroon);
 
//上昇トレンド０番目のラインオブジェクトを作成します。
    ObjectCreate(&#8221;Trend UP-0&#8243;,OBJ_TREND,0,0,0,0,0);
    ObjectSet(&#8221;Trend UP-0&#8243;,OBJPROP_COLOR,Green);
 
   return(0);
}
上昇、下降用のトレンドラインを引くためのオブジェクトを用意しました。
次は、終了処理です。

int deinit()
{
//オブジェクトを削除します。
    ObjectDelete(&#8221;Trend UP-0&#8243;);
    ObjectDelete(&#8221;Trend DN-0&#8243;);
   return(0);
}
 
インジケータを削除したときに、オブジェクトが残ってしまいます。
そのために、インジケータ終了時に自分が作ったオブジェクトを削除する処理を追加します。
次は、トレンドラインを描画するための山、谷を見つけラインを引く処理です。

 
int start()
{
//山、谷の値と足番号を格納する変数と描画する値を格納する変数を宣言します。
    double r1,r2,r3,r_1,r_2;
    int rt1,rt2,rt3,rt_1,rt_2;
    double s1,s2,s3,s_1,s_2;
    int st1,st2,st3,st_1,st_2;
    int nCurBar=0;
 
//表示されている足の数が、Limitより小さい場合、nPeriod引いた値をセットします。
//検査用の領域を確保するためです。
    if(Bars&#60;Limit) Limit=Bars-nPeriod;
 
//検査する足を古い方からセットしていきます。
    for(nCurBar=Limit; nCurBar&#62;0; nCurBar&#8211;)
    {
 
//検査する足の数の中心の安値が、検査する足の範囲で最小の安値の場合
//最新の安値をs1に代入します。
//S1を代入する前に過去の安値をS3、S2と古い変数へスライドさせて格納します。
        if(Low[nCurBar+(nPeriod-1)/2] == Low[iLowest(NULL,0,MODE_LOW,nPeriod,nCurBar)])
        {
            s3=s2; s2=s1; s1=Low[nCurBar+(nPeriod-1)/2];
     [...]]]></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%83%bc%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b%e3%80%82/" target="_blank">インジケーターを作ってみる</a>で足に対応したバッファに代入することで、メタトレーダーの機能を使いグラフを自動的に描画方法を試してみました。</p>
<p>今回は、オブジェクトという機能を使い好きな場所に線や文字などを描画する方法を試してみます。</p>
<p> </p>
<p>で、単純に線を書いてもおもしろくないのでトレンドラインを書いてみたいと思います。</p>
<p> </p>
<p>トレンドとは、上下に動きながら移動している為替も平均してみると上昇していたり、下降しているときがあります。</p>
<p>こうした状態をトレンド相場と呼びます。</p>
<p>平均した線が横ばいの場合は、レンジ相場と呼びます。</p>
<p> </p>
<p>為替は、上昇トレンド、下降トレンド、レンジ相場の３種類のどれかの状態になっています。</p>
<p> </p>
<p>このトレンドを表す線をトレンドラインと呼びます。</p>
<p>上昇トレンドラインは、上下に動いている山の高値と高値を結んだ線。</p>
<p>下降トレンドラインは、谷の安値と安値を結んだ線のことをいいます。</p>
<p> </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%83%bc%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b%e3%80%82/" target="_blank">インジケーターを作ってみる</a>を参考にスケルトンを作ります。</p>
<p>Nameを「TrendLine」。</p>
<p>その他は、何も入力しません。</p>
<p> </p>
<p>まずは、TrendLineのスケルトンを作成してください。</p>
<p> </p>
<p>まず、前半の宣言部分を作成します。</p>
<p>//メインウィンドウに描画します。</p>
<p>#property indicator_chart_window</p>
<p>//山と谷を見つける幅をパラメータとして指定します。</p>
<p>extern int nPeriod=9;</p>
<p>//先頭から何本まで山、谷を見つけるかパラメータとして指定します。</p>
<p>extern int Limit=350;</p>
<p> </p>
<p>次は、初期化処理です。</p>
<p>int init()</p>
<p>{</p>
<p>//下降トレンドライン０番目のオブジェクトを作ります。</p>
<p>    <a href="http://googolyenfx.blog18.fc2.com/blog-entry-291.html" target="_blank">ObjectCreate</a>(&#8221;Trend DN-0&#8243;,OBJ_TREND,0,0,0,0,0);</p>
<p>//下降トレンドライン０番目のオブジェクトの色を指定します。</p>
<p>    <a href="http://googolyenfx.blog18.fc2.com/blog-entry-302.html" target="_blank">ObjectSet</a>(&#8221;Trend DN-0&#8243;,OBJPROP_COLOR,Maroon);</p>
<p> </p>
<p>//上昇トレンド０番目のラインオブジェクトを作成します。</p>
<p>    <a href="http://googolyenfx.blog18.fc2.com/blog-entry-291.html" target="_blank">ObjectCreate</a>(&#8221;Trend UP-0&#8243;,OBJ_TREND,0,0,0,0,0);</p>
<p>    <a href="http://googolyenfx.blog18.fc2.com/blog-entry-302.html" target="_blank">ObjectSet</a>(&#8221;Trend UP-0&#8243;,OBJPROP_COLOR,Green);</p>
<p> </p>
<p>   return(0);</p>
<p>}</p>
<p>上昇、下降用のトレンドラインを引くためのオブジェクトを用意しました。</p>
<p>次は、終了処理です。</p>
<div>
<div>int deinit()</div>
<div>{</div>
<div>//オブジェクトを削除します。</div>
<div>    <a href="http://googolyenfx.blog18.fc2.com/blog-entry-292.html" target="_blank">ObjectDelete</a>(&#8221;Trend UP-0&#8243;);</div>
<div>    <a href="http://googolyenfx.blog18.fc2.com/blog-entry-292.html" target="_blank">ObjectDelete</a>(&#8221;Trend DN-0&#8243;);</div>
<div>   return(0);</div>
<div>}</div>
<p> </p></div>
<p>インジケータを削除したときに、オブジェクトが残ってしまいます。</p>
<p>そのために、インジケータ終了時に自分が作ったオブジェクトを削除する処理を追加します。</p>
<p>次は、トレンドラインを描画するための山、谷を見つけラインを引く処理です。</p>
<div>
<p> </p>
<div>int start()</div>
<div>{</div>
<p>//山、谷の値と足番号を格納する変数と描画する値を格納する変数を宣言します。</p>
<div>    double r1,r2,r3,r_1,r_2;</div>
<div>    int rt1,rt2,rt3,rt_1,rt_2;</div>
<div>    double s1,s2,s3,s_1,s_2;</div>
<div>    int st1,st2,st3,st_1,st_2;</div>
<div>    int nCurBar=0;</div>
<p> </p>
<div>//表示されている足の数が、Limitより小さい場合、nPeriod引いた値をセットします。</div>
<div>//検査用の領域を確保するためです。</div>
<div>    if(Bars&lt;Limit) Limit=Bars-nPeriod;</div>
<p> </p>
<div>//検査する足を古い方からセットしていきます。</div>
<div>    for(nCurBar=Limit; nCurBar&gt;0; nCurBar&#8211;)</div>
<div>    {</div>
<p> </p>
<div>//検査する足の数の中心の安値が、検査する足の範囲で最小の安値の場合</div>
<div>//最新の安値をs1に代入します。</div>
<div>//S1を代入する前に過去の安値をS3、S2と古い変数へスライドさせて格納します。</div>
<div>        if(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-234.html" target="_blank">Low</a>[nCurBar+(nPeriod-1)/2] == <a href="http://googolyenfx.blog18.fc2.com/blog-entry-234.html" target="_blank">Low</a>[<a href="http://googolyenfx.blog18.fc2.com/blog-entry-224.html" target="_blank">iLowest(</a>NULL,0,MODE_LOW,nPeriod,nCurBar)])</div>
<div>        {</div>
<div>            s3=s2; s2=s1; s1=Low[nCurBar+(nPeriod-1)/2];</div>
<div>            st3=st2; st2=st1; st1=nCurBar+(nPeriod-1)/2;</div>
<div>        }</div>
<p> </p>
<div>//安値と同様に高値を変数へ代入します。</div>
<div>        if(<a href="http://googolyenfx.blog18.fc2.com/blog-entry-233.html" target="_blank">High</a>[nCurBar+(nPeriod-1)/2] ==<a href="http://googolyenfx.blog18.fc2.com/blog-entry-233.html" target="_blank"> High</a>[<a href="http://googolyenfx.blog18.fc2.com/blog-entry-222.html" target="_blank">iHighest</a>(NULL,0,MODE_HIGH,nPeriod,nCurBar)])</div>
<div>        {</div>
<div>            r3=r2; r2=r1; r1=High[nCurBar+(nPeriod-1)/2];</div>
<div>            rt3=rt2; rt2=rt1; rt1=nCurBar+(nPeriod-1)/2;</div>
<div>        }</div>
<div>    }</div>
<p> </p>
<div>//2つの安値を比べたときに最新の安値が下降している場合のみ描画します。</div>
<div>//そのために各谷の安値を比較して、下降している隣接している谷を見つけます。</div>
<div>//もし、存在しない場合はデフォルトでEMPTY_VALUEがセットされているため、描画されません。</div>
<div>    if(s1 &lt; s2){</div>
<div>        s_1=s1;</div>
<div>        s_2=s2;</div>
<div>        st_1=st1;</div>
<div>        st_2=st2;</div>
<div>    }</div>
<div>    else if(s2 &lt; s3){</div>
<div>        s_1=s2;</div>
<div>        s_2=s3;</div>
<div>        st_1=st2;</div>
<div>        st_2=st3;</div>
<div>    }</div>
<p> </p>
<div>//描画開始位置と次の点を設定します。</div>
<div>    <a href="http://googolyenfx.blog18.fc2.com/blog-entry-299.html" target="_blank">ObjectMove</a>(&#8221;Trend DN-0&#8243;,1,Time[st_1],s_1);</div>
<div>    <a href="http://googolyenfx.blog18.fc2.com/blog-entry-299.html" target="_blank">ObjectMove</a>(&#8221;Trend DN-0&#8243;,0,Time[st_2],s_2);</div>
<div>//上昇トレンドラインも下降トレンドラインと同様にセットします。</div>
<div>    if(r1 &gt; r2){</div>
<div>        r_1=r1;</div>
<div>        r_2=r2;</div>
<div>        rt_1=rt1;</div>
<div>        rt_2=rt2;</div>
<div>    }</div>
<div>    else if(r2 &gt; r3){</div>
<div>        r_1=r2;</div>
<div>        r_2=r3;</div>
<div>        rt_1=rt2;</div>
<div>        rt_2=rt3;</div>
<div>    }</div>
<div>    <a href="http://googolyenfx.blog18.fc2.com/blog-entry-299.html" target="_blank">ObjectMove</a>(&#8221;Trend UP-0&#8243;,1,Time[rt_1],r_1);</div>
<div>    <a href="http://googolyenfx.blog18.fc2.com/blog-entry-299.html" target="_blank">ObjectMove</a>(&#8221;Trend UP-0&#8243;,0,Time[rt_2],r_2);</div>
<div>   return(0);</div>
<div>}</div>
</div>
<p> </p>
<p>これで、終了です。</p>
<p>コンパイルして、インジケータを表示させてみてください。</p>
<p>以下のようにトレンドラインが表示されれば成功です。</p>
<div>
<div id="attachment_177" class="wp-caption aligncenter" style="width: 310px"><a href="http://metatraderfx.net/wp-content/uploads/2009/05/trendline.jpg"><img class="size-medium wp-image-177" title="trendline" src="http://metatraderfx.net/wp-content/uploads/2009/05/trendline-300x152.jpg" alt="TrendLineインジケーター" width="300" height="152" /></a><p class="wp-caption-text">TrendLineインジケーター</p></div>
</div>
<p>ちょっとは、らしいものができたのではないでしょうか？</p>
<p>少しずつレベルをアップしていきますね。</p>
<p> </p>
<p>今回のプログラムは、以下からダウンロードできます。</p>
<p><a href="http://download-center.metatraderfx.net/indicator/trendline/" target="_blank">ここから、ダウンロード</a></p>
<p> </p>
<p>インジケータは、</p>
<p>インストールパス\MetaTrader\experts\indicators</p>
<p>に入れてください。</p>
<p> </p>
<p><span id="more-174"></span></p>
<p><strong><span style="text-decoration: underline;"><span style="color: #ff0000;"><a href="http://metatraderfx.net/wp-content/uploads/2009/05/icon-check08.gif"><img class="alignleft size-full wp-image-200" title="icon-check08" src="http://metatraderfx.net/wp-content/uploads/2009/05/icon-check08.gif" alt="icon-check08" width="60" height="34" /></a>2009/05/09　２３：４５　修正</span></span></strong></p>
<p>初回投稿時に、古い関数を利用したソースを紹介してしまいました。</p>
<p>機能的には、問題ありませんが最新の関数を利用するように修正を行いました。</p>
<p>ダウンロードしたファイルも同様です。</p>
<p>修正時刻以前にダウンロードした方で気になる方は、再ダウンロードしてください。</p>
<p> </p>
<p>修正点は、</p>
<p><span style="color: #ff00ff;">Lowest</span>　→　<span style="color: #00ff00;"><strong>iLowest</strong></span></p>
<p><span style="color: #ff00ff;">Highest</span>　→　<span style="color: #00ff00;"><strong>iHighest</strong></span></p>
<p><strong>機能や引数に変更はありません。</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%83%88%e3%83%ac%e3%83%b3%e3%83%89%e3%83%a9%e3%82%a4%e3%83%b3%e3%82%92%e6%9b%b8%e3%81%84%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%83%88%e3%83%ac%e3%83%b3%e3%83%89%e3%83%a9%e3%82%a4%e3%83%b3%e3%82%92%e6%9b%b8%e3%81%84%e3%81%a6%e3%81%bf%e3%82%8b/" />
	</item>
		<item>
		<title>FXのしくみ</title>
		<link>http://metatraderfx.net/metatrader-beginner/fx%e3%81%ae%e3%81%97%e3%81%8f%e3%81%bf/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/fx%e3%81%ae%e3%81%97%e3%81%8f%e3%81%bf/#comments</comments>
		<pubDate>Fri, 08 May 2009 14:10:46 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[FXについて]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[FXとは]]></category>
		<category><![CDATA[入門]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=167</guid>
		<description><![CDATA[FXは、外国為替証拠金取引と日本語で言います。
 
まあ、難しく考えてもしょうがないので、簡単に説明すると外国通貨どうしで、お金をやりとりするだけです。
 
たとえば、オークションでものを売ることを考えます。
1万円で何かを売りたいとします。
買いたい人が多ければ、値が上がり高く売ることができます。
逆に誰もいなければ、値引きをしていく必要があるでしょう。
 
為替も同じで、ほしい人、売りたい人の量によって通貨間の価値が決まります。
 
安いときに買って、高いときに売る。
これが基本的な考え方です。
 
わたしがFXのことを人に説明する例をあげます。
※例ですので実際は違います。
証券会社は、各通貨銀行を持っています。
証券会社と契約した人は、通貨銀行から無担保でお金を借りることができます。
でも、引き出すことはできないで、別の通貨銀行に預けなければいけません。
 
USDJPY（ドル円）で、考えてみます。
 
レートは、１ドル１００円とします。
円通貨銀行から、１００万円借ります。
１００万円を元に１万ドルに変換し、ドル通貨銀行に預けます。
 
レートが変わらないときに、そのまま元に戻せば損失０ということになりますね。
 
レートが１ドル１０１円になると、１万円の利益。
１ドル９９円になると１万円の損失。
ということになります。
 
これが、為替やりとりの基本でFXの凄いところです。
お金がないのに借りられましたね。
そうなんです。
借りて預ける、預けたものを返すには、お金は必要ないんです。
 
ではなぜ、証券会社にお金を振り込むのでしょうか？
先ほど、レートが１ドル９９円になったとき１万円の損失をだしましたね。
この１万円を保証するためのお金が必要なんです。
 
ようするに、損失を出したときのための保険としてのお金が必要なんです。
 
ただそれだけです。
難しくないですよね。
 
では、どこで証券会社は儲けるのでしょうか？
お金を借りるときに手数料を取っていた時代もありました。
でも、最近は手数料０って会社がたくさんありますよね。
 
では、手数料で儲けることはできないことになります。
 
そこで、スプレッドという仕組みが出てきます。
 
スプレッドとは、１００万円を借り１万ドルを預けるときには発生しません。
１万ドルを円に戻すときに発生します。
１２１証券の場合は、USDJPYの場合１pipsからの変動制となっています。
だいたい、いつもは２pipsぐらいですね。
 
USDJPYの２pipsは、０．０２円（２銭）となります。
で、１万ドルを１ドル１００円のときに戻すと、１００万円×０．０２＝２００円
１００万円－２００円＝９９９８００円
となり、２００円の損失となります。
この２００円が証券会社の利益となります。
 
ということは、１ドル１００円で借りると、１ドル１００．０２円以上のレートにならないと損失が出てしまいますね。
ということで、確実に２銭以上上がれば、いいことになりますね。
 
これで、FXの仕組みが分かりましたね。
 
でも、もう一つ仕組みがあります。
 
１ドル１００円のときに、１００万円借りて１万ドル預けることを「買い」や「ロング」ポジションを持つといいます。
今までの説明と同じですね。
FXは、逆のポジションを持つこともできます。
１万ドル借りて１００万円預ける方法です。
このことを「売り」や「ショート」ポジションを持つといいます。
売りの場合は、買いと逆で１ドル９９円になったときに１万円の利益。
１ドル１０１円になったとき、１万円の損失になります。
 
ですから、円安になりそうなときは買いポジション、円高になりそうなときは売りポジションを持つことになります。
円高、円安はなんか逆のような気もしますが、ドルが基準なので１ドルで換える円が少なくなれば、円高。
多くなれば円安といいます。
 
さて、これでFXの基本的な売買の仕組みを説明しましたが、もう一つ仕組みがあります。
スワップという仕組みです。
 
前半の説明で為替銀行から借りるときに無担保だと説明しましたが、無金利だとはいいませんでした。
そうです。
金利は必要なんです。
お金を借りるには金利を払う必要がありますよね。
逆に預ければ、金利をもらえます。
でも、よーーく考えてください。
 
金利は、どのように決まっていますか？
その国の中央銀行が決めていることが多いと思います。
国によって違うんです。
 
今は、金利差が少なくなりましたが、数年前FXがはやっていたときは、日本の金利はとても安くて、その邦貨の国の金利は日本に比べてかなり高い水準でした。
ですから、USDJPYで買いポジションを持ったときは、１００万円借りたときに払う金利より、１万ドル預ける金利の方が高かったんです。
ですから、１日で１００円なんかついていました。
ポンド円だと２５０円なんてときもありました。
 
これだけもらえるなら、銀行に預けるより断然お得ですよね。
ですから、スワップ狙いの人がたくさんいたんです。
為替も変動しますが、長期的に見れば利益が減る方に動いても必ず、戻ってきます。
ですから、長期的に預けられるなら為替のレートが買ったときより有利な条件のときに売ってしまえば、スワップ＋為替利益でかなりの金額を稼ぐことができたんです。
 
でも、ご存じの通り大幅な円高になってしまい、予想していた保証金の量より為替が動いてしまったために莫大な資産を無くした人がたくさん発生してしまったというわけですね。
 
FXは投資ですから、確実に損をすることがあります。
その損失を抑えるためのリスク管理が重要な点ですね。
 

いくら損を出していいか。
損を怖がらずに出すことができるか。

 
が、利益を上げるために必要なことになります。
現在のスワップでは、ほとんど儲けることはできません。
ですから、スワップを気にする必要はほとんどありません。
 
逆にスワップが気になるほど、長期のポジションをキープするより、最長でも数日のトレードをおすすめします。
１日に平均して１円以上の上下の変動があります。
だったら、数日で１円儲けるより、１日に細かくトレードすることで儲けた方が合理的だと思いませんか？
 
でも、トレードする時間がない！！
という人のために自動売買の仕組みがあります。
私も時間がないので、自動売買に真剣に取り組んでいるわけです。
]]></description>
			<content:encoded><![CDATA[<p>FXは、外国為替証拠金取引と日本語で言います。</p>
<p> </p>
<p>まあ、難しく考えてもしょうがないので、簡単に説明すると外国通貨どうしで、お金をやりとりするだけです。</p>
<p> </p>
<p>たとえば、オークションでものを売ることを考えます。</p>
<p>1万円で何かを売りたいとします。</p>
<p>買いたい人が多ければ、値が上がり高く売ることができます。</p>
<p>逆に誰もいなければ、値引きをしていく必要があるでしょう。</p>
<p> </p>
<p>為替も同じで、ほしい人、売りたい人の量によって通貨間の価値が決まります。</p>
<p> </p>
<p>安いときに買って、高いときに売る。</p>
<p>これが基本的な考え方です。</p>
<p> </p>
<p>わたしがFXのことを人に説明する例をあげます。</p>
<p><strong><span style="text-decoration: underline;"><span style="color: #ff0000;">※例ですので実際は違います。</span></span></strong></p>
<p>証券会社は、各通貨銀行を持っています。</p>
<p>証券会社と契約した人は、通貨銀行から無担保でお金を借りることができます。</p>
<p>でも、引き出すことはできないで、別の通貨銀行に預けなければいけません。</p>
<p> </p>
<p>USDJPY（ドル円）で、考えてみます。</p>
<p> </p>
<p>レートは、１ドル１００円とします。</p>
<p>円通貨銀行から、１００万円借ります。</p>
<p>１００万円を元に１万ドルに変換し、ドル通貨銀行に預けます。</p>
<p> </p>
<p>レートが変わらないときに、そのまま元に戻せば損失０ということになりますね。</p>
<p> </p>
<p>レートが１ドル１０１円になると、１万円の利益。</p>
<p>１ドル９９円になると１万円の損失。</p>
<p>ということになります。</p>
<p> </p>
<p>これが、為替やりとりの基本でFXの凄いところです。</p>
<p>お金がないのに借りられましたね。</p>
<p>そうなんです。</p>
<p>借りて預ける、預けたものを返すには、お金は必要ないんです。</p>
<p> </p>
<p>ではなぜ、証券会社にお金を振り込むのでしょうか？</p>
<p>先ほど、レートが１ドル９９円になったとき１万円の損失をだしましたね。</p>
<p>この１万円を保証するためのお金が必要なんです。</p>
<p> </p>
<p>ようするに、損失を出したときのための<strong>保険としてのお金</strong>が必要なんです。</p>
<p> </p>
<p>ただそれだけです。</p>
<p>難しくないですよね。</p>
<p> </p>
<p>では、どこで証券会社は儲けるのでしょうか？</p>
<p>お金を借りるときに手数料を取っていた時代もありました。</p>
<p>でも、最近は手数料０って会社がたくさんありますよね。</p>
<p> </p>
<p>では、手数料で儲けることはできないことになります。</p>
<p> </p>
<p>そこで、<strong>スプレッド</strong>という仕組みが出てきます。</p>
<p> </p>
<p>スプレッドとは、１００万円を借り１万ドルを預けるときには発生しません。</p>
<p>１万ドルを円に戻すときに発生します。</p>
<p><a href="http://px.a8.net/svt/ejp?a8mat=1HPN4D+4EYTM2+1K86+62U37" target="_blank">１２１証券</a>の場合は、USDJPYの場合１pipsからの変動制となっています。</p>
<p>だいたい、いつもは２pipsぐらいですね。</p>
<p> </p>
<p>USDJPYの２pipsは、０．０２円（２銭）となります。</p>
<p>で、１万ドルを１ドル１００円のときに戻すと、１００万円×０．０２＝２００円</p>
<p>１００万円－２００円＝９９９８００円</p>
<p>となり、２００円の損失となります。</p>
<p>この２００円が証券会社の利益となります。</p>
<p> </p>
<p>ということは、１ドル１００円で借りると、１ドル１００．０２円以上のレートにならないと損失が出てしまいますね。</p>
<p>ということで、確実に２銭以上上がれば、いいことになりますね。</p>
<p> </p>
<p>これで、FXの仕組みが分かりましたね。</p>
<p> </p>
<p>でも、もう一つ仕組みがあります。</p>
<p> </p>
<p>１ドル１００円のときに、１００万円借りて１万ドル預けることを「<strong>買い</strong>」や「ロング」ポジションを持つといいます。</p>
<p>今までの説明と同じですね。</p>
<p>FXは、逆のポジションを持つこともできます。</p>
<p>１万ドル借りて１００万円預ける方法です。</p>
<p>このことを「<strong>売り</strong>」や「ショート」ポジションを持つといいます。</p>
<p>売りの場合は、買いと逆で１ドル９９円になったときに１万円の利益。</p>
<p>１ドル１０１円になったとき、１万円の損失になります。</p>
<p> </p>
<p>ですから、円安になりそうなときは買いポジション、円高になりそうなときは売りポジションを持つことになります。</p>
<p>円高、円安はなんか逆のような気もしますが、ドルが基準なので１ドルで換える円が少なくなれば、円高。</p>
<p>多くなれば円安といいます。</p>
<p> </p>
<p>さて、これでFXの基本的な売買の仕組みを説明しましたが、もう一つ仕組みがあります。</p>
<p><strong><span style="text-decoration: underline;">スワップ</span></strong>という仕組みです。</p>
<p> </p>
<p>前半の説明で為替銀行から借りるときに無担保だと説明しましたが、無金利だとはいいませんでした。</p>
<p>そうです。</p>
<p>金利は必要なんです。</p>
<p>お金を借りるには金利を払う必要がありますよね。</p>
<p>逆に預ければ、金利をもらえます。</p>
<p>でも、よーーく考えてください。</p>
<p> </p>
<p>金利は、どのように決まっていますか？</p>
<p>その国の中央銀行が決めていることが多いと思います。</p>
<p>国によって違うんです。</p>
<p> </p>
<p>今は、金利差が少なくなりましたが、数年前FXがはやっていたときは、日本の金利はとても安くて、その邦貨の国の金利は日本に比べてかなり高い水準でした。</p>
<p>ですから、USDJPYで買いポジションを持ったときは、１００万円借りたときに払う金利より、１万ドル預ける金利の方が高かったんです。</p>
<p>ですから、１日で１００円なんかついていました。</p>
<p>ポンド円だと２５０円なんてときもありました。</p>
<p> </p>
<p>これだけもらえるなら、銀行に預けるより断然お得ですよね。</p>
<p>ですから、スワップ狙いの人がたくさんいたんです。</p>
<p>為替も変動しますが、長期的に見れば利益が減る方に動いても必ず、戻ってきます。</p>
<p>ですから、長期的に預けられるなら為替のレートが買ったときより有利な条件のときに売ってしまえば、スワップ＋為替利益でかなりの金額を稼ぐことができたんです。</p>
<p> </p>
<p>でも、ご存じの通り大幅な円高になってしまい、予想していた保証金の量より為替が動いてしまったために莫大な資産を無くした人がたくさん発生してしまったというわけですね。</p>
<p> </p>
<p>FXは投資ですから、確実に損をすることがあります。</p>
<p>その損失を抑えるためのリスク管理が重要な点ですね。</p>
<p> </p>
<ul>
<li><strong>いくら損を出していいか。</strong></li>
<li><strong>損を怖がらずに出すことができるか。</strong></li>
</ul>
<p> </p>
<p>が、利益を上げるために必要なことになります。</p>
<p>現在のスワップでは、ほとんど儲けることはできません。</p>
<p>ですから、スワップを気にする必要はほとんどありません。</p>
<p> </p>
<p>逆にスワップが気になるほど、長期のポジションをキープするより、最長でも数日のトレードをおすすめします。</p>
<p>１日に平均して１円以上の上下の変動があります。</p>
<p>だったら、数日で１円儲けるより、１日に細かくトレードすることで儲けた方が合理的だと思いませんか？</p>
<p> </p>
<p>でも、トレードする時間がない！！</p>
<p>という人のために自動売買の仕組みがあります。</p>
<p>私も時間がないので、自動売買に真剣に取り組んでいるわけです。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/fx%e3%81%ae%e3%81%97%e3%81%8f%e3%81%bf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/fx%e3%81%ae%e3%81%97%e3%81%8f%e3%81%bf/" />
	</item>
		<item>
		<title>自動売買の結果を外で確かめる</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e8%87%aa%e5%8b%95%e5%a3%b2%e8%b2%b7%e3%81%ae%e7%b5%90%e6%9e%9c%e3%82%92%e5%a4%96%e3%81%a7%e7%a2%ba%e3%81%8b%e3%82%81%e3%82%8b/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e8%87%aa%e5%8b%95%e5%a3%b2%e8%b2%b7%e3%81%ae%e7%b5%90%e6%9e%9c%e3%82%92%e5%a4%96%e3%81%a7%e7%a2%ba%e3%81%8b%e3%82%81%e3%82%8b/#comments</comments>
		<pubDate>Wed, 06 May 2009 08:50:35 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[MT4]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[設定]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=164</guid>
		<description><![CDATA[FTP接続ができるサーバーを持っていることが条件ですが、口座履歴の内容を見ることができます。
FTP接続ができるサーバーは、無料のものもありますので、探してくださいね。
 
メニューのツール－オプション画面を開き、「Publisher」タブを開きます。
「有効にする」にチェックを入れます。
Account：ログインしているID（１２１証券だと数字）
Refresh every：更新間隔、5分ぐらいがおすすめ
FTP server：FTPサーバー名
FTP path：アップロードしたいパス（そのままでいいなら/）
FTP login：FTPのログインID
FTP password：FTPのパスワード
 
普通は、「Passive mode」にチェックを入れます。
 
これで、設定完了。
「テスト」ボタンを押して、「successfully」ってでていればOK。
 
http://FTPでアップロード予定のパス/statement.htm
で口座履歴の内容を見ることができます。
 
メタトレーダーの口座履歴タブで、右クリックすると期間を指定できます。
この期間で、FTPで送信するファイルも変わるので、長すぎる場合は期間を変えてみると便利です。
 
この設定で、インターネットがつながる環境なら、EAの売買結果が分かることになります。
最近なら、携帯でも可能ですね。
]]></description>
			<content:encoded><![CDATA[<p>FTP接続ができるサーバーを持っていることが条件ですが、口座履歴の内容を見ることができます。</p>
<p>FTP接続ができるサーバーは、無料のものもありますので、探してくださいね。</p>
<p> </p>
<p>メニューのツール－オプション画面を開き、「Publisher」タブを開きます。</p>
<p>「有効にする」にチェックを入れます。</p>
<p>Account：ログインしているID（１２１証券だと数字）</p>
<p>Refresh every：更新間隔、5分ぐらいがおすすめ</p>
<p>FTP server：FTPサーバー名</p>
<p>FTP path：アップロードしたいパス（そのままでいいなら/）</p>
<p>FTP login：FTPのログインID</p>
<p>FTP password：FTPのパスワード</p>
<p> </p>
<p>普通は、「Passive mode」にチェックを入れます。</p>
<p> </p>
<p>これで、設定完了。</p>
<p>「テスト」ボタンを押して、「successfully」ってでていればOK。</p>
<p> </p>
<p>http://FTPでアップロード予定のパス/statement.htm</p>
<p>で口座履歴の内容を見ることができます。</p>
<p> </p>
<p>メタトレーダーの口座履歴タブで、右クリックすると期間を指定できます。</p>
<p>この期間で、FTPで送信するファイルも変わるので、長すぎる場合は期間を変えてみると便利です。</p>
<p> </p>
<p>この設定で、インターネットがつながる環境なら、EAの売買結果が分かることになります。</p>
<p>最近なら、携帯でも可能ですね。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e8%87%aa%e5%8b%95%e5%a3%b2%e8%b2%b7%e3%81%ae%e7%b5%90%e6%9e%9c%e3%82%92%e5%a4%96%e3%81%a7%e7%a2%ba%e3%81%8b%e3%82%81%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e8%87%aa%e5%8b%95%e5%a3%b2%e8%b2%b7%e3%81%ae%e7%b5%90%e6%9e%9c%e3%82%92%e5%a4%96%e3%81%a7%e7%a2%ba%e3%81%8b%e3%82%81%e3%82%8b/" />
	</item>
		<item>
		<title>メタトレーダーでメール送信</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%83%a1%e3%82%bf%e3%83%88%e3%83%ac%e3%83%bc%e3%83%80%e3%83%bc%e3%81%a7%e3%83%a1%e3%83%bc%e3%83%ab%e9%80%81%e4%bf%a1/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%83%a1%e3%82%bf%e3%83%88%e3%83%ac%e3%83%bc%e3%83%80%e3%83%bc%e3%81%a7%e3%83%a1%e3%83%bc%e3%83%ab%e9%80%81%e4%bf%a1/#comments</comments>
		<pubDate>Tue, 05 May 2009 22:38:09 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[MT4]]></category>
		<category><![CDATA[メール送信]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[設定]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=160</guid>
		<description><![CDATA[メタトレーダーでメール送信させる設定を紹介します。
 
でも、対応するEAなどがないと利用できません。
EAなどを作るときは、メール送信も考えて作りましょう。
 
Yahooメールを使った例です。
もちろん、YahooメールはPOP設定などを有効にしてください。
メタトレーダーは、メニューのツール－オプション画面で、
E-メールタブを表示します。
 
そこで、
「有効にする」にチェック
SMTPサーバ：smtp.mail.yahoo.co.jp:587
SMTPログインID：YahooのログインID
SMTPパスワード：Yahooのパスワード
送信元：Yahooのメールアドレス
送信先：送信したいメールアドレス
 
上記の入力したら、「Test」ボタンをおしてメールが飛んでくれば、設定完了です。
]]></description>
			<content:encoded><![CDATA[<p>メタトレーダーでメール送信させる設定を紹介します。</p>
<p> </p>
<p>でも、対応するEAなどがないと利用できません。</p>
<p>EAなどを作るときは、メール送信も考えて作りましょう。</p>
<p> </p>
<p>Yahooメールを使った例です。</p>
<p>もちろん、YahooメールはPOP設定などを有効にしてください。</p>
<p>メタトレーダーは、メニューのツール－オプション画面で、</p>
<p>E-メールタブを表示します。</p>
<p> </p>
<p>そこで、</p>
<p>「有効にする」にチェック</p>
<p>SMTPサーバ：smtp.mail.yahoo.co.jp:587</p>
<p>SMTPログインID：YahooのログインID</p>
<p>SMTPパスワード：Yahooのパスワード</p>
<p>送信元：Yahooのメールアドレス</p>
<p>送信先：送信したいメールアドレス</p>
<p> </p>
<p>上記の入力したら、「Test」ボタンをおしてメールが飛んでくれば、設定完了です。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%83%a1%e3%82%bf%e3%83%88%e3%83%ac%e3%83%bc%e3%83%80%e3%83%bc%e3%81%a7%e3%83%a1%e3%83%bc%e3%83%ab%e9%80%81%e4%bf%a1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%83%a1%e3%82%bf%e3%83%88%e3%83%ac%e3%83%bc%e3%83%80%e3%83%bc%e3%81%a7%e3%83%a1%e3%83%bc%e3%83%ab%e9%80%81%e4%bf%a1/" />
	</item>
		<item>
		<title>Expert Advisor Wizard</title>
		<link>http://metatraderfx.net/metatrader-beginner/expert-advisor-wizard/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/expert-advisor-wizard/#comments</comments>
		<pubDate>Tue, 05 May 2009 21:37:27 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[MQL4]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[入門]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=155</guid>
		<description><![CDATA[Expert Advisor Wizardは、インジケーターを作ってみるでも紹介していますが、MetaEditorでEAやインジケーターを作るときのウィザードです。
 
一応、注意事項というか便利かもという情報を
 
 
ここでは、まあ書いてある内容のものが作れます。
よく使うのは、
Expert AdvisorとCustom Indicatorでしょう。
 
Expert Advisorは、EAとか自動売買とかいわれるものを作成します。
インストールパス\MetaTrader\experts
にソースと実行ファイルができあがります。
ソースの拡張子は、mq4
実行ファイルの拡張子は、ex4
です。
 
Custom Indicatorはインジケーターというグラフを各プログラムを作成します。
ソースと実行ファイルは、
インストールパス\MetaTrader\experts\indicators
に格納されています。
拡張子は、EAと同様です。
 
EA、インジケーターの違いは、
EAは、売買ができる。
インジケータは、足に合わせたバッファと描画指示ができる。
で、逆はできません。
 
で、Expert Advisor Wizardは何を作るか決めた後、名前やパラメータなどの情報をセットするとスケルトンができあがるわけです。
決まった部分などは、自動的に作成してくれるわけですね。
 
でも、たとえば、私が書いたソースを試したい！
そんなとき、パラメータをいちいち入力するのが面倒じゃないですか。
そういうときは、どうするか。
 
Nameに名前を入れます。
これは、ファイル名なので入れないわけにはいきません。
その他は、入力する必要はありません。
 
たとえば、インジケーターを作るときの前半にあるこんな命令。
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
自分で書けば、ウィザードで入力しなくても大丈夫です。
 
サンプルを使いたいときは、ファイル名だけでファイルを作って、ソースはコピーするやり方もあるっていうことですね。
自分で作ったものをベースに作りたいときも同じです。
 
ソースファイルも配っているから、そんな面倒なこともしたくない！！
って人は、もっと簡単な方法があります。
 
EAは、
インストールパス\MetaTrader\experts
インジケーターは、

インストールパス\MetaTrader\experts\indicators
にソースファイルや実行ファイルをコピーしてください。
それで、MetaEditorを再起動してください。

 
再起動しないといけないところが、煩わしいところですね。
ファイル名だけ作る方法だと再起動がいりません。
 
EAなどを動かしていて、止めたくない！！
ってときは、ファイル名方式。
どうでもいいときは、コピー＆再起動方式
と使い分けが必要かな。
 
どちらの方法でも結果は同じなので、いい方法をお使いください。
]]></description>
			<content:encoded><![CDATA[<p>Expert Advisor Wizardは、<a title="Permanent Link to インジケーターを作ってみる" rel="bookmark" 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%83%bc%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b%e3%80%82/">インジケーターを作ってみる</a>でも紹介していますが、MetaEditorでEAやインジケーターを作るときのウィザードです。</p>
<p> </p>
<p>一応、注意事項というか便利かもという情報を</p>
<p> </p>
<p> </p>
<div id="attachment_58" class="wp-caption aligncenter" style="width: 310px"><a href="http://metatraderfx.net/wp-content/uploads/2009/05/wizard_i.jpg"><img class="size-medium wp-image-58" title="wizard_i" src="http://metatraderfx.net/wp-content/uploads/2009/05/wizard_i-300x181.jpg" alt="Expert Advisor Wizard　インジケータ作成" width="300" height="181" /></a><p class="wp-caption-text">Expert Advisor Wizard　インジケータ作成</p></div>
<p>ここでは、まあ書いてある内容のものが作れます。</p>
<p>よく使うのは、</p>
<p>Expert AdvisorとCustom Indicatorでしょう。</p>
<p> </p>
<p>Expert Advisorは、EAとか自動売買とかいわれるものを作成します。</p>
<p>インストールパス\MetaTrader\experts</p>
<p>にソースと実行ファイルができあがります。</p>
<p>ソースの拡張子は、mq4</p>
<p>実行ファイルの拡張子は、ex4</p>
<p>です。</p>
<p> </p>
<p>Custom Indicatorはインジケーターというグラフを各プログラムを作成します。</p>
<p>ソースと実行ファイルは、</p>
<p>インストールパス\MetaTrader\experts\indicators</p>
<p>に格納されています。</p>
<p>拡張子は、EAと同様です。</p>
<p> </p>
<p>EA、インジケーターの違いは、</p>
<p>EAは、売買ができる。</p>
<p>インジケータは、足に合わせたバッファと描画指示ができる。</p>
<p>で、逆はできません。</p>
<p> </p>
<p>で、Expert Advisor Wizardは何を作るか決めた後、名前やパラメータなどの情報をセットするとスケルトンができあがるわけです。</p>
<p>決まった部分などは、自動的に作成してくれるわけですね。</p>
<p> </p>
<p>でも、たとえば、私が書いたソースを試したい！</p>
<p>そんなとき、パラメータをいちいち入力するのが面倒じゃないですか。</p>
<p>そういうときは、どうするか。</p>
<p> </p>
<p>Nameに名前を入れます。</p>
<p>これは、ファイル名なので入れないわけにはいきません。</p>
<p>その他は、入力する必要はありません。</p>
<p> </p>
<p>たとえば、インジケーターを作るときの前半にあるこんな命令。</p>
<p>#property indicator_chart_window</p>
<p>#property indicator_buffers 1</p>
<p>#property indicator_color1 Red</p>
<p>自分で書けば、ウィザードで入力しなくても大丈夫です。</p>
<p> </p>
<p>サンプルを使いたいときは、ファイル名だけでファイルを作って、ソースはコピーするやり方もあるっていうことですね。</p>
<p>自分で作ったものをベースに作りたいときも同じです。</p>
<p> </p>
<p>ソースファイルも配っているから、そんな面倒なこともしたくない！！</p>
<p>って人は、もっと簡単な方法があります。</p>
<p> </p>
<p>EAは、</p>
<p>インストールパス\MetaTrader\experts</p>
<div>インジケーターは、</div>
<div>
<p>インストールパス\MetaTrader\experts\indicators</p>
<div>にソースファイルや実行ファイルをコピーしてください。</div>
<div>それで、<strong><span style="text-decoration: underline;"><span style="color: #ff0000;">MetaEditorを再起動してください。</span></span></strong></div>
</div>
<p> </p>
<div>再起動しないといけないところが、煩わしいところですね。</div>
<div>ファイル名だけ作る方法だと再起動がいりません。</div>
<p> </p>
<div>EAなどを動かしていて、止めたくない！！</div>
<div>ってときは、<strong>ファイル名方式</strong>。</div>
<div>どうでもいいときは、<strong>コピー＆再起動方式</strong></div>
<div>と使い分けが必要かな。</div>
<p> </p>
<div>どちらの方法でも結果は同じなので、いい方法をお使いください。</div>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/expert-advisor-wizard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/expert-advisor-wizard/" />
	</item>
		<item>
		<title>かるく文法（まとめ）</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88%e3%81%be%e3%81%a8%e3%82%81%ef%bc%89/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88%e3%81%be%e3%81%a8%e3%82%81%ef%bc%89/#comments</comments>
		<pubDate>Tue, 05 May 2009 07:55:18 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[MQL4]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[文法]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=129</guid>
		<description><![CDATA[メタトレーダーのMQL4は、CやC#と同じような書式で、
関数は、{}の中が有効で、計算や条件は()でくくります。
if(a==0)
{
//処理
}
上記のように条件は()でくくります。
a==0は最終的に、true、falseのどちらかとしてあつかわれ、条件があっている場合は、true、
間違っている場合は、falseになります。
{}の間は、関数（上記の例ではif）の処理が有効な範囲として表します。
 
また、計算も()でくくることができて
a=(10/(2+3));
の様に表すことができて、
a=10/5;
となり
a=2;
と同じ意味になります。
 
四則演算は、かるく文法（四則演算編）を参照してください。
条件判断は、かるく文法（if文編）を参照してください。
ループ（繰り返す処理）は、かるく文法(for文編)、かるく文法(while文編)を参照してください。
]]></description>
			<content:encoded><![CDATA[<p>メタトレーダーのMQL4は、CやC#と同じような書式で、</p>
<p>関数は、{}の中が有効で、計算や条件は()でくくります。</p>
<p>if(a==0)</p>
<p>{</p>
<p>//処理</p>
<p>}</p>
<p>上記のように条件は()でくくります。</p>
<p>a==0は最終的に、true、falseのどちらかとしてあつかわれ、条件があっている場合は、true、</p>
<p>間違っている場合は、falseになります。</p>
<p>{}の間は、関数（上記の例ではif）の処理が有効な範囲として表します。</p>
<p> </p>
<p>また、計算も()でくくることができて</p>
<p>a=(10/(2+3));</p>
<p>の様に表すことができて、</p>
<p>a=10/5;</p>
<p>となり</p>
<p>a=2;</p>
<p>と同じ意味になります。</p>
<p> </p>
<p>四則演算は、<a href="http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88%e5%9b%9b%e5%89%87%e6%bc%94%e7%ae%97%e7%b7%a8%ef%bc%89/" target="_blank">かるく文法（四則演算編）</a>を参照してください。</p>
<p>条件判断は、<a href="http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88if%e6%96%87%e7%b7%a8%ef%bc%89/" target="_blank">かるく文法（if文編）</a>を参照してください。</p>
<p>ループ（繰り返す処理）は、<a href="http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88for%e6%96%87%e7%b7%a8%ef%bc%89/" target="_blank">かるく文法(for文編)</a>、<a href="http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88while%e7%b7%a8%ef%bc%89/" target="_blank">かるく文法(while文編)</a>を参照してください。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88%e3%81%be%e3%81%a8%e3%82%81%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88%e3%81%be%e3%81%a8%e3%82%81%ef%bc%89/" />
	</item>
		<item>
		<title>かるく文法（while文編）</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88while%e7%b7%a8%ef%bc%89/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88while%e7%b7%a8%ef%bc%89/#comments</comments>
		<pubDate>Tue, 05 May 2009 05:54:06 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[MQL4]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[文法]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=124</guid>
		<description><![CDATA[かるく文法（for文編）と同じようにぐるぐる回す系です。
メタトレーダーのMQL4でもそうですが、文法的にはCやC#と同じなので、この辺のプログラムを使っている方は、おなじみの文法です。
 
while編
while(条件)
{
}
の様に使います。
条件を満たしている間は、ぐるぐる{}の間を回り続けます。
 
int i=10;
whie(i&#62;=0)
{
//処理
i&#8211;;
}
このように記述するとiが10から0の間、処理を続け-1になったときに抜けます。
このような記述の場合は、for文を利用してもかまいません。
 
int flg=1;
int a=0;
while(flg==1)
{
//処理
a++;
if(a==10) flg=0;
}
 
上記のようにaが10になったときにflgへ0を代入して、ループを抜けるような使い方も行います。
 
while文の場合は、下の例のような使い方が一般的かもしれません。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88for%e6%96%87%e7%b7%a8%ef%bc%89/" target="_blank">かるく文法（for文編）</a>と同じようにぐるぐる回す系です。</p>
<p>メタトレーダーのMQL4でもそうですが、文法的にはCやC#と同じなので、この辺のプログラムを使っている方は、おなじみの文法です。</p>
<p> </p>
<p><strong><em><span style="text-decoration: underline;">while編</span></em></strong></p>
<p>while(条件)</p>
<p>{</p>
<p>}</p>
<p>の様に使います。</p>
<p>条件を満たしている間は、ぐるぐる{}の間を回り続けます。</p>
<p> </p>
<p>int i=10;</p>
<p>whie(i&gt;=0)</p>
<p>{</p>
<p>//処理</p>
<p>i&#8211;;</p>
<p>}</p>
<p>このように記述するとiが10から0の間、処理を続け-1になったときに抜けます。</p>
<p>このような記述の場合は、for文を利用してもかまいません。</p>
<p> </p>
<p>int flg=1;</p>
<p>int a=0;</p>
<p>while(flg==1)</p>
<p>{</p>
<p>//処理</p>
<p>a++;</p>
<p>if(a==10) flg=0;</p>
<p>}</p>
<p> </p>
<p>上記のようにaが10になったときにflgへ0を代入して、ループを抜けるような使い方も行います。</p>
<p> </p>
<p>while文の場合は、下の例のような使い方が一般的かもしれません。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88while%e7%b7%a8%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88while%e7%b7%a8%ef%bc%89/" />
	</item>
		<item>
		<title>かるく文法（for文編）</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88for%e6%96%87%e7%b7%a8%ef%bc%89/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88for%e6%96%87%e7%b7%a8%ef%bc%89/#comments</comments>
		<pubDate>Sun, 03 May 2009 22:17:27 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[MQL4]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[文法]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=121</guid>
		<description><![CDATA[ぐるぐる決まった数だけ、回したいときの方法を説明します。
 
for文編
for(初期値;条件;ステップ)
{
//やりたいこと
}
 
たとえば、
int i;
int Num[10];
for(i=0;i&#60;10;i++)
{
Num[i]=i;
}
こんな感じだと。
iが０から9まで、1づつ足していきます。
 
配列は、0から始まるので、iを0から始めています。
 
Ｎｕｍ[配列番号]に配列番号と同じ数字を代入しているわけです。
だから、Num[2]は2になります。
 
i&#60;10はiが10より小さい間、ループすることを意味しています。
ですから、0から9の間で、10になったときにループを抜けます。
 
i++は、i=i+1の略で、ループするたびに1足していくことを意味します。
 
決まった数だけ、ループしたいときにfor文を使うことを覚えておいてください。
 
ちなみに
 
for(i=9;i&#62;=0;i&#8211;){}
この場合は、9から0までカウントダウンして、-1になったときにループを抜けます。
 
逆にカウントダウンしたいときはこんな感じ。
条件がi&#62;=0で=が入っていることに注意してください。
0までを含みますからね。
i&#62;-1としても同じことです。
 
i&#8211;はi=i-1の略です。
]]></description>
			<content:encoded><![CDATA[<p>ぐるぐる決まった数だけ、回したいときの方法を説明します。</p>
<p> </p>
<p><strong><em><span style="text-decoration: underline;">for文編</span></em></strong></p>
<p>for(初期値;条件;ステップ)</p>
<p>{</p>
<p>//やりたいこと</p>
<p>}</p>
<p> </p>
<p>たとえば、</p>
<p>int i;</p>
<p>int Num[10];</p>
<p>for(i=0;i&lt;10;i++)</p>
<p>{</p>
<p>Num[i]=i;</p>
<p>}</p>
<p>こんな感じだと。</p>
<p>iが０から9まで、1づつ足していきます。</p>
<p> </p>
<p>配列は、0から始まるので、iを0から始めています。</p>
<p> </p>
<p>Ｎｕｍ[配列番号]に配列番号と同じ数字を代入しているわけです。</p>
<p>だから、Num[2]は2になります。</p>
<p> </p>
<p>i&lt;10はiが10より小さい間、ループすることを意味しています。</p>
<p>ですから、0から9の間で、10になったときにループを抜けます。</p>
<p> </p>
<p>i++は、i=i+1の略で、ループするたびに1足していくことを意味します。</p>
<p> </p>
<p>決まった数だけ、ループしたいときにfor文を使うことを覚えておいてください。</p>
<p> </p>
<p>ちなみに</p>
<p> </p>
<p>for(i=9;i&gt;=0;i&#8211;){}</p>
<p>この場合は、9から0までカウントダウンして、-1になったときにループを抜けます。</p>
<p> </p>
<p>逆にカウントダウンしたいときはこんな感じ。</p>
<p>条件がi&gt;=0で=が入っていることに注意してください。</p>
<p>0までを含みますからね。</p>
<p>i&gt;-1としても同じことです。</p>
<p> </p>
<p>i&#8211;はi=i-1の略です。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88for%e6%96%87%e7%b7%a8%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88for%e6%96%87%e7%b7%a8%ef%bc%89/" />
	</item>
		<item>
		<title>かるく文法（四則演算編）</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88%e5%9b%9b%e5%89%87%e6%bc%94%e7%ae%97%e7%b7%a8%ef%bc%89/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88%e5%9b%9b%e5%89%87%e6%bc%94%e7%ae%97%e7%b7%a8%ef%bc%89/#comments</comments>
		<pubDate>Sun, 03 May 2009 16:10:17 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[MQL4]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[文法]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=116</guid>
		<description><![CDATA[基本の演算方法を説明します。
 
四則演算編
四則演算は、
+：足し算
-：引き算
*：かけ算
/：割り算
%：割り算のあまり
 
int a=1;
int b=2;
int c=0;
c=a+b;
//1+2でcは3になります。
c=b-a;
//2-1でcは1になります。
c=a*b;
//1*2でcは2になります。
c=b/a;
//2/1でcは2になります。
 
double d=0.0;
c=a/b;
d=a/b;
この場合は、ちょっと変わってきます。
cはint型で整数、dはdouble型で小数点を格納できます。
だから、cは0.5を四捨五入した値の1。
dは0.5になります。
 
ちなみに、
d=a%b;
は、0.5になり、あまりを計算することができます。
d=3%2;
これも0.5です。
 
doubleは、もう一つ気をつけなければいけないことがあります。
 
精度といわれるもので、計算する通貨ペアの最低単位にあわされます。
USDJPYの場合は、0.01が最低単位なので、
d=1/7;
は、0.14285714285714285714285714285714
ですが、0.14になります。
 
EURUSDは、0.001が最低単位なので、
0.1429になります。
 
この最低単位は、Pointという変数に格納されています。
桁数は、Digitsに格納されています。
USDJPYの場合は、Pointは0.01。
Digitsは、2が格納されています。
 
また、計算上もっと細かい単位にしたい場合は、
IndicatorDigits
を使います。
今の精度より、2桁下まで利用したいときは
IndicatorDigits（Digits+2）;
こうすることで、USDJPYで0.0001の単位まで、計算されます。
]]></description>
			<content:encoded><![CDATA[<p>基本の演算方法を説明します。</p>
<p> </p>
<p><strong><em><span style="text-decoration: underline;">四則演算編</span></em></strong></p>
<p>四則演算は、</p>
<p>+：足し算</p>
<p>-：引き算</p>
<p>*：かけ算</p>
<p>/：割り算</p>
<p>%：割り算のあまり</p>
<p> </p>
<p>int a=1;</p>
<p>int b=2;</p>
<p>int c=0;</p>
<p>c=a+b;</p>
<p>//1+2でcは3になります。</p>
<p>c=b-a;</p>
<p>//2-1でcは1になります。</p>
<p>c=a*b;</p>
<p>//1*2でcは2になります。</p>
<p>c=b/a;</p>
<p>//2/1でcは2になります。</p>
<p> </p>
<p>double d=0.0;</p>
<p>c=a/b;</p>
<p>d=a/b;</p>
<p>この場合は、ちょっと変わってきます。</p>
<p>cはint型で整数、dはdouble型で小数点を格納できます。</p>
<p>だから、cは0.5を四捨五入した値の1。</p>
<p>dは0.5になります。</p>
<p> </p>
<p>ちなみに、</p>
<p>d=a%b;</p>
<p>は、0.5になり、あまりを計算することができます。</p>
<p>d=3%2;</p>
<p>これも0.5です。</p>
<p> </p>
<p>doubleは、もう一つ気をつけなければいけないことがあります。</p>
<p> </p>
<p>精度といわれるもので、計算する通貨ペアの最低単位にあわされます。</p>
<p>USDJPYの場合は、0.01が最低単位なので、</p>
<p>d=1/7;</p>
<p>は、0.14285714285714285714285714285714</p>
<p>ですが、0.14になります。</p>
<p> </p>
<p>EURUSDは、0.001が最低単位なので、</p>
<p>0.1429になります。</p>
<p> </p>
<p>この最低単位は、<a href="http://googolyenfx.blog18.fc2.com/blog-entry-236.html" target="_blank">Point</a>という変数に格納されています。</p>
<p>桁数は、<a href="http://googolyenfx.blog18.fc2.com/blog-entry-232.html" target="_blank">Digits</a>に格納されています。</p>
<p>USDJPYの場合は、<a href="http://googolyenfx.blog18.fc2.com/blog-entry-236.html" target="_blank">Point</a>は0.01。</p>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-232.html" target="_blank">Digits</a>は、2が格納されています。</p>
<p> </p>
<p>また、計算上もっと細かい単位にしたい場合は、</p>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-239.html" target="_blank">IndicatorDigits</a></p>
<p>を使います。</p>
<p>今の精度より、2桁下まで利用したいときは</p>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-239.html" target="_blank">IndicatorDigits</a>（<a href="http://googolyenfx.blog18.fc2.com/blog-entry-232.html" target="_blank">Digits</a>+2）;</p>
<p>こうすることで、USDJPYで0.0001の単位まで、計算されます。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88%e5%9b%9b%e5%89%87%e6%bc%94%e7%ae%97%e7%b7%a8%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88%e5%9b%9b%e5%89%87%e6%bc%94%e7%ae%97%e7%b7%a8%ef%bc%89/" />
	</item>
		<item>
		<title>かるく文法（if文編）</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88if%e6%96%87%e7%b7%a8%ef%bc%89/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88if%e6%96%87%e7%b7%a8%ef%bc%89/#comments</comments>
		<pubDate>Sun, 03 May 2009 14:56:01 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[MQL4]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[文法]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=111</guid>
		<description><![CDATA[あまり難しい、文法を使うつもりはないけど基本的なやつだけ説明しておきます。
 
if文
もし、こんなんだったら、こうする。
っていうことを行います。
 
int ChkNo=1;
if(ChkNo==0)
{
//ChkNoが0のとき
}
else if(ChkNo==1)
{
//ChkNoが1のとき
}
else
{
//ChkNoが0と1以外のとき
}
こんな感じで書きます。
上記の例だと、2番目に入ってきます。
 
条件文は
==：右と左の値が同じ場合
!=：右と左が違う場合
&#60;：左より右が大きい場合
&#60;=：左と同じか、右の方が大きい場合
&#62;：右より左が大きい場合
&#62;=：右と同じか、左の方が大きい場合
こんな感じの条件文が使えます。
 
条件は、連結することができて
&#38;&#38;：AND
&#124;&#124;：OR
で結ぶことも可能です。
 
int a=1;
string strBuf=&#8221;ABC&#8221;;
 
if(a==1 &#38;&#38; strBuf==&#8221;ABC&#8221;){}
こんな感じで、2つの条件が整ったときだけ処理するように指定できます。
]]></description>
			<content:encoded><![CDATA[<p>あまり難しい、文法を使うつもりはないけど基本的なやつだけ説明しておきます。</p>
<p> </p>
<p><strong><em><span style="text-decoration: underline;">if文</span></em></strong></p>
<p>もし、こんなんだったら、こうする。</p>
<p>っていうことを行います。</p>
<p> </p>
<p>int ChkNo=1;</p>
<p>if(ChkNo==0)</p>
<p>{</p>
<p>//ChkNoが0のとき</p>
<p>}</p>
<p>else if(ChkNo==1)</p>
<p>{</p>
<p>//ChkNoが1のとき</p>
<p>}</p>
<p>else</p>
<p>{</p>
<p>//ChkNoが0と1以外のとき</p>
<p>}</p>
<p>こんな感じで書きます。</p>
<p>上記の例だと、2番目に入ってきます。</p>
<p> </p>
<p>条件文は</p>
<p>==：右と左の値が同じ場合</p>
<p>!=：右と左が違う場合</p>
<p>&lt;：左より右が大きい場合</p>
<p>&lt;=：左と同じか、右の方が大きい場合</p>
<p>&gt;：右より左が大きい場合</p>
<p>&gt;=：右と同じか、左の方が大きい場合</p>
<p>こんな感じの条件文が使えます。</p>
<p> </p>
<p>条件は、連結することができて</p>
<p>&amp;&amp;：AND</p>
<p>||：OR</p>
<p>で結ぶことも可能です。</p>
<p> </p>
<p>int a=1;</p>
<p>string strBuf=&#8221;ABC&#8221;;</p>
<p> </p>
<p>if(a==1 &amp;&amp; strBuf==&#8221;ABC&#8221;){}</p>
<p>こんな感じで、2つの条件が整ったときだけ処理するように指定できます。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88if%e6%96%87%e7%b7%a8%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/%e3%81%8b%e3%82%8b%e3%81%8f%e6%96%87%e6%b3%95%ef%bc%88if%e6%96%87%e7%b7%a8%ef%bc%89/" />
	</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%83%bc%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b%e3%80%82/</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%83%bc%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b%e3%80%82/#comments</comments>
		<pubDate>Fri, 01 May 2009 08:34:02 +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>

		<guid isPermaLink="false">http://metatraderfx.net/?p=85</guid>
		<description><![CDATA[今回は、インジケータを作ってみようと思います。  3本の移動平均を表示したいと思います。  
 簡単なプログラムを作ってみるを参考にMetaEditorのメニューでFile-Newで「Expert Advisor Wizard」を開きます。  「Custom Indicator」にチェックを入れて、次へを押します。   
Nameに３EA（名前なので何でもいいです）、Addボタンを押してパラメータを３つ追加します。
Nameをそれぞれ、Peried1、Peried2、Peried3とします。  Typeはintにしてください。   
次へを押します。
 
Addボタンを押して、表示するグラフのラインを追加します。
３つ追加して、Red、Yellow、Greenを選んでください。
別に違う色でもかまいません。
今回は、線で表示するのでTypeはLineのままにしてください。
 
完了を押すと、スケルトンが作成されます。
 
先頭の方に以下の行があると思います。
コメントを付けて、説明します。
//メインウィンドウに表示する。
#property indicator_chart_window
//グラフに利用する入れ物が３つ（最大８個）
#property indicator_buffers 3
//１本目は、太さ１の赤
#property indicator_color1 Red
//２本目は、太さ１の黄色
#property indicator_color2 Yellow
//３本目は、太さ１の緑
#property indicator_color3 Green
//入力するパラメータは、以下の3つ
extern int       Peried1;
extern int       Peried2;
extern int       Peried3;
//表示するグラフに対応する入れ物３つ
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
インジケータを使うときは、必要な数の上記の設定が必要になります。
ちょこっとだけ改造します。

extern int       Peried1=7;
extern int       Peried2=14;
extern int       [...]]]></description>
			<content:encoded><![CDATA[<p>今回は、インジケータを作ってみようと思います。  3本の移動平均を表示したいと思います。  </p>
<p> <a href="http://metatraderfx.net/metatrader-beginner/%e7%b0%a1%e5%8d%98%e3%81%aa%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/" target="_blank">簡単なプログラムを作ってみる</a>を参考にMetaEditorのメニューでFile-Newで「Expert Advisor Wizard」を開きます。  「Custom Indicator」にチェックを入れて、次へを押します。   </p>
<div id="attachment_86" class="wp-caption aligncenter" style="width: 310px"><a href="http://metatraderfx.net/wp-content/uploads/2009/05/wizard_i_3ea.jpg"><img class="size-medium wp-image-86" title="wizard_i_3ea" src="http://metatraderfx.net/wp-content/uploads/2009/05/wizard_i_3ea-300x181.jpg" alt="3EAパラメータ追加" width="300" height="181" /></a><p class="wp-caption-text">3EAパラメータ追加</p></div>
<p>Nameに３EA（名前なので何でもいいです）、Addボタンを押してパラメータを３つ追加します。</p>
<p>Nameをそれぞれ、Peried1、Peried2、Peried3とします。  Typeはintにしてください。   </p>
<p>次へを押します。</p>
<p> </p>
<div id="attachment_87" class="wp-caption aligncenter" style="width: 310px"><a href="http://metatraderfx.net/wp-content/uploads/2009/05/wizard_i_3ea2.jpg"><img class="size-medium wp-image-87" title="wizard_i_3ea2" src="http://metatraderfx.net/wp-content/uploads/2009/05/wizard_i_3ea2-300x181.jpg" alt="グラフの種類を選択" width="300" height="181" /></a><p class="wp-caption-text">グラフの種類を選択</p></div>
<p>Addボタンを押して、表示するグラフのラインを追加します。</p>
<p>３つ追加して、Red、Yellow、Greenを選んでください。</p>
<p>別に違う色でもかまいません。</p>
<p>今回は、線で表示するのでTypeはLineのままにしてください。</p>
<p> </p>
<p>完了を押すと、スケルトンが作成されます。</p>
<p> </p>
<p>先頭の方に以下の行があると思います。</p>
<p>コメントを付けて、説明します。</p>
<p>//メインウィンドウに表示する。</p>
<p>#property indicator_chart_window</p>
<p>//グラフに利用する入れ物が３つ（最大８個）</p>
<p>#property indicator_buffers 3</p>
<p>//１本目は、太さ１の赤</p>
<p>#property indicator_color1 Red</p>
<p>//２本目は、太さ１の黄色</p>
<p>#property indicator_color2 Yellow</p>
<p>//３本目は、太さ１の緑</p>
<p>#property indicator_color3 Green</p>
<p>//入力するパラメータは、以下の3つ</p>
<p>extern int       Peried1;</p>
<p>extern int       Peried2;</p>
<p>extern int       Peried3;</p>
<p>//表示するグラフに対応する入れ物３つ</p>
<p>double ExtMapBuffer1[];</p>
<p>double ExtMapBuffer2[];</p>
<p>double ExtMapBuffer3[];</p>
<div>インジケータを使うときは、必要な数の上記の設定が必要になります。</div>
<div>ちょこっとだけ改造します。</div>
<div>
<div>extern int       Peried1=7;</div>
<div>extern int       Peried2=14;</div>
<div>extern int       Peried3=21;</div>
<div>とデフォルトの数字を設定しましょう。</div>
<div>これで、何も入力しなくても利用可能になります。</div>
<div>次は、初期設定です。</div>
<div>
<div>int init()</div>
<div>  {</div>
<div>//&#8212;- indicators</div>
<div>//１本目（０番から始まる）はライン</div>
<div>   <a href="http://googolyenfx.blog18.fc2.com/blog-entry-247.html" target="_blank">SetIndexStyle</a>(0,DRAW_LINE);</div>
<div>//１本目のバッファをExtMapBuffer1とする</div>
<div>   <a href="http://googolyenfx.blog18.fc2.com/blog-entry-242.html" target="_blank">SetIndexBuffer</a>(0,ExtMapBuffer1);</div>
<div>//２本目はライン</div>
<div>   <a href="http://googolyenfx.blog18.fc2.com/blog-entry-247.html" target="_blank">SetIndexStyle</a>(1,DRAW_LINE);</div>
<div>//２本目のバッファをExtMapBuffer2</div>
<div>   <a href="http://googolyenfx.blog18.fc2.com/blog-entry-242.html" target="_blank">SetIndexBuffer</a>(1,ExtMapBuffer2);</div>
<div>//３本目はライン</div>
<div>   <a href="http://googolyenfx.blog18.fc2.com/blog-entry-247.html" target="_blank">SetIndexStyle</a>(2,DRAW_LINE);</div>
<div>//３本目のバッファをExtMapBuffer3</div>
<div>   <a href="http://googolyenfx.blog18.fc2.com/blog-entry-242.html" target="_blank">SetIndexBuffer</a>(2,ExtMapBuffer3);</div>
<div>//&#8212;-</div>
<div>   return(0);</div>
<div>  }</div>
</div>
<div>最初の方で、色を設定したのでここでは、どのように描画するか。</div>
<div>線ごとにバッファをどれにするかをしていします。</div>
<div>これで、ExtMapBuffer1などに値を入れるだけで線を書いてくれるようになります。</div>
<div>ExtMapBuffer1などは、描画されている足の数に対応したバッファです。</div>
<div>ExtMapBuffer1[0]から始まり、最新が0になります。</div>
<p> </p>
<div>実際に、移動平均の値を登録していきましょう。</div>
<div>
<div>int start()</div>
<div>  {</div>
<div>//変化していない足の数を取得する</div>
<div>   int counted_bars=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-77.html" target="_blank">IndicatorCounted</a>();</div>
<div>//値を入れる足番号の変数</div>
<div>   int i;</div>
<div>//表示されている足の数から、変化のない足の数を引いたもの（描画すべき足）の値をセット</div>
<div>   i = <a href="http://googolyenfx.blog18.fc2.com/blog-entry-229.html" target="_blank">Bars</a>-counted_bars-1;</div>
<div>//最新の足（0）をを描画するまで繰り返す。</div>
<div>//古いものから書いていきます。</div>
<div>   while(i&gt;=0)</div>
<div>   {</div>
<div>//１本目の単純移動平均の値を取得</div>
<div>       ExtMapBuffer1[i]=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-188.html" target="_blank">iMA</a>(NULL,0,Peried1,0,MODE_SMA,PRICE_CLOSE,i);</div>
<div>//２本目の単純移動平均の値を取得</div>
<div>       ExtMapBuffer2[i]=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-188.html" target="_blank">iMA</a>(NULL,0,Peried2,0,MODE_SMA,PRICE_CLOSE,i);</div>
<div>//３本目の単純移動平均の値を取得</div>
<div>       ExtMapBuffer3[i]=<a href="http://googolyenfx.blog18.fc2.com/blog-entry-188.html" target="_blank">iMA(</a>NULL,0,Peried3,0,MODE_SMA,PRICE_CLOSE,i);</div>
<div>//１つ新しい足番号にする（1引く）</div>
<div>       i&#8211;;</div>
<div>   }</div>
<div>   return(0);</div>
<div>  }</div>
<p> </p>
<p>さて、以上でプログラムは終了です。</p>
<p>コンパイル（F5）してみましょう。</p>
<p>メタトレーダーへ戻って、3EAを表示させたい通貨のウィンドウへドロップしてみてください。</p>
<p> </p>
<div id="attachment_98" class="wp-caption aligncenter" style="width: 310px"><a href="http://metatraderfx.net/wp-content/uploads/2009/05/3ea_param.jpg"><img class="size-medium wp-image-98" title="3ea_param" src="http://metatraderfx.net/wp-content/uploads/2009/05/3ea_param-300x147.jpg" alt="3EAパラメータ" width="300" height="147" /></a><p class="wp-caption-text">3EAパラメータ</p></div>
<div>ドラッグしたときに表示されるウィンドウの「パラメータ入力」タブを押すと上の画面のようになります。</div>
<div>初期設定した内容が表示されていることが分かると思います。</div>
<div>この設定は、後で変更可能です。</div>
<div>OKボタンを押して、描画させてみましょう。</div>
<div>
<div id="attachment_99" class="wp-caption aligncenter" style="width: 310px"><a href="http://metatraderfx.net/wp-content/uploads/2009/05/3ea_line.jpg"><img class="size-medium wp-image-99" title="3ea_line" src="http://metatraderfx.net/wp-content/uploads/2009/05/3ea_line-300x151.jpg" alt="3EA表示" width="300" height="151" /></a><p class="wp-caption-text">3EA表示</p></div>
<p>3種類の移動平均が表示されていることが分かります。</p>
<p>簡単でしょ！！</p>
<p> </p></div>
<p><a href="http://googolyenfx.blog18.fc2.com/blog-entry-188.html" target="_blank">iMa</a>が移動平均を取得する関数です。</p>
<p>パラメータで、いろいろな移動平均を取得できます。</p>
<p>今回は、単純移動平均（MODE_SMA）、終値（PRICE_CLOSE）を利用しました。</p>
<p>他にも、指数平均、平滑平均、加重平均なども選べます。</p>
<p>終値の他にも始値、高値、安値、平均をとったものなどを選ぶことができます。</p>
<p> </p>
<p>今回のプログラムは、以下からダウンロードできます。</p>
<p><a href="http://download-center.metatraderfx.net/indicator/3ea/" target="_blank">ここから、ダウンロード</a></p>
<p> </p>
<p>インジケータは、</p>
<p>インストールパス\MetaTrader\experts\indicators</p>
<p>に入れてください。</p>
<p> </p>
<p> </p></div>
</div>
]]></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%83%bc%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>9</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%83%bc%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b%e3%80%82/" />
	</item>
		<item>
		<title>簡単なプログラムを作ってみる</title>
		<link>http://metatraderfx.net/metatrader-beginner/%e7%b0%a1%e5%8d%98%e3%81%aa%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/%e7%b0%a1%e5%8d%98%e3%81%aa%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Fri, 01 May 2009 02:05:14 +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>

		<guid isPermaLink="false">http://metatraderfx.net/?p=50</guid>
		<description><![CDATA[とりあえず、プログラムを作ってみましょう。  今回は、現在のレートを表示するものを作ります。  インジケータ、EAどちらでも作れますが、設定の簡単なEAで作ります。     まず、MetaEditorを起動します。   
メタトレーダーの赤丸のボタンを押すとエディターが起動します。      
こんな感じの画面が開いたと思います。
次にメニューからFile-Newを選択します。
 
こんな感じの画面が開いたと思います。
「Custom Indicator」にチェックを入れて、次へを押します。
 
Nameにプログラムの名前、今回は「NowRate」
Authorは、作成者名
Linkは、公開先のURLなど
Author、Linkは省略可能です。
Parametersには、外部入力するパラメータを入れますが、今回は利用しないのでそのままにします。
次へを押してください。
 
Indicator in separete windowにチェックを入れると、サブウィンドウに表示されます。
今回は、メインウィンドウに表示するのでチェックを入れません。
Minimum、Maximumはサブウィンドウの最大・最小を固定するときに利用します。
Indexesは、グラフの線を追加し、色などを設定するときに使います。
今回は利用しません。
完了を押してください。
エディターにスケルトンが表示されたと思います。
int start()
  {
   int    counted_bars=IndicatorCounted();
//&#8212;-
 
//&#8212;-
   return(0);
  }
を

int start()
  {
   int    counted_bars=IndicatorCounted();
//&#8212;-
   Comment(&#8221;Ask=&#8221;,Ask,&#8221;  Bid=&#8221;,Bid);
//&#8212;-
   return(0);
  }
と書き換えてください。
「Conpile」ボタンを押すか、F5を押してコンパイルします。


下のErrorsにエラーが出ないで、終了していることを確認してください。
これで、現在のレートを表示するインジケータを作ることができました。
簡単です。
今回使った、関数の説明をします。
Comment()
これは、左上にコメントを表示します。
「,」でつなぐことで複数の変数をまとめて表示することが可能です。
今回は、&#8221;"でくくった文字と、Ask、Bidという変数の内容を表示させています。
Askは、表示させたウィンドウの現在の買値
Bidは、売値が入っている予約変数です。
予約変数は、いくつかありますが別の機会に紹介します。
では、インジケータを表示してみましょう。
メタトレーダーで、表示させたい通貨のグラフを表示させます。
通貨のグラフの表示のさせ方などは、１２１証券の日本語マニュアルを読んでくださいね。
次に、ナビゲーターウィンドウのCustom Indicatorsを展開すると今作成した「NowRate」が表示されているはずです。
これをドラッグして、表示させたい通貨ウィンドウへドロップしてください。


こんな画面が、表示されますがOKを押してください。


左上にAskとBidの値が表示されたと思います。
これで、成功です。
初めてのプログラムとしては、あっさりいけたと思います。
メタトレーダーのプログラムは、あまり複雑なことをやる必要がないんです。
簡単に作れます。
大変なのは、何をどうするかというノウハウ！
とりあえず、こんな感じで進めていきますね。
今回のソースとインジケータをアップしておきます。
必要な方は、ダウンロードしてください。
ここから、ダウンロード
ちなみに、マニュアルについて以前このサイトを紹介しました。
mt4 (MetaTrader4)使い倒シストレ
Eブックとして、まとまったものも以下で販売しています。

ＦＸ完全自動売買システム構築のための２５０の技 MetaTrader4逆引き大全集
気になる方は、チェックしてみてください。
 
インジケータは、
インストールパス\MetaTrader\experts\indicators
に入れてください。
]]></description>
			<content:encoded><![CDATA[<p>とりあえず、プログラムを作ってみましょう。  今回は、現在のレートを表示するものを作ります。  インジケータ、EAどちらでも作れますが、設定の簡単なEAで作ります。     まず、MetaEditorを起動します。   </p>
<div id="attachment_51" class="wp-caption aligncenter" style="width: 310px"><a href="http://metatraderfx.net/wp-content/uploads/2009/05/menu_editor.jpg"><img class="size-medium wp-image-51" title="menu_editor" src="http://metatraderfx.net/wp-content/uploads/2009/05/menu_editor-300x18.jpg" alt="MetaEditor起動" width="300" height="18" /></a><p class="wp-caption-text">MetaEditor起動</p></div>
<p>メタトレーダーの赤丸のボタンを押すとエディターが起動します。      </p>
<div id="attachment_55" class="wp-caption aligncenter" style="width: 310px"><a href="http://metatraderfx.net/wp-content/uploads/2009/05/metaeditor.jpg"><img class="size-medium wp-image-55" title="metaeditor" src="http://metatraderfx.net/wp-content/uploads/2009/05/metaeditor-300x221.jpg" alt="MetaEditor" width="300" height="221" /></a><p class="wp-caption-text">MetaEditor</p></div>
<p>こんな感じの画面が開いたと思います。</p>
<p>次にメニューからFile-Newを選択します。</p>
<p> </p>
<div id="attachment_58" class="wp-caption aligncenter" style="width: 310px"><a href="http://metatraderfx.net/wp-content/uploads/2009/05/wizard_i.jpg"><img class="size-medium wp-image-58" title="wizard_i" src="http://metatraderfx.net/wp-content/uploads/2009/05/wizard_i-300x181.jpg" alt="Expert Advisor Wizard　インジケータ作成" width="300" height="181" /></a><p class="wp-caption-text">Expert Advisor Wizard　インジケータ作成</p></div>
<p>こんな感じの画面が開いたと思います。</p>
<p>「Custom Indicator」にチェックを入れて、次へを押します。</p>
<p> </p>
<div id="attachment_60" class="wp-caption aligncenter" style="width: 310px"><a href="http://metatraderfx.net/wp-content/uploads/2009/05/wizard_i2.jpg"><img class="size-medium wp-image-60" title="wizard_i2" src="http://metatraderfx.net/wp-content/uploads/2009/05/wizard_i2-300x181.jpg" alt="インジケータ設定" width="300" height="181" /></a><p class="wp-caption-text">インジケータ設定</p></div>
<p>Nameにプログラムの名前、今回は「NowRate」</p>
<p>Authorは、作成者名</p>
<p>Linkは、公開先のURLなど</p>
<p>Author、Linkは省略可能です。</p>
<p>Parametersには、外部入力するパラメータを入れますが、今回は利用しないのでそのままにします。</p>
<p>次へを押してください。</p>
<p> </p>
<div id="attachment_61" class="wp-caption aligncenter" style="width: 310px"><a href="http://metatraderfx.net/wp-content/uploads/2009/05/wizard_i3.jpg"><img class="size-medium wp-image-61" title="wizard_i3" src="http://metatraderfx.net/wp-content/uploads/2009/05/wizard_i3-300x181.jpg" alt="インジケータ設定" width="300" height="181" /></a><p class="wp-caption-text">インジケータ設定</p></div>
<p>Indicator in separete windowにチェックを入れると、サブウィンドウに表示されます。</p>
<p>今回は、メインウィンドウに表示するのでチェックを入れません。</p>
<p>Minimum、Maximumはサブウィンドウの最大・最小を固定するときに利用します。</p>
<p>Indexesは、グラフの線を追加し、色などを設定するときに使います。</p>
<p>今回は利用しません。</p>
<p>完了を押してください。</p>
<p>エディターにスケルトンが表示されたと思います。</p>
<p>int start()</p>
<p>  {</p>
<p>   int    counted_bars=IndicatorCounted();</p>
<p>//&#8212;-</p>
<p> </p>
<p>//&#8212;-</p>
<p>   return(0);</p>
<p>  }</p>
<div>を</div>
<div>
<div>int start()</div>
<div>  {</div>
<div>   int    counted_bars=IndicatorCounted();</div>
<div>//&#8212;-</div>
<div>   <a href="http://googolyenfx.blog18.fc2.com/blog-entry-128.html" target="_blank">Comment</a>(&#8221;Ask=&#8221;,<a href="http://googolyenfx.blog18.fc2.com/blog-entry-228.html" target="_blank">Ask</a>,&#8221;  Bid=&#8221;,<a href="http://googolyenfx.blog18.fc2.com/blog-entry-230.html" target="_blank">Bid</a>);</div>
<div>//&#8212;-</div>
<div>   return(0);</div>
<div>  }</div>
<div>と書き換えてください。</div>
<div>「Conpile」ボタンを押すか、F5を押してコンパイルします。</div>
<div>
<div id="attachment_65" class="wp-caption aligncenter" style="width: 310px"><a href="http://metatraderfx.net/wp-content/uploads/2009/05/metaeditor_c.jpg"><img class="size-medium wp-image-65" title="metaeditor_c" src="http://metatraderfx.net/wp-content/uploads/2009/05/metaeditor_c-300x221.jpg" alt="Compile" width="300" height="221" /></a><p class="wp-caption-text">Compile</p></div>
</div>
<div>下のErrorsにエラーが出ないで、終了していることを確認してください。</div>
<div>これで、現在のレートを表示するインジケータを作ることができました。</div>
<div>簡単です。</div>
<div>今回使った、関数の説明をします。</div>
<div><a href="http://googolyenfx.blog18.fc2.com/blog-entry-128.html" target="_blank">Comment()</a></div>
<div>これは、左上にコメントを表示します。</div>
<div>「,」でつなぐことで複数の変数をまとめて表示することが可能です。</div>
<div>今回は、&#8221;"でくくった文字と、Ask、Bidという変数の内容を表示させています。</div>
<div><a href="http://googolyenfx.blog18.fc2.com/blog-entry-228.html" target="_blank">Ask</a>は、表示させたウィンドウの現在の買値</div>
<div><a href="http://googolyenfx.blog18.fc2.com/blog-entry-230.html" target="_blank">Bid</a>は、売値が入っている予約変数です。</div>
<div>予約変数は、いくつかありますが別の機会に紹介します。</div>
<div>では、インジケータを表示してみましょう。</div>
<div>メタトレーダーで、表示させたい通貨のグラフを表示させます。</div>
<div>通貨のグラフの表示のさせ方などは、<a href="http://px.a8.net/svt/ejp?a8mat=1HPN4D+4EYTM2+1K86+62U37" target="_blank">１２１証券</a>の日本語マニュアルを読んでくださいね。</div>
<div>次に、ナビゲーターウィンドウのCustom Indicatorsを展開すると今作成した「NowRate」が表示されているはずです。</div>
<div>これをドラッグして、表示させたい通貨ウィンドウへドロップしてください。</div>
<div>
<div id="attachment_66" class="wp-caption aligncenter" style="width: 310px"><a href="http://metatraderfx.net/wp-content/uploads/2009/05/coustomindicatornowrate.jpg"><img class="size-medium wp-image-66" title="coustomindicatornowrate" src="http://metatraderfx.net/wp-content/uploads/2009/05/coustomindicatornowrate-300x147.jpg" alt="カスタムインジケータパラメータ設定" width="300" height="147" /></a><p class="wp-caption-text">カスタムインジケータパラメータ設定</p></div>
</div>
<div>こんな画面が、表示されますがOKを押してください。</div>
<div>
<div id="attachment_67" class="wp-caption aligncenter" style="width: 289px"><a href="http://metatraderfx.net/wp-content/uploads/2009/05/nowrate.jpg"><img class="size-full wp-image-67" title="nowrate" src="http://metatraderfx.net/wp-content/uploads/2009/05/nowrate.jpg" alt="NowRate" width="279" height="205" /></a><p class="wp-caption-text">NowRate</p></div>
</div>
<div>左上にAskとBidの値が表示されたと思います。</div>
<div>これで、成功です。</div>
<div>初めてのプログラムとしては、あっさりいけたと思います。</div>
<div>メタトレーダーのプログラムは、あまり複雑なことをやる必要がないんです。</div>
<div>簡単に作れます。</div>
<div>大変なのは、何をどうするかというノウハウ！</div>
<div>とりあえず、こんな感じで進めていきますね。</div>
<div>今回のソースとインジケータをアップしておきます。</div>
<div>必要な方は、ダウンロードしてください。</div>
<div><a href="http://download-center.metatraderfx.net/indicator/nowrate/" target="_blank">ここから、ダウンロード</a></div>
<div>ちなみに、マニュアルについて以前このサイトを紹介しました。</div>
<div><a href="http://googolyenfx.blog18.fc2.com/" target="_blank">mt4 (MetaTrader4)使い倒シストレ</a></div>
<div>Eブックとして、まとまったものも以下で販売しています。</div>
</div>
<p><a href="http://www.infocart.jp/t/24105/eba/" target="_blank">ＦＸ完全自動売買システム構築のための２５０の技 MetaTrader4逆引き大全集</a></p>
<p>気になる方は、チェックしてみてください。</p>
<p> </p>
<p>インジケータは、</p>
<p>インストールパス\MetaTrader\experts\indicators</p>
<p>に入れてください。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/%e7%b0%a1%e5%8d%98%e3%81%aa%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%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/%e7%b0%a1%e5%8d%98%e3%81%aa%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/" />
	</item>
		<item>
		<title>MQL4で利用できる変数</title>
		<link>http://metatraderfx.net/metatrader-beginner/mql4%e3%81%a7%e5%88%a9%e7%94%a8%e3%81%a7%e3%81%8d%e3%82%8b%e5%a4%89%e6%95%b0/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/mql4%e3%81%a7%e5%88%a9%e7%94%a8%e3%81%a7%e3%81%8d%e3%82%8b%e5%a4%89%e6%95%b0/#comments</comments>
		<pubDate>Fri, 01 May 2009 00:31:41 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[MQL4]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[MT4]]></category>
		<category><![CDATA[入門]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=39</guid>
		<description><![CDATA[ＭＱＬ４を利用するにあたって、変数を利用しないとほとんど何もできません。
ということで、よく使う変数を紹介します。
 
int　　　 整数をあつかいます。
double   小数点のついた数をあつかいます。
storing  文字をあつかいます。
datetime 時刻をあつかいます。
 
普通に組む分には、上記の４つを知っていれば、問題ないはずです。
このほかに
bool、char、colorがあります。
 
宣言のやり方は、
int no;
double NowAsk;
string MyName;
のように宣言します。
 
宣言のときに初期化も可能です。

int no=0;
double NowAsk=0.0;
string MyName="kei";
こんな感じです。

代入するときは、
no=1;
no=no+1;
みたいに行います。
この場合、noは2になります。

 
no=1;    //noを1に初期化
no=no+1; //no(今は1)に1を足した値をnoに代入
 
ちなみに、//以降はコメントとしてあつかわれます。
その他にも
/*
コメント
*/
というコメントの書き方もあります。
 
ただし、ＭｅｔａＥｄｉｔｏｒでは日本語が使えません。
英語で書くか、ローマ字を使ってコメントを書くようにしてください。
]]></description>
			<content:encoded><![CDATA[<p>ＭＱＬ４を利用するにあたって、変数を利用しないとほとんど何もできません。</p>
<p>ということで、よく使う変数を紹介します。</p>
<p> </p>
<pre>int　　　 整数をあつかいます。</pre>
<pre>double   小数点のついた数をあつかいます。</pre>
<pre>storing  文字をあつかいます。</pre>
<pre>datetime 時刻をあつかいます。</pre>
<p> </p>
<p>普通に組む分には、上記の４つを知っていれば、問題ないはずです。</p>
<p>このほかに</p>
<p>bool、char、colorがあります。</p>
<p> </p>
<p>宣言のやり方は、</p>
<pre><span style="font-family: Georgia; line-height: 19px; white-space: normal;">i</span>nt no;</pre>
<pre>double NowAsk;</pre>
<pre>string MyName;</pre>
<p>のように宣言します。</p>
<p> </p>
<p>宣言のときに初期化も可能です。</p>
<pre>
<pre>int no=0;</pre>
<pre>double NowAsk=0.0;</pre>
<p>string MyName="kei";</p>
<div>こんな感じです。</div>
<div></div>
<div>代入するときは、</div>
<div>no=1;</div>
<div>no=no+1;</div>
<div>みたいに行います。</div>
<div>この場合、noは2になります。</div>
</pre>
<p> </p>
<pre>no=1;    //noを1に初期化</pre>
<pre>no=no+1; //no(今は1)に1を足した値をnoに代入</pre>
<p> </p>
<p>ちなみに、//以降はコメントとしてあつかわれます。</p>
<p>その他にも</p>
<p>/*</p>
<p>コメント</p>
<p>*/</p>
<p>というコメントの書き方もあります。</p>
<p> </p>
<p>ただし、ＭｅｔａＥｄｉｔｏｒでは<span style="color: #ff0000;">日本語が使えません</span>。</p>
<p>英語で書くか、ローマ字を使ってコメントを書くようにしてください。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/mql4%e3%81%a7%e5%88%a9%e7%94%a8%e3%81%a7%e3%81%8d%e3%82%8b%e5%a4%89%e6%95%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/mql4%e3%81%a7%e5%88%a9%e7%94%a8%e3%81%a7%e3%81%8d%e3%82%8b%e5%a4%89%e6%95%b0/" />
	</item>
		<item>
		<title>MQL4の作法</title>
		<link>http://metatraderfx.net/metatrader-beginner/mql4%e3%81%ae%e4%bd%9c%e6%b3%95/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/mql4%e3%81%ae%e4%bd%9c%e6%b3%95/#comments</comments>
		<pubDate>Fri, 01 May 2009 00:09:17 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[MQL4]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[MT4]]></category>
		<category><![CDATA[入門]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=31</guid>
		<description><![CDATA[ＭＱＬ４で、プログラムを組むときに必要な作法を紹介します。
メタトレーダーでインジケータやＥＡ（自動売買）を行うプログラムを組むときに、標準で用意されている関数があります。
基本は、この関数の中にコードを書いてプログラムを実装していきます。
 
○起動したときに１度だけ呼ばれる関数
int init()
{
return(0);
}
 
○終了するときに１度だけ呼ばれる関数
int deinit()
{
 return(0);
}
 
○レートが変化したときに呼ばれる関数
int start()
{
return(0);

}
※関数の前にvoid（型がない）を指定してある以外は、最後にreturn(値)で終了する必要があります。
 
インジケータやＥＡを作成するときに自動でスケルトン（処理が書かれていない関数）が自動的に作成されますが、initとdeinitは、省略可能です。

 
使い方としては、initはstartで使う変数を初期化したり、最初に１度だけやりたい計算や設定ファイルからの読み込みなどを書きます。
deinitは、終了するときに変数の内容を書き込んだり、ポジションをクローズしたりするときに利用します。
startは、レートの変化に合わせてグラフを書いたり、ポジションを持ったり、クローズしたりします。

 
ちなみに、インジケータとＥＡの差は、
インジケータは、足の数に合わせた変数配列を８個持つことができます。
この配列は、グラフの値とすることができて、ラインを引くと設定しておけば、値を入れるだけでグラフを書くことができます。
売買を行うことはできません。

 
ＥＡは、インジケータのようなバッファを持つことができません。
ただし、自分で宣言すれば変数配列を利用することは可能でが、グラフを自動的に書くようなことはできません。自分で宣言すればグラフを書くことは可能ですが、数に制限があったりするのでグラフを書くことは不向きです。
売買を行うことが可能です。


ということで、グラフを書くにはインジケータ、自動売買を行うにはＥＡと使い分けが必要です。

 
]]></description>
			<content:encoded><![CDATA[<p>ＭＱＬ４で、プログラムを組むときに必要な作法を紹介します。</p>
<p>メタトレーダーでインジケータやＥＡ（自動売買）を行うプログラムを組むときに、標準で用意されている関数があります。</p>
<p>基本は、この関数の中にコードを書いてプログラムを実装していきます。</p>
<p> </p>
<p>○起動したときに１度だけ呼ばれる関数</p>
<p>int init()</p>
<p>{</p>
<p>return(0);</p>
<p>}</p>
<p> </p>
<p>○終了するときに１度だけ呼ばれる関数</p>
<p>int deinit()</p>
<p>{</p>
<p><span> </span>return(0);</p>
<p>}</p>
<p> </p>
<p>○レートが変化したときに呼ばれる関数</p>
<p>int start()</p>
<p>{</p>
<p>return(0);</p>
<div>
<p>}</p>
<div>※関数の前にvoid（型がない）を指定してある以外は、最後にreturn(値)で終了する必要があります。</div>
<p> </p>
<div>インジケータやＥＡを作成するときに自動でスケルトン（処理が書かれていない関数）が自動的に作成されますが、initとdeinitは、省略可能です。</div>
<div></div>
<p> </p>
<div>使い方としては、initはstartで使う変数を初期化したり、最初に１度だけやりたい計算や設定ファイルからの読み込みなどを書きます。</div>
<div>deinitは、終了するときに変数の内容を書き込んだり、ポジションをクローズしたりするときに利用します。</div>
<div>startは、レートの変化に合わせてグラフを書いたり、ポジションを持ったり、クローズしたりします。</div>
<div></div>
<p> </p>
<div>ちなみに、インジケータとＥＡの差は、</div>
<div>インジケータは、足の数に合わせた変数配列を８個持つことができます。</div>
<div>この配列は、グラフの値とすることができて、ラインを引くと設定しておけば、値を入れるだけでグラフを書くことができます。</div>
<div>売買を行うことはできません。</div>
<div></div>
<p> </p>
<div>ＥＡは、インジケータのようなバッファを持つことができません。</div>
<div>ただし、自分で宣言すれば変数配列を利用することは可能でが、グラフを自動的に書くようなことはできません。自分で宣言すればグラフを書くことは可能ですが、数に制限があったりするのでグラフを書くことは不向きです。</div>
<div>売買を行うことが可能です。</div>
<div></div>
<div></div>
<div>ということで、グラフを書くにはインジケータ、自動売買を行うにはＥＡと使い分けが必要です。</div>
<div></div>
<p> </p></div>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/mql4%e3%81%ae%e4%bd%9c%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/mql4%e3%81%ae%e4%bd%9c%e6%b3%95/" />
	</item>
		<item>
		<title>MQL4という言語</title>
		<link>http://metatraderfx.net/metatrader-beginner/mql4%e3%81%a8%e3%81%84%e3%81%86%e8%a8%80%e8%aa%9e/</link>
		<comments>http://metatraderfx.net/metatrader-beginner/mql4%e3%81%a8%e3%81%84%e3%81%86%e8%a8%80%e8%aa%9e/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 23:31:49 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[MQL4]]></category>
		<category><![CDATA[メタトレーダー入門]]></category>
		<category><![CDATA[MT4]]></category>
		<category><![CDATA[入門]]></category>

		<guid isPermaLink="false">http://metatraderfx.net/?p=27</guid>
		<description><![CDATA[ＭＱＬ４という言語は、メタトレーダー（ＭＴ４）のインジケータ（グラフなどを表示するもの）、ＥＡ（自動売買）のプログラムを書くための言語です。
ＭｅｔａＥｄｉｔｏｒという標準のエディター（メモ帳みたいなもの）がついていて、それを使ってコーディング（プログラムを書くこと）を行い、コンパイル（メタトレーダーが読める形にする）を行います。
 
ＭＱＬ４は、よくＣににているといわれますが、私の感覚だとＣ＃ににていると思います。
クラスや構造体を作れないＣ＃というところでしょうか。
ただし、多次元配列を作ることができ、しかもいろいろな型を混ぜられるので、構造体の配列っぽいことは可能です。
 
ちょっと難しくなりましたが、覚えることはたいしてありません。
１．入れ物の宣言
２．ＩＦ文
３．ＦＯＲ文
基本は、これだけ押さえておけばプログラムは組めます。
他にもいくつか作法がありますが、少しずつすすめていきましょう。
]]></description>
			<content:encoded><![CDATA[<p>ＭＱＬ４という言語は、メタトレーダー（ＭＴ４）のインジケータ（グラフなどを表示するもの）、ＥＡ（自動売買）のプログラムを書くための言語です。</p>
<p>ＭｅｔａＥｄｉｔｏｒという標準のエディター（メモ帳みたいなもの）がついていて、それを使ってコーディング（プログラムを書くこと）を行い、コンパイル（メタトレーダーが読める形にする）を行います。</p>
<p> </p>
<p>ＭＱＬ４は、よくＣににているといわれますが、私の感覚だとＣ＃ににていると思います。</p>
<p>クラスや構造体を作れないＣ＃というところでしょうか。</p>
<p>ただし、多次元配列を作ることができ、しかもいろいろな型を混ぜられるので、構造体の配列っぽいことは可能です。</p>
<p> </p>
<p>ちょっと難しくなりましたが、覚えることはたいしてありません。</p>
<p>１．入れ物の宣言</p>
<p>２．ＩＦ文</p>
<p>３．ＦＯＲ文</p>
<p>基本は、これだけ押さえておけばプログラムは組めます。</p>
<p>他にもいくつか作法がありますが、少しずつすすめていきましょう。</p>
]]></content:encoded>
			<wfw:commentRss>http://metatraderfx.net/metatrader-beginner/mql4%e3%81%a8%e3%81%84%e3%81%86%e8%a8%80%e8%aa%9e/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://metatraderfx.net/metatrader-beginner/mql4%e3%81%a8%e3%81%84%e3%81%86%e8%a8%80%e8%aa%9e/" />
	</item>
	</channel>
</rss>

