【MT4】MetaTrader Part14【メタトレーダー】

このエントリーをはてなブックマークに追加
952Trader@Live!:2008/10/23(木) 00:41:30 ID:sdyIDJLH
>>951
一度CFDのS&P500やDAXなんかをやってみてもいいよ。
勿論先物の方ね。
楽しいよ。
心臓が止まりそうになるし
953Trader@Live!:2008/10/23(木) 02:16:22 ID:DMETSKFD
946さんは独学で勉強してメタでEA作った上にバックテストまでしたの?頭良いなあ
954Trader@Live!:2008/10/23(木) 03:41:04 ID:YviJJpaG
FXDDのドル円のヒストリカルデータって1ドル1000円ぐらいの変なデータが入ってないですか?
ダウンロードを何回かやっても入ってくるので削除するのですが、こういうのって自分だけですか?
955Trader@Live!:2008/10/23(木) 03:57:17 ID:HtckaoK+
どこの業者でもだいたい変なデータは入ってる。なので業者のヒストリカルデータをそのまま使うなんてことは普通しない
まずはイリーガルデータをフィルタリングしてからクオリティチェックをかけないと使い物にならないし信頼もできないかと
956904=946:2008/10/23(木) 07:34:30 ID:whIg1kRN
>>952
小心者ですので、心臓止まりそうな市場はちょっと。。

>>953
金融なんて興味無く、日経平均?何それ?ってカンジだったのが2月くらいで
本買って、本格的に勉強始めたのが2ヶ月前です。プログラムは仕事で書いて
ましたので、問題無かったです。実際C言語より簡単です。ただ、Cと同じように
書いたら、コンパイルエラー。納得行かない時もあったけど、今は慣れました。
こんなカンジのコードは、MQL4ではエラッタになりますね。

int a, b: a = b = 0; for (int i = 0; i > 0 && data[i] != 0; i++);

バックテスト自体は、Sample_MACD.MQ4見れば、何してるのかは大体判ります。
問題は、>>954, >>955でも書かれていますが、FXDDやAlplariでもデータ欠損が
非常に多いということです。これは、多分どこの業者のデータを取り寄せても同じ
でしょう。自分は、ForexiteのデータをAutoForexiteでチェックして整合性を保って
います。こうしないと、Modeling quality = n/aとかになり、検証結果が信頼できなく
なってしまうためです。

http://www.forexite.com/free_forex_quotes/forex_history_arhiv.html
http://kasege.net/forex/archives/2006/09/forexitedl_autoforexite.html

どうやって、ヒストリカルデータとして使うかですが、稚拙ではありますが、以前
■テクニカルについて語ろう■Part14
http://anchorage.2ch.net/test/read.cgi/livemarket2/1222761953/426
http://anchorage.2ch.net/test/read.cgi/livemarket2/1222761953/428
で、書きました。取り敢えず、この方法でデータ整合性は取れています。

あとは、「新・魔術師たちの心理学」を100回以上読み直したことで、いろいろな
理論を考えるようになりました。本で学んだことを参考にしながら、自分なりに考えて
エクセルで検証できる部分の検証をやっています。それで、考えてほぼ納得の行く
アルゴリズムになったら、EAを自作しています。
それと探究心です。OerderModify()関数を2回呼ぶとどうなるかとか、OrderClose()後に
OrderSend()関数使ってドテンしたら、戦績にどう影響するかとかなど興味は尽きません。

頭では無くて、自分のやってることを理解できているかが大事だと思います。

朝から、えらそうなコト書いてスミマセン。
957Trader@Live!:2008/10/23(木) 09:36:43 ID:0BG4sSkU
たった今MT4スレ開いてMT4の内容もまったくしらない俺が書くのもなんだけど、
int a, b: a = b = 0; for (int i = 0; i > 0 && data[i] != 0; i++);
これの i > 0は何の意味あんの?
添え字0からじゃないならi = 1で初期化すればいいんでないの?
Cでもそんなアホなことしないよね。
958Trader@Live!:2008/10/23(木) 10:30:15 ID:FtVUh7Aj
>>957
多分 i < n と間違えたのでは。i > 0 ならそもそもループしないしね。
ちなみにMT4ができないのは a = b = 0 の部分だけ。
と思ったら単独 ";" もだめみたいだね、これは新発見w
959Trader@Live!:2008/10/23(木) 11:05:05 ID:4E4iMuhW
余計なことかもしれないけど、Forexiteのデータの信頼性を一度疑ってみたほうがいいと思いますよ。
960Trader@Live!:2008/10/23(木) 11:25:32 ID:KArRxFm7

次スレ

【MT4】MetaTrader Part15【メタトレーダー】
http://anchorage.2ch.net/test/read.cgi/livemarket2/1224728521/
961Trader@Live!:2008/10/23(木) 11:48:13 ID:DMETSKFD
956さん なるほどプログラム経験者でしたか。周りにそういう方いればもっと力入れて研究出来るんですけど…
962Trader@Live!:2008/10/23(木) 20:18:09 ID:IBvTO+sb
ヒストリカルセンターのデータは全てMetaQuoteだぜ、
FXDDでもDLすると注意書きがでるじゃろ
963904=946:2008/10/23(木) 22:49:06 ID:whIg1kRN
>>958
エラッタの例なので、forループの式は適当です。(^o^)
データを管理するdata配列があって、配列の値がゼロのエントリを検索
する処理をC言語で書く場合

int i, data[10]; for (i = 0; i < 10 && data[i] != 0; i++); /* NOP */
 if (i != 10) { printf("見つかった\n"); } else { printf("見つかんない\n"); }

のように、私は、NOPループさせるんですけど、このNOP(No Operation)が
エラッタになるということを言いたかったワケなので。

i = j = 0; これがエラッタになるのは、勘弁して欲しいです。美しくないですから。

>>959
おっしゃることは判りますが、出元のデータはある意味どうでもいいんです。
データの出元を疑うと、そもそも整合性を取る意味が無くなるワケで、FXDDの
欠損データでやるよりマシくらいの感覚しか持ってません。
以前、擬似乱数生成器(Pseudo Random Number Generator/PRNG)を使って
特定の範囲内に分散するデータを作りましたが、これでも検証はできます。
使ったライブラリは、OpenSSLです。JavaでもPRNG使ってデータは作れます。

データスクランブルって言われるらしいのですが、データに関しては、本当に
何でもいいと思っています。信頼性が元々無いモノという認識でいます。

>>961
会社ではもうプログラミングしてませんが、家では現役プログラマです。(^_^:)
汎用プログラミング言語は、それこそ何でもできますが、MQL4の場合トレード
に関することだけですので、勉強し易いと思います。
ウエブの情報だけで勉強するだけでもソコソコいけると思いますが、メタ本も
出てますので、体系立てて勉強するのが、イチバンだし早道だと思います。
964904=956:2008/10/23(木) 23:04:01 ID:whIg1kRN
>>961
C言語なら、WindowsPCで動くUNIX環境であるCygwinがオススメです。
GCC(GNU Compiler)を、セットアップ時に選択すれば使えます。
フリー(GPL)で公開されていますので、自習用にいい選択だと思います。

http://cygwin.com/

Microsoft Visual Stdio Express 2005でも、MFC使えないだけで、コマンドラインで
動かすコンソールアプリケーションなら作れます。こちらも無償公開されています。

プログラミングは楽しいですよ。自分の書いた通りに動きますから。頑張って下さい。
965Trader@Live!:2008/10/23(木) 23:15:18 ID:emBY5E3B
>>963
普通エラッタと言ったらチップのバグのことだな。コンパイラのバグならまだしも、それは
エラッタとは言わん。どう見ても美しくはみえんがまぁ何が美しいかは人好き好きだ。
966Trader@Live!:2008/10/23(木) 23:27:26 ID:sdyIDJLH
>>963
EAの堅牢性を確かめる手段としてデータスクランブルは有効的な方法だよね。
Sharkは撃沈するという事が発覚したけど
967Trader@Live!:2008/10/23(木) 23:34:05 ID:EODMTfCc
>>962
案外気付かない人多いよね。
FXDDもAlpariも専用URLからDLしないとね。
968904=956:2008/10/23(木) 23:42:18 ID:whIg1kRN
>>966
尼で買ったばかりの「売買システム入門」にも出てますけど、本当に有効な手段ですね。
こんな手法があるなんてビックリです。もう虜です。明日から通勤途中で読みまくりです。
Sharkは、どっかの有名どころのブログで検証してた記憶があります。
結局、自分の信じる事にフィットする自分専用システムを書かないと負けってことですね。
969Trader@Live!:2008/10/24(金) 01:18:53 ID:zhdHu2Tf
>>962>>967の流れがイマイチよく分からないんですが
噛み砕いて解説願えないでしょうか。
970Trader@Live!:2008/10/24(金) 01:21:04 ID:GbliPGYy
>>969
どこでMT4本体DLしてもからMT4本体からDLボタン押しても取得先はメタクオになるから
過去データ欲しい人は業者のサイトからDLしてインポートしないと駄目ってこと。
971Trader@Live!:2008/10/24(金) 01:32:52 ID:KegsmlpP
鯖変えれば違うんだけどなあ。
MT4を複数起動させて動かしてみれば分かる。

J&K FuturesのMT4を4個起動させてAlpari、Broco、Apex、WSDを見てるけど違うよ。
972904=956:2008/10/24(金) 04:06:43 ID:SyRDuHfv
>>917様および、>>919様からのアドバイスを受け研究を重ね改良しました。

変更点は
@新しいトレーリングロジックの追加
Aボラティリティブレークのシグナルレートの変更(50%から40%ブレークに)

細かなところでは、extern変数で調整可能にしていたパラをstatic定数化。
MarketInfo()関数を使って、最小取引量などを自動計算したくらいです。

■プロフィット・トレール有効時
http://homepage3.nifty.com/symmetric-cipher/FX/EURUSD00071-Lite.htm

■プロフィット・トレール無効時(新規トレーリングロジックでバックテスト)
http://homepage3.nifty.com/symmetric-cipher/FX/EURUSD00072-Lite.htm

Liteとなっておりますのは、元htmlが凶暴なサイズになってしまい、E8400 4G
マシンのFF3はハング。IE6で読み込むのに、5分くらい掛かって効率悪いので
元htmlのmodify行をgrep -v modifyで抜いたためです。

元htmlもアップしています。fc2だとアーカイブできないので今回プロバのHPに
データをアップしました。しばらくたつと消えてるなんてことも無いと思います。

http://homepage3.nifty.com/symmetric-cipher/FX/EURUSD00071.ZIP
http://homepage3.nifty.com/symmetric-cipher/FX/EURUSD00072.ZIP

ポジションサイジングは、口座レバを毎回計算していますので、MAXレバを
越えないサイズに補正できると思います。
MDDは、ポジションサイジングアルゴリズムを変更する事で対処できると
考えています。本当に何とかしたいです。

皆様の率直な評価をお聞かせ願えませんでしょうか。
973Trader@Live!:2008/10/24(金) 04:48:38 ID:KegsmlpP
>>972
Maximal drawdownがデカイですね。
10%以下が理想です。

まあいきなりこんなのを見せられるよりは良いんですけどね。
http://forex.lafine.biz/tester/V312.htm
974917:2008/10/24(金) 07:26:43 ID:yIowxgw8
@PFがやや低いように思う。取引頻度と回数にもよるけど8年間で800〜1000回なら1.38は低い。1.97ならいいとは思う。
AMDDが大きすぎてリアルトレードではまず運用に耐えられない。
B1回の取引で全収益の55%も占めるようなトレードは省いてPFを勘案するべき。調整プロフィットファクターで評価したほうがいい
C資産残高曲線はトータルプロフィットを優先するより安定性を高めるためボラティリティを低めにするようにしないと実用に耐えない
Dトレンドフォロータイプの仕掛なので依然として勝率が高すぎることからエグジットに問題があると推測
利食いのエグジットシグナルが早すぎるか、リスクを許容しすぎて損きりが遅れてるはず
E上記のDの推測から個々の取引の時系列損益経路分析をするべき。最大順行幅と最大逆行幅から損きりと利食いのポイントを探ったほうがいい。
Fリスクを大きくとっている要因がポジションサイジングだけでないとしたら、個々の取引のオープントレードドローダウンのサイズも見ておいたほうがいい。
結果的に利益を得ているトレードであったとしても、一時的にも実は意外に大きい含み損を抱えてるようなトレードが多い可能性もあるから。
(そういえばMT4にはオープントレードドローダウンを評価をするメソッドがないだっけか?)
G2007年後半以後の損益が、全収益に与える影響が大きすぎるので単年評価や単月評価もしてみるといいかも

ざっくり見たところこんな感じかなぁ。個々の取引の統計処理をすればもっと色々評価できるはず。
975Trader@Live!:2008/10/24(金) 15:28:27 ID:Ca+/ddxg
>>957
無駄なループの判断が1回増えるけど、結果は変わらないからどっちでもいいんでない?
「初期化は0教」の人だと思って勘弁してよ。
976Trader@Live!:2008/10/24(金) 15:44:06 ID:KegsmlpP
0が最新のバーだから0で良いと思う
977Trader@Live!:2008/10/24(金) 16:06:56 ID:lqSc1Liq
だからそれは例だし間違ってるってば。
ループに入らず抜けちゃうよ。
978904=956:2008/10/24(金) 23:34:03 ID:SyRDuHfv
>>974 >>973

ご意見を頂き誠にありがとうございます。
MDDが高いのは、初期リスクの取りすぎと思っており、CPRリスクモデルでいう
R部分の見直しをやっています。Cの部分については、当初から口座資産の4%
でやってまして、口座資産が増加すると共に、ポジションサイズも大きくなります。

@1000$で、0.1ロットだと、レバ10
A1000$で、1.0ロットだと、レバ100
になりますので、このような場合、最大レバを10に設定すると、Aのケースでは
0.1ロットにリサイズします。

試しに、口座リスクを2.5%でバックテストしたところ
http://homepage3.nifty.com/symmetric-cipher/FX/EURUSD00073-Lite.htm
のような結果が出ました。

リスク管理については、ちょっと迷いが出てきているのが自分でわかります。

「魔術師たちの心理学」では、ノイズの外側に損切りストップと書かれていますが
自分の最初のストップは、ブレイクしたポイント数を、損切りポイントとして設定し
トレーリングしながらs/lを移動させています。迷っているのは、トレーリング方法
というか、利食いのためのs/l移動です。
こういう所では、迷わないものなのでしょうか。

売買システム入門も読み始めたので、>>917様に頂いた2回のアドバイスを
一生懸命に勉強して理解できるように、研究に励みたいと思います。

ちょっと、まとまりの無い文章になりましたが、頑張ります。
979Trader@Live!:2008/10/25(土) 05:09:35 ID:oVce+5Mp
980Trader@Live!:2008/10/25(土) 10:46:14 ID:G1lFJ70w
>>978
短期間に結構改善されてきましたね。
今ならtsdでスレ立ててみたら良いかもしれません。

自分のアイデアかどうか必ず聞かれますけどね。
981Trader@Live!:2008/10/25(土) 14:27:53 ID:8g3av3gg
データさえあればバックテストはオフラインでも出来ますか?
982Trader@Live!:2008/10/25(土) 19:35:12 ID:cmPjAg5k
成行でポジションを取ったとき、そのレートから予め設定したストップロスが
自動につくようにしたいのですが方法ありますかね?

デイトレやスキャでこういう機能があると便利だと思うのですが。
例えば-20PIPSのストップロスがつく設定をした場合、ドル円を成行で98円オファーで買った瞬間、97.80円ビッドにストップロスが自動的に付くというもの。

意志が弱いからデイトレやスキャでこつこつドカーンの連続なんですよ。
MT4対応業者でなくとも、このような仕様のある業者知ってたらどなたか教えてください。
たのんます。
983Trader@Live!:2008/10/25(土) 20:02:47 ID:Kx6wCzZZ
すぐにストップ注文いれればすむことでは?
984Trader@Live!:2008/10/25(土) 20:06:15 ID:/fmuNrla
>>982はマルチ
985Trader@Live!:2008/10/25(土) 20:12:05 ID:eO3ZCMgR
初心者の方で答えといた。

>>983
それじゃ間に合うはずがない局面がいくらでもあるじゃん……。

と、スキャルパーなら誰でも思うんじゃないかと。
あんたは多分違うよね?
986Trader@Live!:2008/10/25(土) 23:11:25 ID:Kx6wCzZZ
間に合わないときは成行処分すればよい
987Trader@Live!:2008/10/25(土) 23:16:52 ID:5E5N8Nmr
>>986
成行処分じゃ間に合わないって話だろうに。
アホかとバカかと。
988Trader@Live!:2008/10/25(土) 23:29:26 ID:Kx6wCzZZ
ストップ注文間に合わん時は
かなり飛んでるだろが
即時処分しろってこと

989Trader@Live!:2008/10/25(土) 23:32:19 ID:BvmesTAA
990Trader@Live!:2008/10/25(土) 23:36:01 ID:U5lP489H
スレ埋めるマナーぐらい守ってほしいと(ry
991Trader@Live!:2008/10/25(土) 23:40:06 ID:5E5N8Nmr
>>988
いやさ……

その「かなり飛ぶ」を絶対食らわないために、
成行でポジ取る時にストップ注文も同時にしたいって話だろ。
飛ぶったって、途中のレートを無視してはるか先のレートまでワープする訳じゃないんだから。

(滑りは業者の約定能力の問題=別問題だから、当然脇においとかれる話)

理解力欠片もないの?
992Trader@Live!:2008/10/25(土) 23:41:36 ID:uAzEuMsH
自動的にストップを設定するEAを見た気がする
993Trader@Live!:2008/10/25(土) 23:47:06 ID:Kx6wCzZZ
スキャルパーなのに
ぽじるときにストップだなんて
ぜいたくな話だな
994Trader@Live!:2008/10/25(土) 23:53:29 ID:Kx6wCzZZ
毎日毎日ひたすら損切り損切り!!
995Trader@Live!:2008/10/25(土) 23:54:15 ID:Kx6wCzZZ
そしてドーカーンっと大儲けだあああああああああ
996Trader@Live!:2008/10/25(土) 23:54:41 ID:Kx6wCzZZ
うめ
997Trader@Live!:2008/10/25(土) 23:54:57 ID:Kx6wCzZZ
うめ
998Trader@Live!:2008/10/25(土) 23:57:17 ID:Kx6wCzZZ
998
999Trader@Live!:2008/10/25(土) 23:58:37 ID:Kx6wCzZZ
999
1000Trader@Live!:2008/10/25(土) 23:59:53 ID:Kx6wCzZZ
1000なら億万長者
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。