メタトレーダー自動売買チャンピオンシップ挑戦記

MT4・MT5の発売元であるMetaQuotes Software Corp社主催だった Automated Trading Championship の参加記録でしたが、今年から非公式のに。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

2010コンテスト EA 作製記(2)

メインエンジンのフォワードテストがうまくいきません。バックテストでは良い成績が出るのですが、その支えと成っている大量ポジがフォワードテストだと1/10ぐらいになってしまいます。バックテストのデータと実際のティックの違いなのか、設計のミスか?原因不明。サブエンジンの方も単体テストの成績が芳しくなく、搭載が危ぶまれてきました。登録期限ぎりぎりで提出するつもりだったのですが、それだと先方の環境でテストしたときにもし何かバグが出てもどうしようもないので、少し早めに提出しようかと思っています。そのため現在メインエンジンとブースターエンジンの統合作業中です。

登録終了まで、22日、現在までの参加(予定)者1148名。

スポンサーサイト

PageTop

第2次産業革命

人間は約250年ほど前に第1次産業革命を迎えた。それ以前は、狩猟能力や白兵戦での戦闘能力などの運動能力つまり筋肉の力が評価されていたのだが、これによりそれらの評価は機械に取って代わられた。
現在私たち人間は第2次産業革命の真っ只中にいる。情報産業革命または電脳産業革命とでも呼ばれるようになるのだろうか。コンピュータの発達により、人間の脳力のうち記憶力や、計算能力はかつてその筋力が既に機械にかなわない事が明らかであるように、これまでのようなペーパーテストが無意味であることを明白にした。
さて、それでは今日からいずれ訪れるであろう第3次産業革命までの間に評価されるべき人間の能力とは果たして一体何で在るか?

それは創造能力である。

絵画や音楽などの芸術的分野、コンピュータに理論や計算方法を教える分野、そしてスポーツ、映画などのエンターテイメントの分野などが、機械がかなわない人間の聖域になっていくのではないか?第1次産業革命期のほぼ全ての人間が、第2次産業革命の起こり得る事さえ思いも付かなかったように、人間の創造能力を機械が凌駕する日が来るのかどうかは筆者にはわからない。そんな先のことは別にわかりたいとも思わない。ただ子供の頃自分が、産業革命の頃に生まれていたらなと思った事を思い出しただけの話だ。そしてこの第2次産業革命の中にいられる事の幸福感を味わっていたいだけだ。

登録終了まで、27日、現在までの参加(予定)者1074名。
PageTop

2010コンテスト EA 作製記(1)

コンテスト用の EA が1/3ぐらい出来てきました。今のところメインエンジンとブースターといったところです。"メインエンジン"は、巡航パワーを供給する低出力しかし直線右肩上がりの手法です。このエンジン単体での出力曲線は、現在の"朝スキャ型"の元祖である、かつての DP-002 を彷彿とさせます。USDCAD を除く11シンボルを8セルに分けて使います。"ブースター"は第1目標達成のための初期加速装置です。全12シンボルをフルに使いますが航行期間中12回しか使えません。これに、あと"サブエンジン"を2つほど付けられたらと思っています。完全にコンテスト向きに作っていますので、資金管理と各エンジンのパラメータは10月と11月、12月で区切り、戦略によってそれぞれの数値を最適化する予定です。最終的にはそれらを全て指揮するための第1艦橋である統合資金管理コントローラ"the bridge of the warship"を作らなくてはなりません。あと1ヶ月で(?)・・・・・。

登録終了まで、30日、現在までの参加(予定)者1030名。
PageTop

未来ローソク足

とあるブログで話題になっているインディケイターを見て、以前似たようなものを作ったことがあったのを思い出しました。
これはアダムセオリーではなくフラクタル理論を使って未来を予測するものです。設定した範囲の各パラメーターの勝率をバックグラウンドで計算し、新しいバーが出るごとにその最も勝率の高いパラメーターを使って未来のローソク足を表示します。縦線の右側が未来です。
左下に現在のパラメーターと勝率、その右に統合した実際の勝率を表示します。

FutureCandle

ところが、長時間表示していると実際の勝率は最終的に50%に落ち着いてしまいます。結局何のエッジもないジョークインディケーターということです。興味のある方はこちらからどうぞ。(テキストファイルになっていますので、拡張子を .mq4 に替えて下さい。)

登録終了まで、1ヶ月と1日、現在までの参加(予定)者1021名。
PageTop

ポジ無いのに・・・

またバグです。ポジションが無いのを確認するために
PositionGetDouble(POSITION_VOLUME)
で0を吐くはずが、ポジが無くても0.1になってしまいます。
input double Lots=0.1;
が何か関係しているようなのですが。
2010/09/12追記
PositionGetDouble()の前には必ずPositionSelect()でシンボルごとのポジションを指定しなければならないので、ポジションが無いということは指定する時点でエラーにならなければいけないはず。または、直近で指定したポジションの値が出てきてしまうという事のようです。

Metatester が終了しない件
テスターを使ったり、途中でキャンセルしたりすると、MT5 を終了してもプロセスが終了せずに残っていたりする場合があるようです。ビジュアルモードが使えないのでプリント文を多用しているのですが、ギガバイト単位で大量に出るログを消せなかったりします。ひどい時はテスターのサービスも停止せずに実行中のままになっている時もあります。

やっぱり MT5 じゃダメですね。最初は MQL4 で書いてそれを MQL5 に移植する方法でやっていたのですが、この頃は時間が無いこともあり直接 MQL5 で書くようにしていたところ、こうもバグだらけのプラットフォームでは疑心暗鬼に陥ってしまい、すぐに「またバグか?」と思い込んで逆に簡単なケアレスミスでも見逃してしまったりするわけです。マルチシンボルの EA を作っているのでテスターはこちらのほうが便利なのですが(というか MQL4 では出来ない)。

参加予定者は1000人を越えましたが、これでは実際に EA を提出する人数は大幅に減るのではないでしょうか。
登録終了まで、1ヶ月と2日、現在までの参加(予定)者1005名。
PageTop

MQL5 のティックバリュー

とあるブログのコメントで Nero Tulipさんが書いておられますが、 MQL5 のティックバリューを求める(はずの)関数である
SymbolInfoDouble(Symbol(),SYMBOL_TRADE_TICK_VALUE)
のバグは未だ解決されていません。
コンテスト用の通貨ペアだけですが、ティックバリューを返す関数を作るしかないようです。

double TickValue(string symbol)
{
double tv=1;
if(StringSubstr(symbol,3,3)=="AUD")
tv=SymbolInfoDouble("AUDUSD", SYMBOL_BID);
if(StringSubstr(symbol,3,3)=="GBP")
tv=SymbolInfoDouble("GBPUSD", SYMBOL_BID);
if(StringSubstr(symbol,3,3)=="CAD")
tv=1/SymbolInfoDouble("USDCAD", SYMBOL_BID);
if(StringSubstr(symbol,3,3)=="CHF")
tv=1/SymbolInfoDouble("USDCHF", SYMBOL_BID);
if(StringSubstr(symbol,3,3)=="JPY")
tv=1/SymbolInfoDouble("USDJPY", SYMBOL_BID)*100;

return(tv);
}

登録終了まで、1ヶ月と5日、現在までの参加(予定)者959名。
PageTop

今年の目標

今年は取りあえず、前回瞬間最高順位(94位)を抜くことを目標にしようと思っています。優勝とかおこがましいことはあまり考えていません。まずスタートダッシュで善い所に行ければ第一目標達成ということで。
第2目標は完走です。最終日までに、原資を上回っていれば上々というところでしょうか。

ところで8/10のニュースで、ペンディングオーダーに関してルール変更がありました。これまでのルールでは3ペンディングオーダーまでだったのが、12ペンディングオーダーに変更されたそうです。 EA なんだからペンディングオーダーなんてどうでもいいように思いますが。
もちろん各ポジションのTP,SLはペンディングオーダーには入りませんが、TP,SLにしても EA 上でそう書けばいいだけの話で大して重要なことでは無いと思います。フォーラムを見ると結構拘っている人多いようですが、筆者には理由がわかりません。EA は強靭な精神力を持ち24時間張り付くことの出来るトレーダーの助手です。ちゃんと教え込んでさえあれば、ペンディングオーダーはおろか、TP,SLさえそのプログラム通りに遂行してくれるはずのロボットなのですから。
登録終了まで、1ヶ月と9日、現在までの参加(予定)者911名。
PageTop

MT5 のストラテジーテスターはゴミ?

マルチコアでオプティマイゼイションが出来るというので、テスト用に急遽ガラクタを集めて何台かのコンピュータをこさえたのですが、どうも MT5 のテスターはスプレッドのデータがいい加減なようで、 EA の動作確認ぐらいには使えても肝心のスプレッドが0ではまともな最適化結果は得られないようです。どうすりゃいいの?
PageTop

Print文の怪

とても不思議な MQL5 には、ほとほと疲れました。簡単な EA を作っていろいろテストしているのですが、どうもうまく動きません。一番困るのは、それがバグなのか、プログラムの書き方が間違っているのかがわからないという事です。全く新しいプラットフォームなので、こちらも手探りでプログラムを書いているのですが、余計な部分を一つずつ削っていき、どう考えてもプログラムミスではないと思われるまで単純な物にしてそこで初めて「やっぱバグじゃん」となるわけです。また、そこここにPrint文をいれてデバッグをしていくと、何故かPrint文を入れる位置によって結果が変わってくるのです。(???)
残りの日にちもそんなにないのに、こんなにバグだらけでちょっとやる気をなくしています。
PageTop
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。