この記事はPascal編の内容をC++向けに書き換えたものです。
Forex Tester 2で読み込める、一目均衡表のテクニカルインジケーターを描画するDLLを作成することをゴールにします。
Pascal編と同様の部分は省略していますので、先にそちらの記事をお読みなることをお勧めします。
この記事はPascal編の内容をC++向けに書き換えたものです。
Forex Tester 2で読み込める、一目均衡表のテクニカルインジケーターを描画するDLLを作成することをゴールにします。
Pascal編と同様の部分は省略していますので、先にそちらの記事をお読みなることをお勧めします。
こんにちは
わたしは為替のバックテストと検証に、ForexTester 2(以下FT2)という有料のソフトウェアを使っていて、
実際のトレードはMetaTrader 4(以下MT4)を使っています。
これらのソフトウェアは、プログラムの知識があれば、テクニカル分析に用いることのできるインジケーターや、自動売買用のプログラム(EA; Expert Advisor)を自作することができます。
MT4の場合は、本体インストール時にコンパイラも同時にインストールされ、プログラミング言語といっても習得が容易なオリジナル言語MQL4でより容易にプログラムすることができ、ソースコードが公開されていることも多いのですが、FT2の場合はC++またはPascalを使って、これらのdllを作る必要があります。
普段Mac使いなこともあって、数年ぶりにこれらの開発環境を整えるときに躓いたことがあったので、備忘録として手順を書き留めようと思います。
ちなみに、言語はPascalでもC++でもどちらでも良いと思います。C++は後で別に記事にするつもりです。プログラミング初学者で、どちらの言語も触れたことがない方であればPascalの方が私は楽だと思います。
ただし、DLLファイルの容量がC++でビルドした方が小さくなります。気になる方はC++が良いかもしれません。
最近、過去の値動きを使ったトレーディング検証をひたすらやっているのですが、とても有意な検証ができたので少しご紹介。
画像がない不親切な記事ですが、また気が向いた時にチャートの画像も持ってきます。(→実例書きました!)
通貨ペアはUSD/JPY、データは2013年の値動きで検証しましたが、2015年相場や他の通貨ペアでも勝てています。
検証通貨ペア: USDJPY
Lot数: 固定 5Lot (ナンピンなし・両建て無し。一度に1つのポジションのみ。)
使うテクニカルチャート: ボリンジャーバンド1σ/2σ/3σ, 単純移動平均(10/20), 一目均衡表, MACD
実際にはRSIやEnvelopeなども使っていますが、最低限上の4種類だけで大丈夫です。期間はすべてチャートツールのデフォルトで構わないでしょう。
エントリーはシンプルです。いずれもトレンドフォローで、逆張りはしません。これらのルールはいずれも足の確定ベースです。
ルール 1「ある一定のレンジ相場が続いたのち、ボリンジャーバンドの1σをはみ出してレンジ相場の高値・安値をブレイクした」
ルール 2「ルール1でエントリーしてエグジットした、またはルール1でエントリーしなかったものの大きなトレンドが出現した際、10本または20本の移動平均線付近で反発した場合」
ただし、より精度を高めるために次の執行条件を確認します。
これらのルールは、ベースとなる前述のエントリーサインが出現したとき、そのサインを執行するか否かの判断に用いるものです。勝率を向上させるためにはこの判断が鍵で、損益に直結するでしょう。これらの条件は一見複雑なようにも見えますが、要は「ダマシの可能性が高いか、またはトレンド方向に障壁がありトレンドが発生しても継続しにくい」時にエントリーしない、執行時のフィルタリングルールと言えます。上記の執行条件以外にも、個人的にトレンドが伸びなさそうだな、と不安に思う点があればエントリーを見送った方が賢明でしょう。
また、ルール2はルール1でトレンドの当初にエントリーできなかったときのエントリールールです。ルール1でポジションを持っているときに2のシグナルが出てもスルーです。買い増し、売り増しはしないスタイルです。
損切りのエグジットは、終値ベースでレンジ相場の高値安値を割り込んで戻ったときです。大体5〜10pipsくらいの損切りが多いです。
利確のエグジットが難しいのですが、大体このような考えでエグジットしています。
上記のいずれかで利確せず、見送った場合は10本の移動平均線まで戻ってきたときを利確ラインにしています。移動平均線付近まで戻ってきてしまった場合は反発して値幅を更に取れることもあるので、線を割り込むまではあえてエグジットしません。
昨日(2015年1月6日夜)、実際に私がトレードしたチャート(5分足)です。
紫で囲った部分がレンジで方向感がなく、この時点でブレイクに備えて待機していたところ、22:25の足でレンジの高値、安値を終値ベースで大きく上にブレイクしました。
既に3σを超えており、高値警戒感はあったもののブレイクした高値までの距離が6pipsと許容範囲内だったため、レンジブレイクした足が確定した次の足の始値118.520円で買いエントリーしました。
その後堅調に推移しましたが、22:40に続いて22:50の足で同じような長さで上ひげが出ていることから上値が重いと判断、その足の次の始値①、118.648円で+13pipsの利益確定を行いました。
その後は、利確を行った足の終値でもう一段の高値118.716円を付けましたが、次の足からは陰線が続き、3本目の陰線②で10本の赤い移動平均線を割り込みました。
利確のルールでは、最終的に陰線②で移動平均線を割った足が確定した次の足(陽線③)の始値でエグジットでしたので、利益は随分小さくなりますが最悪でもここでエグジットしなくてはいけません。
また、積極的な利食いを行うのであれば黄色のボリンジャーバンド2σから乖離したのが確定した次の足(②)の始値でエグジットすることも可能です。ただし、この位置はちょうど移動平均線上であるため、反発を期待した場合は③でのエグジットになってしまったと思われます。
結果として、このトレードでは①の位置で利益を確定するのが最適ということでした。今回は大きなトレンドではありませんでしたね。
瞬間的には.716を付け、ここで利確できれば+19.6pipsの利益となりましたが、この高値を記録した足では2σでのバンドウォーク中ですので利益確定は難しかったと思われます。これを取り逃がしたと悲しむ必要はないでしょう。
前述のように、今回試している手法は明確なシグナルはなく、経験則を交えた裁量トレードなので、万人が同じような再現性を持つ手法ではありません。それでも、初心者の方でも比較的容易に利益が出しやすいのではないかと思っています。
この手法でトレードする場合の時間帯は日本時間で夕方〜深夜の欧州時間・NY時間が良いと思います。大きなトレンドが出やすいからです。また通貨ペアに関しては、ドル円よりもユーロドル、ユーロ円、ポンド円のほうがトレンドが継続しやすい傾向にあり利益も出しやすいと思います。
今回、ドル円の記録で1週間で100万円→270万円まで増やすことができました(下の画像)。勝率は平均すると5割程度ですが、トレンドにうまく乗れると1度のトレードで30〜100pips、最大で150pips取れたこともあります。損切りまでの距離が近いため勝率は低くなりがちなのですが、少しでも勝率を上げるために前述の通りエントリーサインが出た後で執行するか否かをフィルタリングしています。
大体リスク・リワード(損失平均・利益平均)が1:2の比率であれば、勝率が30%を割っていたとしてもプラス収支にできることが多いです。もしリスクリワードが1:1であれば勝率50%でもスプレッドやスワップでマイナスになります。リスクリワード2:1、所謂スキャルピングに多い手法ですが、これだと勝率は6〜8割必要になります。利益が小さいコツコツトレードがいかに相当難しいのが分かるのではないでしょうか。
私は昔スキャルピングが好きでよくやっていたのですが、コツコツ小さな利益を重ねていても、数回に一度大きく負けることがあり、トータルでは全然勝つことができませんでした。所謂「コツコツ・ドカン」状態です。今回試しているトレードでは、損はコツコツ、利益はドカンと大きく取れるので、私が負けていた手法を本当に逆にしたような理想的なプロフィットチャートが出来上がります。
一番は、レンジ相場では利益は出ない、トレンドありきのトレードスタイルということを理解しなくてはいけません。エントリーしたもののトレンドの発生ではなく、単にレンジ相場の変動幅が広がっただけというケースが多く、その場合は戻ってきてしまいますので損切りになることがとても多いです。この手法の一番の問題はその点で、いわば「レンジ」か「トレンド」か、の判断精度向上にかかっています。引き続き検証していこうと思います。
参考までに。
本業の仕事が始まり忙しくなりました。もうお正月気分も完全に抜けて、いつも通りって感じですね。Twitterで今月の抱負ということで勉強する誓いを立てたのですが、意外と続いていて良いスタートを切れました。がんばっていきます。
最近、実際に多く稼いでる専業トレーダーの人とお話をする機会が多く、毎回とても恐縮しています。
今日はいろいろ考えたことがあって、まとめておくことにします。
FXは、秒単位の0.xpips単位でのスキャルピングで全然勝てなかった嫌な思い出があって敬遠していましたが、もう少しだけ長い時間軸で持つことを考えて、実際に自分で考えたストラテジーのパラメータなどを変えつつ、様々な通貨ペアで手動バックテストを繰り返しています。
今のところ一番いい成績で自分に合っているトレード手法は、5分足を使ったテクニカル分析による超短期トレードで、平均保有時間は30分〜2時間程度です。この短い間でも多いときは50pips前後の値幅を取ることができています。
通貨ペアはユーロドル、ポンド円を組み合わせます。勝率は6〜7割でしょうか。
ストラテジーは性格により誰にでも通用するものではないですし、ストラテジーが勝ち負けに影響する割合は20%と言われていたりするため、現時点では詳しく書きませんが、そこまで複雑な分析に基づくものではありません。シンプルが一番なのかもしれないですね。
少しのバックテストを行ったあとで、今日は本番口座を使って小ロットで参加してみました。結果は17.3pipsのプラスです(括弧内は損益幅)。
1 2 3 4 5 6 7 8 9 10 11 12 |
## EUR/USD 1.08370S → 1.08246 (+12.4pips) 1.08223L → 1.08166 (-5.7pips) 1.08397L → 1.08427 (+3.0pips) ## GBP/JPY 186.083S → 185.980 (+10.3pips) 185.886L → 185.928 (+4.2pips) 185.838L → 185.787 (-5.0pips) ## EUR/JPY 133.436L → 133.418 (-1.8pips) |
1日何pips取れればいいんだろうと思って、複利計算をしてみたところ、例えばユーロドルの場合1日の平均収支が+10pipsであった場合、25倍のレバレッジを掛けると1ヶ月(20日間)で投資額の1.5倍になり、+20pipsであった場合、2.3倍近い額になる計算です。同じ計算をポンド円で行うと、後者のとき1.6倍だったりと若干効率が悪い数字になってしまいましたが、それでも1ヶ月10%前後を狙うなんてレベルではありませんね。ただしこれは100万円程度の少額だから可能なのでしょうが……。少額ならFXが効率いいというのは本当みたいです。
今まで個別株、先物、最近ではオプションにも手を出していますが、一度本腰を据えて為替を頑張ってみようと思った次第でした。
プロ相場師の思考術 (PHP新書)
高田 智也 著
PHP研究所
2007-08
あらゆる勝負事のなかでも、増減するお金の大きさから、もっとも厳しいとされる投資・相場の世界。その分野で勝ちつづける人たちがいる。なぜ勝てるのか?「運」「ツキ」と呼ばれるものの正体は何か?「強い人ほど負け方を知る」「情報は少なく深く利用する」「予想も予測もしない」「同じ過ちは絶対に繰り返さない」「好き勝手にできることは驚くほど少ない」-“相場で飯を食べられる人”の知られざる日常生活、仕事術の一端を垣間見つつ、プロフェッショナルな思考様式の核心を明らかにする。
~BOOKデータベースより
今後何か本を読んだら、このブログで思ったことやキーワード、キーフレーズを覚書として書き残そうと思います。どんな本だろうと、数年も時間を経るとその時の感情や内容を忘れてしまうのは悲しいことです。
本書内の引用を含むため、それらを見たくない人はこの記事を読まないでください。
日帰りで「投資戦略フェア 2015 秋&投資家交流会」に参加してきました。忘れないうちにまとめておこうと思います。東京へ帰る新幹線の中でこれを書いています。
イベントの主催は、投資関係の数々の名書を出版されているパンローリング出版社さん。既に今まで10回以上開催されていたのですが、今回が初参加です。私が腰を据えて投資を始めたのが今年からで、それから毎日のようにチェックする専業トレーダーさんのブログがあるのですが、そこでこのイベントを知りました。
そのブログの執筆者さんほか、後述の有名な個人投資家の方々と実際から直接お話を聴ける機会とあり、迷わずに予約しました。なんと事前申込みで無料です。信じられないですね。
会場は大阪、本町駅近くのヴィアーレ大阪。結婚式なんかも行われているオシャレな建物です。
このイベントのメインは第一線で活躍する日本を代表する個人トレーダーの方々による講義で、アツいトークを聴くことができます。例えば相場解説や今後の市場動向、サクセスストーリー、実際のトレードテクニック、メンタル的な姿勢や心構え等々です。
朝の11時から19時頃まで、間に15分の休憩を挟みながら1時間〜1時間半くらいの講演が5コマ続きます。同時に2種類の講演があり、事前予約の際に受講する枠を選ぶ形式です。私は次の5つに参加してきました。