メタトレーダー知恵袋 by FX自動売買シグナルで資産倍増計画 62772
メタトレーダーに関する疑問や知りたいことを、質問できるメタトレーダー知恵袋です。参加してお互いに知恵や知識を教えあいましょう! ※新しい質問は、ページ一番下で新規スレッドを立ててくださいm(_ _)m
| 天皇王朝の特徴に、「歴史的土地ころがし」 | ■↑▼ |
2014/02/13 (Thu) 14:45:29
host:*.synapse.ne.jp天皇王朝の特徴に、「歴史的土地ころがし」
http://park.geocities.jp/j_con4/0204/p041.html#page277
ひとたび、都や都市が頂点に達すると、
未来永久に、「政治的いじめ」が続く。
それは、古代のエジプト、メソポタミア、ギリシャ、ローマが、
住民の努力にもかかわらず一貫してほろび続けるのと同じ現象だ。
世界の支配者にとって、都会の歴史的土地ころがしほど、
莫大な富をもたらすものはない。
(仮説を含む)
( http://park.geocities.jp/jpcdebate/0103/p033.html )
| MT4のメール配信 | ■↑▼ |
2010/01/24 (Sun) 17:32:07
host:*.bbiq.jpはじめまして。こんにちわ^^
質問ですが、自宅と職場にてMT4(ODL)のデモにてトレードしています。
(トレード自体は、別会社ですが)
職場でのMT4のメール配信ですが、最初は携帯にメールが飛ぶのですが、
数日後か数週間後くらいから、メールが飛ばなくなります。その都度、
別のMT4の会社でやり直すのですが、理由がわかりません。
どなたか、同じ経験されている方はいらっしゃるでしょうか?
自宅のMT4は、ちゃんと、メールが飛んできます。
ちなみに、職場は、BBIQで自宅は、NTT光でぷららにて使用中です。
関係があるのでしょうか?
2010/02/01 (Mon) 01:42:47
host:*.yournet.ne.jpチャート上の左上に使用しているインジケーター名が表示されますが、
これを非表示にする方法がありましたら教えてください。
2011/03/03 (Thu) 22:14:52
host:*.e-mobile.ne.jp素人です。
ForexTester
http://www.forextester.jp/data/datasources.htmlでダウンロードしたファイルが開けません。
FX メタトレーダー バックテスト ヒストリーセンター
バックテストをしたいのですが、ヒストリーセンターから得られるデータが少ないです。
ユーロドル月足だと1989年のデータまであるのに、一分足だと2010年の12月末までしかダウンロードできません。
どうしたらいいでしょうか?
ヒストリー内の最大バー、チャートの最大バーは最大に指定しています。
スクロールによる手動取得(洗濯バサミ)や、http://d.hatena.ne.jp/fai_fx/20100318/1268838133で書かれている方法もよく意味が分かりません。
そもそも外国為替市場において、どこまでさかのぼったデータが存在するのでしょうか。。。
※目的は、一分足のチャートデータを最大までさかのぼってバックテストを行うことです。
よろしくお願いします。
| 初心者質問ですいません | ■↑▼ |
2009/10/01 (Thu) 12:50:34
host:*.jp-t.ne.jpこちらの管理人さんのサイトからMT4の素晴らしさを教えて頂き色々な方に教えて頂いたインジケータを入れてたんですが、突如動かなくなってしまいました。
ネットで検索してもPCスキルのない僕には専門用語が難しすぎて困ってます。
MT4にインジケータを入れる手順を易しく教えてもらえませんか?
2009/10/01 (Thu) 18:53:36
host:*.vectant.ne.jp1)インジケーターを保存してください
保存先
c:\Program Files\MetaTrader 4\experts\indicators
2)メタトレーダー起動
メタトレーダーを起動してください。
3)インジケーターを動かす通貨ペアを開く
インジケーターを起動させる通貨ペアのチャートを開いてください。
4)インジケーターのアタッチ
ナビゲーターウィンドーよりインジケーターを選択して
動作させるチャート上にドロップしてください。
5)パラメーターの設定
パラメータ設定画面が表示されますのでパラメータを入力してOKをクリック
以上です。
> こちらの管理人さんのサイトからMT4の素晴らしさを教えて頂き色々な方に教えて頂いたインジケータを入れてたんですが、突如動かなくなってしまいました。
MTが全く動かないという事でしょうか?
多分ですが、入れたインジケーターがおかしいのではないでしょうか?
その場合は一旦入れたインジケーターを削除して再起動すれば動くようになるはずです。
c:\Program Files\MetaTrader 4\experts\indicators
の中から入れたインジケーターを削除してください。
多分直るはずです。
インジケーターに不具合があり無限ループになっていたり、扱うデータが膨大で固まってしまったりといったのが原因だと思います。
2009/10/01 (Thu) 22:06:28
host:*.ocn.ne.jpありがとうございます。
直りました。
助かりました。(^o^)丿
2009/10/02 (Fri) 15:57:13
host:*.ocn.ne.jpメタトレーダーのバックテストの際のインディケーターはひとつしか検証は出来ないのでしょうか?
複数の組み合わせのバックテストが出来るいい方法はありませんか?
2009/10/02 (Fri) 16:00:34
host:*.vectant.ne.jpインジケーターというよりEAしかバックテストできませんね。
インジケーターの場合はシグナルは出せますがオーダーの命令がでていないので、ストラテジーテスターではテストできません。
もし、複数のインジケーターを組み合わせたものをテストしたい場合は、そういうEAを組むしかないですね。
2009/10/02 (Fri) 16:10:14
host:*.ocn.ne.jpシンプルなEAなんですが、自分でも作成可能でしょうか?
難しければおいくらくらいで作っていただけますか?
2009/10/02 (Fri) 16:16:38
host:*.vectant.ne.jpどんな内容でしょうか?
既存のテクニカルを組みあわせるだけなら簡単ですよ。
ただ、とはいっても初めての方には、ちょっと難しいと感じるかもしれませんね。。。(^^;
製作をご依頼されるのであれば、以下のページにご案内がありますが、基本EAの製作なら2万円を頂いています。
http://ameblo.jp/smarttradefx/theme-10015342394.html
もし宜しければご検討ください。
2009/11/08 (Sun) 13:18:47
host:*.zaq.ne.jpストラテジーテスターを使ってM5 期間1ヶ月で練習しているのですが ゆっくり進みます
一か月分をすぐ全部見れる方法を知りませんか?
緑のランプがなかなか進まないのです
よろしく
2009/11/08 (Sun) 14:49:47
host:*.vectant.ne.jp緑のランプというのが、ちょっと分かりませんが
多分、ヴィジュアルモードでテストされているのかと思います。
Visual modeのチェックボックスがチェックされていませんか?
もし、そうであれば、そのチェックを外すと、チャート画面はでませんが、早くテストが完了します。
Visual modeで、実際の動きを確認しながらテストするのであれば
Visual modeの右のスライドを一番右まで動かせば、早く動きます。
2009/11/09 (Mon) 23:34:45
host:*.eonet.ne.jpこんばんわ
EA初心者です。
1つのバーでロスカットと新規建てを繰り返しあっと言う間に資金が底をつきました。
どうすればいいのか教えてくださいませんか。
2009/11/10 (Tue) 00:10:24
host:*.vectant.ne.jpmaruさんへ
EAの作り方によりますが、tick(レートの変化)に売買を行うような組み方をした場合、そのような現象になる可能性がありますね。
なので、?ローソク足が確定したときにしか売買をしないようにする方法 ?同じ足で2度の建玉をしないようにする方法、?決済はレート変化で判断するが、建玉はローソク足が確定してからしか行わないなど、といった方法が考えられます。
一番、簡単なのが、?ローソク足が確定した時しか売買しないようにする方法で
start()の直後に
if(Volume[0] > 1) return(0);
を挿入すると出来ます。
Volume[0]は、最新の足のレートの変化数を記憶している予約変数で、足ができてからレートが変化するたびに数値が上がります。
つまり、最初の1回のみ、IF文の後の処理を行い、2回目以降はreturn(0)でプログラムを終了するようにするというものです。
これを、応用すると、?決済はレート毎、建玉は足が完成した時1回処理するという方法も簡単で
決済処理
if(Volume[0] > 1) return(0);
建玉処理
とすると、決済はレート毎に動きますが、建玉は足が完成した最初の1回しか動かないようにできます。
最後に?の同じ足で2度の建玉をしないようにする方法というのは
if(flag != true) {
建玉処理
flag = true; //建玉とした
}
if(Volume[0] = 1) flag = false;
建玉処理をした後にフラグを立て、フラグが立っていれば、建玉をしない
フラグを落とすのは、足が完成してから
といった風にプログラミングすれば可能です。
2009/11/10 (Tue) 22:57:09
host:*.eonet.ne.jp007さん 本当にありがとうございます。
さっそく試してみます。
2010/01/14 (Thu) 01:21:30
host:*.eonet.ne.jp通過ペアの分散投資をしたいのですが、
まず、オーダー数を10としてOrdersTotal()<=10でしばっています。
次に、USD/JPY 2,GBP/JPY 5,AUD/USD 3のウェイトで、OrderSymbol()を使って
やってみるのですが上手くいきません。
どのようにすればよいのかご存知の方教えてくださいませんか。
また、条件文はどの位置にいれればよろしいのでしょうか。
よろしくお願いします。
| _00_ZZ_v2というインジケータで | ■↑▼ |
2009/12/14 (Mon) 03:30:40
host:*.so-net.ne.jp初めまして。
EAの製作で行き詰ってしまいまして
自分の質問に答えて頂けるような場所を探していたところここに辿り着きました。
早速で恐縮ですがもしおわかりになる方がいらっしゃいましたらお答え頂けますと幸いです。
_00_ZZ_v2というインジケータで
現在(もしくは過去)青のラインと黄のライン(正式名称は不明)のどちらが描画されているか判定したいのですが
どちらかのラインが描画されているとき描画されていない方のラインにはどんな値が代入されているかわかりますか?
_00_ZZ_v2のソースは
ttp://desynced.no-ip.org/fx/eas/mq4script-394.php?pop=true
ここに
mq4ファイルは
ttp://www.forex-tsd.com/indicators-metatrader-4/12901-w-d-gann-indicators-others-15.html
ここから入手できます。
似たようなインジケータのVQの時は単純にEMPTY_VALUEだったのでソースの意味がわからなくても何とかなったのですが
_00_ZZ_v2はソースをちょっと見ただけではどこで描画さているのかされていないのかよくわからなかったもので…。
最終的なラインの値自体はExtMapBufferの5と6に代入されていると思うのですが…。
どなたかおわかりになる方がいらっしゃいましたら御教授頂けますと幸いです。よろしくお願い致します。
2009/12/14 (Mon) 10:49:15
host:*.vectant.ne.jpデータウィンドーを表示してカーソルをラインに合わせてみれば分かりますよ。
今回のインジケーターの場合、データウィンドーに「サブウィンドー」と表示されて以下のように表示されます。
ZZ 0.0010
Value2
Value3 0.0010
Value4
上から順番に指標バッファーの0,1,2,3になります。値が入っていないのは「EMPTY_VALUE」になります。尚、色が変化する箇所は全部のバッファーに同じ値が入ります。
また、色も線にカーソルを合わせてみれば分かりますが、例えば、青いラインに重ねると以下の様に表示されます
ZZ 0.0010
Value2
Value3 0.0010
Value4
ZZ(指標バッファ0)とValue3(指標バッファ2)が青
Value1(指標バッファ1)とValue4(指標バッファ3)が黄色だと分かります。
iCustom関数を使って、このインジケーターの値を読もうとしておられるのだと思いますが、以上のように見ればプログラムを解析せずとも読むことができますよ。
つまり
BufBlue = iCustom(NULL,0,_00_ZZ_v2,0,shift);
BufYellow = iCustom(NULL,0,_00_ZZ_v2,1,shift);
BufBlue :青ラインの値
BufYellow:黄色ラインの値;
shift :バーの位置
で分かります。
2009/12/14 (Mon) 15:52:16
host:*.so-net.ne.jp早速のご返答ありがとう御座います。
確かにラインにカーソルを合わせると値を見ることができるのですが
描画されていないラインはEMPTY_VALUEが代入されていると考えてよろしいのでしょうか…?
VQの時はソースを見ると明確にEMPTY_VALUEが代入されていたので
どちらのラインが描画されているかは!=EMPTY_VALUE,==EMPTY_VALUEで簡単に判別できたのですが
今回はちょっと見ただけではそれらしい部分が見つからず…
試しに==EMPTY_VALUEの時のみ取引するEAを組んでみても1度も取引がされないんですよね。
そのことから描画されないラインの値はEMPTY_VALUE以外の値か
もしくは宣言のみで何も値が代入されていないか(この場合EMPTY_VALUEと扱いが違うのかわかりませんが)
のどちらかだと思ったのですがソースの意味がわからずどうなっているのか…
ソースの意味がわかれば描画されない方に自分で何かしらの値を代入してもいいんですが…
といった状況でして
どちらのラインが描画されているかはどう判定したらいいものかと…
2009/12/14 (Mon) 17:05:31
host:*.vectant.ne.jp「EMPTY_VALUE」が代入されているというよりは、何も入力されてなければ、値がない「EMPTY_VALUE」となります。
確認方法は、直接ソースを見る事でもできますが、ソースを見なくも分かります。
例えば、ソースを公開されていないインジケーターでも下記の方法を使えば確認できますよ
まず、_00_ZZ_v2が、データウィンドーで4つの指標バッファを使っていることが分かりますよね?
そしたら、単純に4つの指標バッファーを読み込んでみて、それをComment()文で表示させてみるのです
Buf0[shift] = iCustom(NULL,0,_00_ZZ_v2,0,shift);
Buf1[shift] = iCustom(NULL,0,_00_ZZ_v2,1,shift);
Buf2[shift] = iCustom(NULL,0,_00_ZZ_v2,2,shift);
Buf3[shift] = iCustom(NULL,0,_00_ZZ_v2,3,shift);
Comment("Buf0:",Buf0[shift]," Buf1:",Buf1[shift]," Buf2:",Buf2[shift]," Buf3:",Buf3[shift]);
値が入っていれば、その数値が表示が表示
EMPTY_VALUEなら、2147483647(16進表記で7FFFFFFF)が表示されます。
試してみてください。
2009/12/14 (Mon) 18:41:24
host:*.so-net.ne.jpなるほどComment()ですか。
試してみたところ_00_ZZ_v2において描画されていないラインには主に0が代入されているようですね。
これをヒントに色々見てみたところ
このインジケータではラインは描画されていないのではなく重なって見えないようになっているだけのようで
どうやら見えない方のラインにも普通に値が代入されているように見えますね……
そうなると困りました…自分にはどちらのラインがメインか判定する方法が思いつきません…。
案の定==0で判断すると売買ポイントがおかしいですし。
これではどちらのラインがメインか判定できないので描画されていないラインの方にはEMPTY_VALUEなりなんなり入れてやりたいところですが…
どうやらこの0という値はifなどの判定に使用されているようで…
こうなるとソースの意味がわからないといじれないレベルになってくるような気がするのですが……
なので何度も申し訳ないですが
インジケータのシステムはそのままに最終的にサブの方のラインにEMPTY_VALUEを入れてやるか
もしくはこのままの状態でどちらのラインがメインか判定できる良い方法はないでしょうか?
お手数をお掛けして申し訳御座いませんが良い方法があれば御教授頂けますと幸いです。
2009/12/20 (Sun) 14:06:20
host:*.so-net.ne.jp自力でなんとか致しました。ご協力ありがとうございました。
| 単純移動平均でのクロス | ■↑▼ |
2009/12/09 (Wed) 00:15:59
host:*.yournet.ne.jp質問が消えていたので再度同じ質問をします。
単純移動平均のクロスで自動売買は可能ですか?
2009/12/09 (Wed) 10:56:53
host:*.vectant.ne.jpマサさん、こんにちは
おかしいですね。ぽん太さんが、回答されていたのですが消えてしまっていますね・・・
履歴が残っているので、再度、ぽん太さんの回答をアップしますね。
-----------------------------------
▽名前:
ぽん太
▽題名:
無題
▽メッセージ:
-------------------
可能ですよ。
たとえばこんな感じです。
↓
// 共通関数インクルード
#include <stdlib.mqh>
// 入力パラメータ定義
extern double Lots = 1.0;
extern int SlipPage = 3;
extern int MaFastPeriod = 21;
extern int MaSlowPeriod = 89;
// マジックナンバー定義
int MagicNumber = 383728;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
// 共通変数定義
int ticket, err, i;
// 移動平均線の値を取得する
double fast[2], slow[2];
fast[0] = iMA(NULL, 0, MaFastPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
fast[1] = iMA(NULL, 0, MaFastPeriod, 0, MODE_SMA, PRICE_CLOSE, 2);
slow[0] = iMA(NULL, 0, MaSlowPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
slow[1] = iMA(NULL, 0, MaSlowPeriod, 0, MODE_SMA, PRICE_CLOSE, 2);
// ポジションのチェック
int buyTicket = -1; int sellTicket = -1;
for (i = 0; i < OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true) {
if(OrderSymbol() == Symbol() && OrderMagicNumber()==MagicNumber) {
if (OrderType() == OP_BUY) buyTicket = OrderTicket();
else if (OrderType() == OP_SELL) sellTicket = OrderTicket();
}
}
}
// エントリー条件
if (buyTicket == -1 && sellTicket == -1) {
if (crossUp(fast, slow) == true) {
// 買い注文を発注する
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, SlipPage,
0, 0, NULL, MagicNumber, 0, Blue);
if (ticket == -1) {
err = GetLastError();
Print("error(",err,"): ", ErrorDescription(err));
}
} else if (crossDown(fast, slow) == true) {
// 売り注文を発注する
ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, SlipPage,
0, 0, NULL, MagicNumber, 0, Red);
if (ticket == -1) {
err = GetLastError();
Print("error(",err,"): ", ErrorDescription(err));
}
}
}
// クローズ条件
if (buyTicket != -1 && crossDown(fast, slow) == true) {
// 買い注文を決済する
if (OrderClose(buyTicket, OrderLots(), Bid, SlipPage, Blue) == false) {
err = GetLastError();
Print("error(",err,"): ", ErrorDescription(err));
}
} else if (sellTicket != -1 && crossUp(fast, slow) == true) {
// 売り注文を決済する
if (OrderClose(sellTicket, OrderLots(), Ask, SlipPage, Red) == false) {
err = GetLastError();
Print("error(",err,"): ", ErrorDescription(err));
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
// クロスアップ関数
bool crossUp(double first[], double second[]) {
if (first[1] < second[1] && second[0] <= first[0]) {
return (true);
}
return (false);
}
// クロスダウン関数
bool crossDown(double first[], double second[]) {
if (first[1] > second[1] && second[0] >= first[0]) {
return (true);
}
return (false);
}
2009/12/10 (Thu) 03:52:40
host:*.bbtec.netありがとうございます。
ただ、プログラム知識がないので、見ただけでは分からないので、このプログラムに関しての参考書などはありますか?
度々質問ですがお願いします。
2009/12/10 (Thu) 08:20:17
host:*.vectant.ne.jpブログで紹介しているこの書籍が良いですよ。
http://ameblo.jp/smarttradefx/entry-10325412845.html
| アラーム | ■↑▼ |
2009/11/12 (Thu) 19:46:13
host:*.jp-t.ne.jpメタトレーダーでアラームは鳴るんですか?
例えば、150円になった時に買いたいなみたいなときにアラームセットできますか?
度々、初心者質問ですいません。
2009/11/12 (Thu) 20:25:16
host:*.vectant.ne.jp標準機能ではないですね・・・
プログラムを書けば実現できますよ。
2009/11/13 (Fri) 20:08:51
host:*.jp-t.ne.jp>標準機能ではないですね・・・
そうですか…。残念です。
>プログラムを書けば実現できますよ。
プログラムは難しそうなんで…。
でも、メタトレーダーならアラームの機能がありそうなもんですがね。(泣)
最後になりましたが返信ありがとうございます。
2009/12/01 (Tue) 07:53:48
host:*.jp-t.ne.jpまたまた、初心者質問なんですが。
MT4のデモ口座を開いて取り引きしてるんですがデモ口座の期限がきてしまって動かなくなってしまいました。
デモ口座を延長することってできるんですか?
とりあえず、今は別の会社のデモ口座を申請してMT4を使ってますが。
色々、インジケータを入れたんで前のチャートを使いたくて。
よろしくお願いします。
2009/12/01 (Tue) 09:08:08
host:*.vectant.ne.jpデモ口座は、大体1ヶ月〜程度で期限が切れてしまいます。
再申請は、メニューの「ファイル」→「デモ口座の申請」でできますよ。
2009/12/04 (Fri) 19:33:18
host:*.jp-t.ne.jpそうなんですか。
ファイルですね?わざわざお答えいただいてありがとうございます。
| こんなプログラミングは可能ですか | ■↑▼ |
2009/11/21 (Sat) 16:22:50
host:*.ocn.ne.jp初めまして。
当方EA勉強中の初心者です。
いろいろ検索しているうちにここのサイトにたどり着きました。
早速質問なのですが、、
メタトレーダーで自動売買模索中ですが、
検証もある程度してロジックもだいたい
できあがったので、EAを作りたいのですが
?ポリンジャーバンドのα2を終値が突き抜けた後
ある一定の条件がそろったとき、終値がα-2に到達
したとき売り注文をだす。
?買い注文はその逆。
?決済はある一定の条件がそろったとき決済する。
?複数のポジションはもたない。
そこで質問なのですが、売り注文の場合
?の条件をプログラミングする際、
ポリンジャーバンドのα2を終値が突き抜けた時
架空の買いを出して、
決済条件は、α-2に終値が到達ししたとき。
その時、ある一定の条件がそろったとき
ドテンして本当の売り注文をだす。
ある一定の条件がそろわなかったら、
ドテンして架空の売り注文をだす。
この場合、架空の注文を出すというプログラミング
は可能でしょうか?
もちろん架空の注文中は、他の注文を一切出さないように
したいのですが。(?の条件)
文章がへたなもので、
なかなかロジックを言葉で表現するのは、難しいですが
宜しくお願いします。
2009/11/22 (Sun) 11:54:11
host:*.vectant.ne.jpぽん太さん、こんにちは
架空の注文を出すという意味がどうもよく分かりません。。。。
具体的にはどのような事をするのでしょう?
注文の為の準備をする??
それともロット数0で注文を出す??
※、ロット数0では注文が通りませんが・・・
2009/11/22 (Sun) 21:11:13
host:*.eonet.ne.jp007さんこんにちは
架空の注文というのは
要するにロット数0ということです。
ただ、あくまで一つの手段として思いついただけで、
要するに、売り注文の場合は
ポリンジャーバンドのα2を終値が突き抜けた後
ある一定の条件がそろったとき、終値がα-2に到達
したとき売り注文をだす。(買いはその逆)
(ポリンジャーバンドのα2を終値が突き抜けた後)
という部分の売買条件のプログラムの組み方がイメージできないんです。
それで思いついたのが今回の質問の内容なのですが。
質問の内容を変えると、、
α2を終値が突き抜けた後という条件のプログラミング
例えばこんなかんじです。
売り注文を出す時のif文の条件式として
任意の前のバー終値>α2
任意の前のバーから一つ前のバーまで終値>α-2
↓
これがわからないんです。
宜しくお願いします。
| MAの傾き | ■↑▼ |
2009/11/19 (Thu) 14:12:28
host:*.ezweb.ne.jpはじめまして。
MT4でMAからの乖離率を表示するインジケーターは知っているのですが
MA自体の傾きを表示するインジケーターはありませんでしょうか?
よろしくお願い致します。
2009/11/19 (Thu) 14:19:30
host:*.vectant.ne.jp
傾きですか?ネットでくまなく探せばあるかもしれませんが、知っている限りでは無料インジケーターでは見た事がないですね。
ただ、以前にも似たようなお話を頂いた事がありますので製作は可能ですよ。
傾きの計算は、傾きを求める足を2点決めて、その足の間の時間(a)とレートの差(b)を出して、atan(a/b)で求めることができます
| MTFを使用したEAのバックテスト | ■↑▼ |
2009/10/07 (Wed) 12:06:15
host:*.ocn.ne.jp始めまして。
BLOG拝見しました。有意義な内容で参考になります。
教えていただきたいのですが、Q&Aに記載がありますストラテジーテスターがMTFに対応して
いない件での質問です。
たとえば、4時間足の移動平均の向き(上か下か)を見て(iMAで時間足指定)、60分のMACD(iMACDにて時間足指定)
のGCでエントリーするというロジックのEAは、MTFに該当すると思いますが、テスターでのバックテストの
結果は正しくないという事でしょうか?
上記EAでバックテストした場合、Grafh等に結果が表示されますが、正常に動作しているのかしていない
のかの判断はどこで確認できるのでしょうか?(エラー等のメッセージは?)
すいませんが宜しくお願いします。
2009/10/07 (Wed) 13:25:06
host:*.vectant.ne.jp60分足のMACDを15分足でみられてるという事ですね。その場合正しくないと思われます。メタトレーダーは、とにかく他の時間足や他の通貨のデータをストラテジーテスターで使えないのです。確認方法は簡単でEAにコメントを付けて、コメントで60分足のMACDのシグナルとメインの値を表示するようにして、ストラテジーテスターを動かしてみてください。するとチャートに表示されますが、動いていないはずです。
2009/10/07 (Wed) 14:23:15
host:*.ocn.ne.jp早々回答ありがとうございます。試して見ます。
先日「FX自動売買ロボット作成マニュアル」著 山口隆志 を購入して勉強中なんですが、
この本ではMTFのバックテストができる事になっています。私が何か勘違いしているのか?
かなり混乱してます・・・。
2009/10/07 (Wed) 14:42:26
host:*.vectant.ne.jp具体的なページNo分かりますか?
その本は僕も持っていますので確認してみます。
何本もMTFや他通貨のデータを引っ張るEAを作っているので間違いないかと思います。
こちらのブログにも、解説されているので、僕自身は使えないものだと思っていますが
http://stocktradediary.blog39.fc2.com/blog-entry-132.html
もしかしたら、使える方法があるのかもしれません。
2009/10/07 (Wed) 15:13:38
host:*.ocn.ne.jp当方初心者なので勘違いの場合はお許しください。
P204から記載されているEA(無料配布EAのTest5だと思います)に関してです。
P231の下から7行目に 「今回は作成した「Test]のEAを選択します」と記載がありますが
上記のTest5のファイルの事と理解しています。
以降バックテストをした結果が記載されています。よっててっきりできるものと思い
メタトレーダーはすごいなと大変喜んでいたんですが・・・。
以上宜しくお願いします。
少し別件ですが、この本のP230からのバックテスト結果が、本の通りにやっても全く違う
結果となります。121証券で試して見ましたがいかでしょうか?もし試されていたら教えてください。
2009/10/07 (Wed) 15:32:40
host:*.vectant.ne.jpこの解説をみると確かに、MACDのMTFを使ったテストのようですね。
もし、このTest5のプログラムをお持ちですか?
もしお持ちであればこちらでテストしてみますので、メールで送っていただけないでしょうか?
smarttradefx@gmail.com
2009/10/07 (Wed) 16:05:08
host:*.vectant.ne.jp結果報告
ShionさんよりEAを送ってもらい検証しました。
結果、他の時間帯のデータを取ってくると値が0となる事がはっきりしました。
メタトレーダーのストラテジーテスターでは、他の時間帯や他の通貨の値を持ってくる事はできません。EAを作られる際には
注意が必要です。
2009/10/07 (Wed) 16:40:57
host:*.ocn.ne.jp大変助かりました。
”コメントで60分足のMACDのシグナルとメインの値を表示するようにして・・・”
の意味も良くわかりました。実際のEAではMACDは15分でした。
テスターで試してみましたが、期間を60分以外の値にしてもMAが0にならないのは
なぜでしょうか? 期間を15分にするとMACDとMA両方共数字がかわります
。
60分以外に設定するとMAは0になり、15分以外に設定するとMACDは0になるという
理解は正しいでしょうか?
たびたびすいません。
2009/10/07 (Wed) 19:20:01
host:*.vectant.ne.jp確認しました。
全て駄目なわけではなく、15分足のチャートで動かすと、60分のデータも見れるが、60分足のチャートで動かすと15分は見れないようです。
つまり、EAがアタッチされた時間足以上のものは取れるが、小さい時間帯は取れないというみたいです。多分、これは、ヒストリーデータが細かい時間帯の場合データが欠損しているからだと思います。大きい時間ならヒストリーにデータがありますので動くのだという感じみたいですね。
ちょっと私も認識が違っていたみたいです。
2009/10/07 (Wed) 19:56:19
host:*.ocn.ne.jp再度試してみたらMACDの値は以下の状況でした。
・1分 :動く。
・5分 :動かない。
・15分:動く。
・30分:動かない。
・60分:動かない。
なぜか1分で動くのに5分では動かないですね。ここは何か理由があるんでしょうね。
という事はTest5のファイルは、MAが60分でMACDが15分なので、期間15分の設定では
正常にバックテストできているかもしれないですね。本では期間60分でバックテストを実施
しているのでこの結果がどうなのか疑問ですね。
期間15分でバックテスト後チャート表示させてMACDとMTF 60MAを表示させると、確かに
60MAのフィルタは機能しているように見えます。
2009/10/09 (Fri) 14:04:13
host:*.vectant.ne.jpやはり、MTFのバックテストは出来る場合もありますが、動作しない場合もあるので基本的に駄目だと思ったほうが良さそうですね。
たとえ、動いたように見えても、途中でデータの欠損があって動かない部分があったりすると、テスト結果も信頼性に乏しいです。