本で見た方法、ふと思いついたものをどんどん試してみるほうが面白いと思います。それで見込みがありそうなら、さらに磨いていけば良いでしょう。[ルール概要]入門編ということで、基本中の基本、ゴールデンクロスとデッドクロスを試してみることにします。ゴールデンクロス(以下GC)とデッドクロス(以下DC)の定義の仕方は人によって若干違うところがあるようですが、ここでは・移動平均線の短期線が長期線を上回った瞬間がGC・短期線が長期線を下回った瞬間をDC・GCなら買いシグナル、DCなら売りシグナルとします。はじめにそれでは為替ロボット、略してカワロボを作ってみましょう。ここでは、FXCMのデモ口座でシステムの運用を開始するまでの手順を紹介します。*このシステムではFXCMのデータを取得できないため、MT4のレートにのみ基いてシグナルを発生し、MT4からFXCMに対して一方的に、売りや買いのオーダーを出す仕組みになっています。そのため、実際にFXCMで約定するレートはMT4の表示値と数pips程度異なっており、スキャルピングとよばれるような薄い利益を繰り返し狙う手法には使用できません。以下のソフトをダウンロード、インストールして下さい。全てフリーソフトです。http://www.vector.co.jp/soft/dl/win95/net/se155232.html(メールサーバー)HyperOrder(以下、HO)はダウンロード前にフォーラムへの登録(無料)が必要です。3.8.3」をダウンロードして下さい。HOはメールサーバからメールを受信し、そのメールの内容に沿ってFXCMにオーダーを自動的に出す機能を持っています。売買シグナル発生時にMT4がメールを送り、HOで受信して売買注文を実行します。使用するFXCMのデモ口座を作っておきます。↓のバナーから登録しますとIDとパスワードがメールで届きます。更新が遅くてすみませんここしばらく、いろいろと更新が滞ってしまっています。ブローカーごとの自動化方法をリクエストしていただいた皆様、すみません。なんとかアップして行きますので、今しばらくお待ちください。当サイトについてブログなどでご紹介くださった皆様ありがとうございます。ご紹介いただいたものの、当サイトの内容がまだまだ不十分で申し訳なく思っています。某掲示板サイトで自演の宣伝という誤解を受け、不愉快な思いをされた方、ごめんなさい。(あるリンク先で目にして悲しくなりました。)某ちゃんねる上で書き込みをするなんて、、ヘタレの私には一生無理です。これまで書き込んだことは一度もありませんし、これからもするつもりはありません。この状況で自演の宣伝行為なんて、おこがましくてできません。宣伝と誤解されると本当に申し訳ないので、できれば話題にすら出さないでいただけると嬉しいです。わがまま言ってすみません。結果を確認Reportタブを開き、テスト結果の詳細を確認します。結果で重視されるのがトレード数と勝率、勝敗それぞれの収益率、あとは最大ドローダウンでしょうか。drawdownが大きいと資金曲線が乱高下していることになるので安定した収益が期待できません。今回は最終利益701$に対し、最大ドローダウンが1869$もあり、少し大きすぎます。パラメーターをもっと最適化するか、売買ルールを改良するなどして、もっとパフォーマンスを上げる必要がありそうです。一応、グラフでも確認してみましょう。Graphタブを開くと資産曲線のグラフを見ることが出来ます。最終的に上がってはいますが、かなり荒い感じは否定できません。トレード数が182回とそれほど多くないので、もう少し長いスパンでもテストしてみたいところです。トラックバックパラメーターを最適化するパラメーターの値が良くないのかもしれません。値を変更して、もう一度試してみましょう。テスター画面のSettingsタブを開き、ExpertPropertiesボタンを押します。(画像参照)Inputsタブを開き、パラメータの入力画面になります。MACDOpenLevelは3になっていますが、これを5に変えます。数字の部分をダブルクリックすると入力可能になりますので5と入れ、Enterで確定します。OKでInputs画面を閉じて、もう一度テストをスタートします。結果、-205.35$と多少改善しました。一度パラメータを変更してテストしてもいいですが、いろいろな組み合わせを手動で試すのは大変面倒ですので、最適化機能を使ってみましょう。properties」ボタンでInputs画面を開きます。MACDOpenLevelのStart欄を3から1に変えます。すると左のボックスにチェックが入り、Stepが1、Stopが6に変わります。これは、MACDOpenLevelの値を1(Start)から1(Step)ずつ増やしながら、6(Stop)まで、テストを繰り返し行なうという設定です。(1から6まで、合計6通りのテストを行ないます。)同じようにMACDCloseLevelのStartを1、Stepを1、Stopを5にします。すると、MACDCloseLevelの値も1から5まで、順に変化させながらテストされますので、MACDOpenLevel6通りxMACDCloseLevel5通り=合計30通りのテストが行なわれます。MATrendPeriodのStartを26、Stepを26、Stopを104に変えます。4通り=120通りのテストということになります。OKで画面を閉じ、右側にあるOptimizationにチェックを入れます。onlyに変えておきます。Startでテスト開始。終了したらOptimizationResultsを開いてください。結果がプラスになったものが列挙されています。(結果マイナスのものは表示されません)一番結果が良かったのは、利益+1108.20$で、そのときのパラメータはMACDOpenLevel=4,MACDCoseLevel=3,MATrendPeriod=78でした。OptimizationGraphから、パラメーターの組み合わせと利益の変化をグラフで見ることが出来ます。それぞれのポイントにマウスカーソルを合わせると、そのときのパラメータがポップアップ表示されます。(ここでも結果マイナスのものは表示されていません。マイナス分も表示させたい場合は、OptimizationResultsタブを開き、画面内で右クリック、SkipUselessResultのチェックを外し、再テストします。)一番結果の良かったものについて、詳細なテストをしてみましょう。Parametersをクリックすると、このときのパラメータが自動的に入力されます。tickにし、Optimizationのチェックを外してから、Start。トラックバックストラテジーテスターを使おうMT4には「ストラテジーテスター」という、バックテスト機能が備わっています。Testerテスター画面を開きます。onlyになっていることを確認してStart。あっという間にテストが終わりました。プラスですが、Graphを開いてみるとあまり良い感じではありません。ランダムに上がったり下がったりしていて、たまたまプラスの所でテストが終わっただけという印象です。今のテストは一時間足の始値だけの荒いデータを使った簡易的なものでしたので、もっと細かいデータを使った詳細なテストをしてみましょう。tickにしてStartを押します。これは一時間足の4本値の他に、30分足や15分足などより細かい足のデータ全てを使ってシミュレーションを行うものです。先ほどよりかなり時間をかけてテストが終了しました。結果は-777.10$。残念ながらこのままでは使えそうにありません。トラックバックエキスパートアドバイザーを使ってみようそれでは実際にMT4を使ってみましょう。新たにEURUSDのチャートを開きます。「H1」というボタンで一時間足チャートに切り替え、虫眼鏡に+が入ったボタンで表示を拡大、ロウソク足が描かれたボタンでチャートの表示をロウソク足にします。(その他、語句や使い方の説明は、MetaTrader4入門にて)次はMT4で自動売買の肝となる機能、エキスパートアドバイザーを使ってみましょう。今回はサンプルプログラムとして入っている、MACDSampleというエキスパートを使います。NavigatorウィンドウのExpertAdvisorsにあるMACDSampleをEURUSDチャートにドラッグ。tradingにチェックを入れます。OKでウィンドウを閉じ、EURUSDチャートの右上のマークを確認します。ここがニコマークになっていればエキスパートが動作中です。マークがx印の場合は動作していません。Advisorボタンを押して動作させてください。あとは立ち上げたまま放っておくだけで、MACDSampleで設定されているルールどおりに、自動的に売買を行います。このMACDSampleでどれくらいの収益が見込めるのか、過去のデータを使ってバックテストしてみましょう。http://www.metatrader4.com/フリーソフトです。Terminalをダウンロードして下さい。インストールはそのまま適当にどうぞ。インストールして最初の起動時にデモ口座の登録画面が現れますので、サクっと入力して下さい。住所などは適当でもよさそうですが、入力チェック機能が働いているので、住所は番地の「-」を、メールは「@」と「.」を入れる必要があります。郵便番号も7ケタ入力します。フォームの一番下の欄ではデモ口座の初期残高(Deposit)と保証金率(Leverage)を変更できます。デモ口座はあとで何個でも追加することが出来ますので、とりあえずは初期値のままでも大丈夫です。*デモ口座のアカウントは有効期限が一ヶ月で、それを過ぎるとログインできなくなります。account」で新たにアカウントを作り直して下さい。売買シグナルをどのように出すかを自由にプログラミングすることができます。過去のデータを使ってバックテストも可能です。MT4にはシグナルをメールで送信する機能があり、売買シグナルをメール配信したり、モブログで売買履歴を公開したりという使い方もできます。仕上げ」に載せていました、mailorder.mql(ユーザーファンクション)に誤りがありましたので書き直しました。症状:買いオーダーを出しても、「売り」としてメールオーダーしてしまうもし使っておられるかたがいましたら、すぐに書き換えてください。仕上げ」に載せているものは訂正後のものです。他のブローカーへの対応方法HyperOrderが対応していない他のブローカーで、取引を自動化するには、PC上の様々な操作を自動化することができるソフトを使用するのが簡単です。それぞれのブローカーの取引ソフト上で、売りや買いを行なう時の操作(マウス操作やキー入力など)を記憶させておき、MetaTrader4やStrategyBuilderFXからシグナルが出たときに、記憶しておいた動作を呼び出して売りや買いを実行するようにしておくのです。その操作を自動化するソフトとしては、UWSC(フリーソフト)がおすすめです。UWSCは記憶した動作を単純に繰り返すだけでなく、Excelのマクロのように、スクリプトを使用して様々なことが自動化できる素晴らしいソフトです。為替だけでなく株の取引や日々の雑用にも使えるので、使いこなせるようになると非常に便利なソフトだと思います。【注意する点】HyperOrderのように、ブローカーに対して直接オーダーを出すのではなく、単に操作を自動化しているだけなので、注文実行中は画面上をカーソルが動き、数値を入力する様子が見えます。このときにマウスを動かしたり、キーボードをいじったりして邪魔をしてしまうと、うまく注文が出せずに思わぬ誤動作をすることになるので、注意が必要です。自動化中は、そのパソコンを自動取引専用機として、手動の操作を一切行なわないようにしないといけません。操作の自動化ではなく、FXCMの時のような自動化をするには、HyperOrderのようなソフトを手に入れるか、ブローカーが提供するAPIをもとに自分でソフトを作らないといけません。こちらでは、HyperOrder以外のフリーソフトは把握できていません。(OANDAではAPIを有料で提供しているようです。