« 2005年07月 | メイン | 2005年10月 »

2005年08月30日

売買ルール

【売買ルールを決める】

この売買ルールを決める手順は成績を左右する非常に重要な部分ですが、
まだ「これだ!」という投資手法が決まっていなければ、人から聞いたり、
本で見た方法、ふと思いついたものをどんどん試してみるほうが面白いと思います。
それで見込みがありそうなら、さらに磨いていけば良いでしょう。

 [ルール概要]
入門編ということで、基本中の基本、ゴールデンクロスとデッドクロスを試してみることにします。

ゴールデンクロス(以下GC)とデッドクロス(以下DC)の定義の仕方は人によって若干違うところがあるようですが、ここでは
 ・移動平均線の短期線が長期線を上回った瞬間がGC
 ・短期線が長期線を下回った瞬間をDC
 ・GCなら買いシグナル、DCなら売りシグナル
とします。


投稿者 kawarobo : 01:49 | コメント (5) | トラックバック

2005年08月29日

為替ロボットの作り方(FXCM用) はじめに

それでは為替ロボット、略してカワロボを作ってみましょう。

ここでは、FXCMのデモ口座でシステムの運用を開始するまでの手順を紹介します。

*このシステムではFXCMのデータを取得できないため、MT4のレートにのみ基いてシグナルを発生し、MT4からFXCMに対して一方的に、売りや買いのオーダーを出す仕組みになっています。そのため、実際にFXCMで約定するレートはMT4の表示値と数pips程度異なっており、スキャルピングとよばれるような薄い利益を繰り返し狙う手法には使用できません。

【ながれ】

  1. 売買ルール(戦略)を決める
  2. プログラミングをする
  3. バックテストをして戦略を調整する
  4. 運用開始

【用意するもの】

以下のソフトをダウンロード、インストールして下さい。
全てフリーソフトです。

HyperOrder(以下、HO)はダウンロード前にフォーラムへの登録(無料)が必要です。HOダウンロード手順

BlackJumboDog はリンク先一番下の「BlackJumboDog イントラネット用簡易サーバ 3.8.3」をダウンロードして下さい。

HOはメールサーバからメールを受信し、そのメールの内容に沿ってFXCMにオーダーを自動的に出す機能を持っています。
売買シグナル発生時にMT4がメールを送り、HOで受信して売買注文を実行します。
BlackJumboDogはメールサーバーとして、MT4とHOの仲介をしてもらいます。


【前準備】

取引に使用するFXCMのデモ口座を作っておきます。
↓のバナーから登録しますとIDとパスワードがメールで届きます。
468*60


投稿者 kawarobo : 00:10 | コメント (0) | トラックバック

2005年08月27日

更新が遅くてすみません

ここしばらく、いろいろと更新が滞ってしまっています。。
ブローカーごとの自動化方法をリクエストしていただいた皆様、すみません。なんとかアップして行きますので、今しばらくお待ちください。

また、当サイトについてブログなどでご紹介くださった皆様ありがとうございます。せっかくご紹介いただいたものの、当サイトの内容がまだまだ不十分で申し訳なく思っています。

特に某掲示板サイトで自演の宣伝という誤解を受け、不愉快な思いをされた方、ごめんなさい。(あるリンク先で目にして悲しくなりました。)
某ちゃんねる上で書き込みをするなんて、、ヘタレの私には一生無理です。。これまで書き込んだことは一度もありませんし、これからもするつもりはありません。ましてやこの状況で自演の宣伝行為なんて、おこがましくてできません。
宣伝と誤解されると本当に申し訳ないので、できれば話題にすら出さないでいただけると嬉しいです。。
わがまま言ってすみません。。


投稿者 kawarobo : 01:44 | コメント (2) | トラックバック

2005年08月21日

結果を確認


26結果レポートReportタブを開き、テスト結果の詳細を確認します。 結果で重視されるのがトレード数と勝率、勝敗それぞれの収益率、あとは最大ドローダウンでしょうか。 (結果の見方はこちら)

特に、いくら最終利益が高くても、Max drawdownが大きいと資金曲線が乱高下していることになるので安定した収益が期待できません。
今回は最終利益701$に対し、最大ドローダウンが1869$もあり、少し大きすぎます。
パラメーターをもっと最適化するか、売買ルールを改良するなどして、もっとパフォーマンスを上げる必要がありそうです。

27結果グラフ一応、グラフでも確認してみましょう。Graphタブを開くと資産曲線のグラフを見ることが出来ます。
最終的に上がってはいますが、かなり荒い感じは否定できません。
トレード数が182回とそれほど多くないので、もう少し長いスパンでもテストしてみたいところです。


投稿者 kawarobo : 00:06 | コメント (0) | トラックバック

パラメーターを最適化する



プロパティ画面開く

16inputs画面

17Openlevel変える

18結果レポート
 
 
 
プロパティ画面開く

パラメーターの値が良くないのかもしれません。
値を変更して、もう一度試してみましょう。
テスター画面のSettingsタブを開き、ExpertPropertiesボタンを押します。(画像参照)
Inputsタブを開き、パラメータの入力画面になります。

MACDOpenLevelは3になっていますが、これを5に変えます。
数字の部分をダブルクリックすると入力可能になりますので
と入れ、Enterで確定します。

OKでInputs画面を閉じて、もう一度テストをスタートします。
Modelは「Every tick」です。

結果、-205.35$と多少改善しました。


もう一度パラメータを変更してテストしてもいいですが、いろいろな組み合わせを手動で試すのは大変面倒ですので、最適化機能を使ってみましょう。
再度、テスター画面の「Expert properties」ボタンでInputs画面を開きます。

19最適化入力
MACDOpenLevelのStart欄を3から1に変えます。すると左のボックスにチェックが入り、Stepが1、Stopが6に変わります。
これは、MACDOpenLevelの値を1(Start)から1(Step)ずつ増やしながら、6(Stop)まで、テストを繰り返し行なうという設定です。(1から6まで、合計6通りのテストを行ないます。)

20最適化入力完了

同じようにMACDCloseLevelのStartを1、Stepを1、Stopを5にします。
こうすると、MACDCloseLevelの値も1から5まで、順に変化させながらテストされますので、MACDOpenLevel6通りxMACDCloseLevel5通り=合計30通りのテストが行なわれます。

さらにMATrendPeriodのStartを26、Stepを26、Stopを104に変えます。

MATrendPeriodは26から26ずつ増やして104まで、4通りですので、MACDOpenLevel 6通りxMACDCloseLevel 5通りxMATrendPeriod 4通り=120通りのテストということになります。

21最適化チェック入れる

OKで画面を閉じ、右側にあるOptimizationにチェックを入れます。
テスト時間短縮のために、ModelをOpen prices onlyに変えておきます。
Startでテスト開始。

22最適化完了
終了したらOptimizationResultsを開いてください。結果がプラスになったものが列挙されています。(結果マイナスのものは表示されません)
一番結果が良かったのは、利益+1108.20$で、そのときのパラメータはMACDOpenLevel=4,MACDCoseLevel=3,MATrendPeriod=78でした。

23最適化結果グラフ

OptimizationGraphから、パラメーターの組み合わせと利益の変化をグラフで見ることが出来ます。
それぞれのポイントにマウスカーソルを合わせると、そのときのパラメータがポップアップ表示されます。
(ここでも結果マイナスのものは表示されていません。マイナス分も表示させたい場合は、OptimizationResultsタブを開き、画面内で右クリック、SkipUselessResultのチェックを外し、再テストします。)

24最良のパラメ適用

25Everytickでテスト

一番結果の良かったものについて、詳細なテストをしてみましょう。
OptimizationResultsから一番上の結果を右クリック、Set Input Parametersをクリックすると、このときのパラメータが自動的に入力されます。
Settingsタブを開いて、ModelをEvery tickにし、Optimizationのチェックを外してから、Start。

結果、約701.15$のプラスという成績になりました


投稿者 kawarobo : 00:05 | コメント (3) | トラックバック

ストラテジーテスターを使おう

10テスター開く

11テスター画面

12テスト終了

13結果レポート

14結果グラフ

15everytickに

MT4には「ストラテジーテスター」という、バックテスト機能が備わっています。
(これは、過去の為替データを使って売買シミュレーションをするものです)

EURUSDのチャートを右クリックでメニューを出し、
Expert Advisors > Strategy Tester

テスター画面を開きます。

「ExpertAdvisor」がMACDSample、「Symbol」がEURUSD、「Period」がH1、「Model」がOpen prices onlyになっていることを確認してStart。

あっという間にテストが終わりました。
Reportをひらくと、結果は +227.95$。かろうじてプラスですが、Graphを開いてみるとあまり良い感じではありません。ランダムに上がったり下がったりしていて、たまたまプラスの所でテストが終わっただけという印象です。

今のテストは一時間足の始値だけの荒いデータを使った簡易的なものでしたので、もっと細かいデータを使った詳細なテストをしてみましょう。
「Model」をEvery tickにしてStartを押します。これは一時間足の4本値の他に、30分足や15分足などより細かい足のデータ全てを使ってシミュレーションを行うものです。

先ほどよりかなり時間をかけてテストが終了しました。
結果は-777.10$。残念ながらこのままでは使えそうにありません。



投稿者 kawarobo : 00:04 | コメント (0) | トラックバック

エキスパートアドバイザーを使ってみよう

01起動 02閉じる 03EURUSDチャートを開く それでは実際にMT4を使ってみましょう。

MT4を起動します。

見やすくするため、開いているチャートを全て閉じ、
新たにEURUSDのチャートを開きます。

「H1」というボタンで一時間足チャートに切り替え、虫眼鏡に+が入ったボタンで表示を拡大、
ロウソク足が描かれたボタンでチャートの表示をロウソク足にします。

(その他、語句や使い方の説明は、MetaTrader4入門にて)
04一時間足ロウソク足にする


06エキスパート適用

07エキスパート設定


次はMT4で自動売買の肝となる機能、エキスパートアドバイザーを使ってみましょう。
今回はサンプルプログラムとして入っている、MACDSampleというエキスパートを使います。

NavigatorウィンドウのExpertAdvisorsにある
MACDSampleをEURUSDチャートにドラッグ。

Allow Live tradingにチェックを入れます。
OKでウィンドウを閉じ、EURUSDチャートの右上のマークを確認します。
ここがニコマークになっていればエキスパートが動作中です。

マークがx印の場合は動作していません。
08エキスパート不可状態

Enable Expert Advisorボタン
を押して動作させてください。
09エキスパートOK


あとは立ち上げたまま放っておくだけで、MACDSampleで設定されているルールどおりに、自動的に売買を行います。
では、このMACDSampleでどれくらいの収益が見込めるのか、過去のデータを使ってバックテストしてみましょう。



投稿者 kawarobo : 00:01 | コメント (0) | トラックバック

2005年08月20日

用意するソフト

用意するソフトは、

フリーソフトです。

リンク先のDownloadsから、MetaTrader4 Client Terminalをダウンロードして下さい。
インストールはそのまま適当にどうぞ。

インストールして最初の起動時にデモ口座の登録画面が現れますので、サクっと入力して下さい。
入力は全て英語です。
住所などは適当でもよさそうですが、入力チェック機能が働いているので、住所は番地の「-」を、メールは「@」と「.」を入れる必要があります。
郵便番号も7ケタ入力します。
フォームの一番下の欄ではデモ口座の初期残高(Deposit)と保証金率(Leverage)を変更できます。
デモ口座はあとで何個でも追加することが出来ますので、とりあえずは初期値のままでも大丈夫です。

*デモ口座のアカウントは有効期限が一ヶ月で、それを過ぎるとログインできなくなります。その時は「Open an account」で新たにアカウントを作り直して下さい。


MetaTrader4(以下、MT4)は売買シグナルを検出して、
オーダーを出すことができる、高機能なチャートソフトで、
売買シグナルをどのように出すかを自由にプログラミングすることができます。
過去のデータを使ってバックテストも可能です。

MT4にはシグナルをメールで送信する機能があり、売買シグナルをメール配信したり、
モブログで売買履歴を公開したりという使い方もできます。


投稿者 kawarobo : 23:51 | コメント (8) | トラックバック

2005年08月15日

【重要】ユーザーファンクションmailorder訂正

「為替ロボットの作り方(FXCM用) 仕上げ」に載せていました、mailorder.mql(ユーザーファンクション)に誤りがありましたので書き直しました。

症状:買いオーダーを出しても、「売り」としてメールオーダーしてしまう

もし使っておられるかたがいましたら、すぐに書き換えてください。すみません。
現在「為替ロボットの作り方(FXCM用) 仕上げ」に載せているものは訂正後のものです。


投稿者 kawarobo : 13:20 | コメント (0) | トラックバック

2005年08月08日

他のブローカーへの対応方法

HyperOrderが対応していない他のブローカーで、取引を自動化するには、PC上の様々な操作を自動化することができるソフトを使用するのが簡単です。

つまり、それぞれのブローカーの取引ソフト上で、売りや買いを行なう時の操作(マウス操作やキー入力など)を記憶させておき、
MetaTrader4やStrategyBuilderFXからシグナルが出たときに、記憶しておいた動作を呼び出して売りや買いを実行するようにしておくのです。

その操作を自動化するソフトとしては、UWSC(フリーソフト)がおすすめです。
UWSCは記憶した動作を単純に繰り返すだけでなく、Excelのマクロのように、スクリプトを使用して様々なことが自動化できる素晴らしいソフトです。
為替だけでなく株の取引や日々の雑用にも使えるので、使いこなせるようになると非常に便利なソフトだと思います。


【注意する点】

HyperOrderのように、ブローカーに対して直接オーダーを出すのではなく、単に操作を自動化しているだけなので、注文実行中は画面上をカーソルが動き、数値を入力する様子が見えます。このときにマウスを動かしたり、キーボードをいじったりして邪魔をしてしまうと、うまく注文が出せずに思わぬ誤動作をすることになるので、注意が必要です。
自動化中は、そのパソコンを自動取引専用機として、手動の操作を一切行なわないようにしないといけません。

操作の自動化ではなく、FXCMの時のような自動化をするには、HyperOrderのようなソフトを手に入れるか、ブローカーが提供するAPIをもとに自分でソフトを作らないといけません。
こちらでは、HyperOrder以外のフリーソフトは把握できていません。
(OANDAではAPIを有料で提供しているようです。GFTも有料で自動化できるソフトを提供してくれるようです)


投稿者 kawarobo : 19:49 | コメント (2) | トラックバック