初めての方はこちらからお読みください
【第02回】 最新のシステムトレード環境 ― 個人投資家にはシステムトレードがオススメ
【第03回】 人は投資には向かない ― 人はミスをする。自身を投資判断から排除すべき
【第04回】 従うか、やめるのか? ― シストレは人間の曖昧な判断を完全に排除できるか?
【第05回】 システムトレードへの道のり ― 観察、検証、まずは自らで確かめよ
【第06回】 トレーディングシステムを作ろう ― 様々な検証ソフトのご紹介を
【第07回】 低い勝率では、有効性を確認できない ― 勝ちたいならば Winning Edgeを
【第08回】 システム開発者の幻想 ― 我々が目指すべきは、専門システムである
【第09回】 システムトレードの運用効率 ― 評価ポイントは「勝率」と「Profit factor」
【第10回】 投資は、技術である ― 熟練した者とそうでない者には、結果に大きな差が
【第11回】 最適化から逃れるためには ― 最もありきたりな失敗、それが最適化
【第12回】 損切り幅が意味するもの ― 損切り幅は、資産増減の加速度を意味する
【第13回】 最大ドローダウンは更新する ― トレーダーは、不確定な未来と戦う
【全記事】 システムトレード徹底攻略 全記事バックナンバーはこちらからどうぞ
2008年03月04日(火)
移動平均線+サイン波の変動!?
チャートに、オリジナル指数を表示する。
ちょっと難解なプログラムをチャート上に表示してみましょう。
トレステに、テキストから価格データを読み込む方法は、以前、こちらで解説したので、それを参考にしてくださいね。
続いて、トレードステーションの本体に移動し、メインメニューから[insert]->[indicator]をクリックします。
一覧から、先ほど作った、独自の奇妙なテクニカル解析のファイル「!MovingAverage」を選択して[OK]をクリック。
このウィンドウは、作ったテクニカル解析のプロパティです。線の太さや、表現方法を変更できます。
今は、[OK]を押すのみ。
すると、チャート上にこのような線が現れます。
Posted at 13時22分 パーマリンク
2008年02月05日(火)
自動売買ソフトを使いこなそう
ちょっと体験してみましょう。
トレードステーションを使って、プログラムを作成するまでの手順をご紹介。
ここで紹介する手順は、これから何度も使うことになりますので、覚えておいてくださいね。実際に、Tradestation 2000i を使って入力してみることをオススメします。やっぱり読んだだけでは、分かったような気になるだけで、結局、覚えられませんので、体験することが学習には一番大事です。
PowerEditor の起動
PowerEditor は、簡単に言えば、テキストエディタや Microsoft ワードのようなものです。自由にプログラムを編集できるソフトウェアです。
早速、起動してみましょう。Windows のスタートメニューから、"EasyLanguage PowerEditor" を起動します。
このウィンドウが、EasyLanguage を編集するための PowerEditor です。
過去5日の移動平均線でも作ってみよう!
プログラム自体については、分からなくても、ちょっと体験してみましょう。
EasyLanguage でテクニカル解析を自作で作ってみます。EasyLangauge プログラムの新規作成方法からチャートへの適用方法までを学んでください。プログラム自体は、私のサンプルをコピペするだけでOKです。(コピペ=コピーして、ペーストする、、の意です)
EasyLangauge PowerEditor のメインメニューから、[File]->[New] を選択。
続いて、"General" タブを選択。
一覧から、"Indicator" を選択、つまりテクニカル解析指数を作る新規の白紙ファイルを開くわけです。
で、ファイル名を決める訳ですが、これがそのままテクニカル解析の名前になります。今回は、「 !MovingAverage 」という名前にしました。
続いて "OK" を押します。
Posted at 09時44分 パーマリンク
2008年01月18日(金)
トレードステーション、何ができるの?(2)
▼ActivityBar(アクティブバー)
このタイプはちょっと特殊です。
たとえば、出来高に応じてチャートのろうそく足の太さを変更するような場合に利用することが出来ます。
Indicator, ShowMe, PaintBar などは、チャートのバーの幅を変更しないのに対し、ActivityBar は、各バーの左右に余白を作り出し、多彩な表現が可能です。
たとえば、5分チャートのバーの中で、どの価格帯にどういった出来高があるのかを視覚的に表現することができます。表現方法の自由度の高さ故に、とてーーも、プログラムの作りは複雑になりますので、最初は使えなくても問題ないでしょう。
正直言えば、私自身は、使い方は知っていますが、これから一生使わなくても困ることはないでしょう。。
つまり、すべてをマスターしなくても、自動売買やシステムトレーディングを使った投資はできるということです。自分に必要な部分だけ、最初は理解していきましょう。
▼ProbabilityMap(確率マップ)
このタイプは、確率マップといえばよいでしょうか。
たとえば、現在の価格から未来の価格を予想するときに、ある価格にいる確率を視覚的に、色を変えて、チャート上の右側の未来領域に表示することがでできます。たとえば、現在価格が1000であれば、1100台は赤、1200台はオレンジ、1300台は緑、1400台は青といった表現が可能です。これも、かなり複雑です。
これは例ですが、波動砲みたいですな。
EasyLanguage を学ぶと言っても、こういった複雑な表現をマスターする必要はありません。
トレーダーの目的は投資に勝つことです。
EasyLanguage をマスターしたからといって、投資で勝てるわけではありませんので、役に立つ物だけを理解してください。
▼Strategies(ストラテジー:投資戦略)
投資戦略システムを作成するためのものです。
このタイプで EasyLanguage を新規作成すれば、簡単に自動売買で実行させることができます。
Strategies は、チャート上に売り、買い、損切り、利益確定時に矢印を表示してくれます。どういった投資戦略が儲かるのか調べることができますので、これこそトレードステーションの醍醐味といえるでしょう。
またシステムをチャートに適用すれば、過去数十年間の運用成績さえも、かんたんに調べることもできます。
逆にこのタイプで出来ないことは、チャート上にテクニカル指標を表示したり、バーに色を付けたりすることは出来ません。あくまでも、このタイプは投資戦略を記述するためのプログラムです。
▼Function(関数)
このタイプは、チャート上に何かを表示するためのプログラムタイプではありません。
関数とは、他のプログラムから頻繁に呼ばれる機能を詰め込んだ箱のようなものです。
たとえば投資戦略プログラム中で、何度も平均値の演算を使いたい場合に、その度に毎回、平均を計算するための記述を繰り返すことはとても面倒です。このようなケースで、関数として平均値を計算する機能をパッケージしちゃうことで、何度も同じ記述をせずに済むわけです。
たとえば、平均移動線を計算する機能を詰め込んだ関数を Average という名前で作成します。平均値という演算機能がこの関数の中には記述されていますので、今後、投資戦略プログラム中では、Average(Close,20) と記述するだけで、過去20日の終値の平均値を取得することが出来るようになります。
つまり関数は、記述量を少なくするための一つの手段です。
7つのタイプ、覚えてくださいね。
何かを書き始める前に、さて、どのタイプが目的に最も合っているか?と事前に考える必要があるわけです。
たとえばインディケータの記述ウィンドウでは関数を書いちゃうとエラーになります。また投資戦略プログラムの中で、テクニカル指標の描画を行おうとすると、これまたエラーになります。
り選ぶタイプを間違えると、やりたいことが実現できないので、書き始める最初の段階で、7つのタイプから選択する必要があるわけです。
Posted at 15時24分 パーマリンク
2008年01月09日(水)
トレードステーション、何ができるの?(1)
7つのプログラムタイプ
EasyLanguage は、目的にあわせて7種類のプログラムタイプがあります。
各プログラムタイプ毎に、「できること」「できないこと」が分かれています。EasyLanguage で、プログラムを作る時には、プログラムを新規作成する時点で、7つタイプから、目的に応じて選択する必要があるわけです。
ここでは、7つのプログラムタイプがあることを理解してください。それぞれ、どんなことができるのか、なんとなく理解する程度でもOKです。のちほど、それぞれについて詳しく解説していきます。
▼Indicator:インディケータ
テクニカル解析指標をチャート上に表示します。移動平均や RSI, MACD といったテクニカル解析指標をチャートに表示するときには、このタイプのプログラムを新規作成します。
インディケータは、チャート上に、移動平均線の様に連続した線や、出来高のようなヒストグラム、点などの表示方法が可能です。一番、よく使うタイプです。
移動平均線: このように連続している曲線のテクニカル指標は、トレードステーションでいうところの「インディケータ」に分類されます。
出来高: これもインディケータに分類されます。曲線、棒グラフ、点線など、表示方法は、多彩に用意されています。
インディケータは、「連続する値」を表示するものと、覚えておくと、パーフェクトです。たとえば移動平均線などのように連続している値、あるいは出来高のようにチャートの各バーで、すべて値を持っている表示方法は、インディケータを使います。
▼SHowMe:ショウミー
名前が奇妙なので、なんて訳せばいいのか、分からないタイプである(笑い
ShowMe は、チャート上の特定のバーだけに●印をつけるタイプです。たとえば、買い、売りの条件にあっているバーに印を付けるような場合に使います。表現方法としては、かなり限定的ですが、チャート上に目印を付ける場合に便利です。
Indicator がチャート上のすべてのバーに対して連続的な表示を行うのに対して、ShowMe は特定のバーだけに表示を行うものです。
▼PaintBar:ペイントバー
チャート自体の色を変える場合に使います。条件を記述し、条件1が満たされたら赤、条件2が満たされたら青といったようにチャートの配色を EasyLanguage からプログラムで変更することが出来ます。
また PaintBar は、チャートに色を付けるだけではなく、自由な大きさ、自由な色の価格バーを作ることが可能になっています。たとえばこの機能を利用すれば、一目均衝などの「雲」を作ることもできます。
続く、、、
EasyLanguage, Tradestation にご興味あれば、こちらもどうぞ。
http://www.swingwaver.com/
Posted at 07時29分 パーマリンク
2007年12月26日(水)
トレードステーション入門
トレードステーションに限界はない。
システムトレードを行う上で、世界中で最も多く、最も長く支持されてきたプラットフォームといえば、トレードステーションでしょう。最初のリリースからすでに10年以上、発展し続けています。私もすでに、トレードステーションとともに10年以上トレーディングを楽しんできています。
トレードステーションに搭載された投資戦略記述言語 EasyLanguage は、完全な言語体系をもった普通のプログラム言語です。これが意味することは、投資戦略が論理的であれば、なんでも記述できるということです。
たとえば特定のテクニカルの組み合わせのみとか、記述できない投資戦略が存在する、、ということは基本的にはありません。投資戦略が、曖昧なルールでない限り、あなた自身の投資戦略のすべてをシステム化できるわけです。もちろん、プログラミング能力は、技術ですから、人によって作れる限界はあると思いますが、努力すれば何でも作れる環境がトレードステーションにあります。
投資戦略を記述するための専用言語として開発されましたが、やろうと思えば、物理学でも、統計学でも、数学でも、、、燃料電池の計算でも、熱伝導式でも、素粒子論物理学でいうクォークとハドロンのシミュレーションもできるかもしれません。(パソコンのスピードの問題でできないと思いますが、、ははは〜
つまりトレードステーションに搭載された投資戦略記述言語 EasyLanguage は、汎用的なプログラム言語であるため、基本的に限界はないわけです。
いや、本当をいえば、ありますが、まあ、通常は、そこまで到達できません(笑
トレードステーションでも記述できない戦略とは?
あらゆる投資戦略を記述できる訳ではなく、「曖昧な戦略」は記述できません。
プログラム言語自体、非常に論理的に組まれる物ですから、たとえば、チャートパターンが、Wトップになったら?
という条件だけでは、一体どういったWトップなのか、分からないわけです。それでも、Wトップという「チャートパターンが描くの形」を「厳密に」、そして「数学的に」表現することができれば、Wトップというものを投資戦略として記述することができます。
EasyLanguage が得意な投資戦略は、RSI や 高値、安値といった数学的に厳密に記述できそうなテクニカルを使ったシステムです。
なぜ、 EasyLanguage を使うのか?
Tradestation は、それ自体はコンピューター上で動くソフトウェアです。
残念ながら今のところコンピューターは、我々の心や考えを読む力がありません。そのため、何らかの手段で、我々の頭の中に描かれた投資戦略や、テクニカル解析手法をコンピューターに伝えなければなりません。伝えることができてこそ、始めてコンピューターによる投資戦略の解析や、自動売買が可能になるのです。
我々が考えている投資手法を、Tradestation に伝えるためのひとつの手段として、EasyLanguage と呼ばれるプログラム言語が用意されています。このプログラム言語は、投資戦略を書くために様々な工夫を備えており、トレーダーが投資戦略を記述するために必要なすべてを備えています。
簡単にいえば Easylanguage という翻訳を通じて、コンピューターに投資をやらせるわけです。
EasyLanguage を使うことで、自分の投資戦略を簡単にコンピューターに伝えることが可能となります。市場データを判断材料として、自動で売買を行う投資戦略システムや、独自のテクニカル指標をチャートに表示するが可能になります。つまり、それは、あなただけの独自の解析ツールを生み出すことが可能なのです。
現在では、EasyLanguage は、世界中でとても多くのトレーダーに使われており、事実上の業界標準言語になっています。テクニカル指標や自動売買システムなど投資に関するアイデアを EasyLanguage で記述することで、世界中のトレーダーと投資のアイデアを交換することが可能になります。
たとえば、わたしのシステムを、アナタのパソコンで動かせば、同じように売買できるようになるわけです。これは、とても便利なことですね
Posted at 15時38分 パーマリンク
2007年12月19日(水)
一目均衝をつくろう。
トレステ2000i を使って、一目均衝を書いてみましょう。
一目均衝は、5本の線と、雲と呼ばれる1つの領域から成り立っています。これで勝てるのかどうか、調べてみるまでは、よくわかりませんが、EasyLanguage で自作で組むのは簡単そうです。ちょいとやってみましょう。
まずは、簡単な3つ線「基準線」「転換線」をEasyLangauge で作ってみましょう。
基準線と転換線
- 【基準線】過去26日間の高値と安値の平均値の線です。
- 【転換線】過去9日間の高値と安値の平均値の線です。
これは、EasyLanguage で記述するのは、ちょう簡単ですね。たった1行で記述できます。Highest(), Lowest() は、ある期間中の最高値、最安値を出力する関数です。
続いて、EasyLangauge テクニックが必要な「遅行スパン」を作ってみましょう。
遅行スパン
- 【遅行スパン】終値ベースのチャートを左側(過去側)へ26日間並行にずらしたもの。。
これを表現するのは、ちょっとテクがいりますね。まず表示するラインは、終値 Close ですから、いったんこのように書いておきます。
で、表示するときに、右側に 26日ずらすというのですから、以下のように記述して26日ずらすわけです。
えっ? マニアックすぎてマニュアルに載ってないって?
はは、は(笑)私のような EasyLanguage オタクじゃないと、気がつかないかもしれませんね。
確認のために、チャートに表示
ここまでを、早速、チャートに表示してみましょう。プログラムの全体は、このようになりますね。適当に、線に色をつけています。
このような表示になりますね。
先行スパン
「先行スパン1」「先行スパン2」を作ってみましょう。
- 【先行スパン1】基準線と転換線の平均値の線を、チャートを右側(未来側)へ26日間並行にずらしたもの。
- 【先行スパン2】過去52日間の高値と安値の平均値の線を、チャートを右側(未来側)へ26日間並行にずらしたもの。
プログラム自体は、難しくないですね。ひとつだけ、チャート上の表示を、右側に26日間並行にずらすために、Plot1[-26]を使うのがポイントですね。
チャートの右側に空白を作る
この時、ひとつ注意です。先行スパン1,2は、チャート上の右側領域に空白をあけておかないと、表示できません。
チャート上で右クリックして、Format Windows を選択して、この部分でチャート上の右側に空白を作っておけば、先行スパンを表示することができます。これは、ちょっと面倒ですね。
すべての指標を重ねて書いてみました。うーん、ぐちゃぐちゃ、、、、
雲
これが、なかなかに曲者です。
- 【雲】2本の先行スパン(先行スパン1と先行スパン2)の間を塗りつぶした領域
EasyLanguage で、いったいどう書けばいいのか、ちょっと迷いますからね。実は、EasyLangauge の機能の中に、ある領域をべったりと塗りつぶすという関数がないからです。ここでは、近い表現になるように、PaintBar を使って作ってみました。
なんとかできました(笑)
今回作ったファイルは、こちらからダウンロードできます。
今回、使用したのはトレードステーション2000iです。
Posted at 20時36分 パーマリンク
2007年12月13日(木)
Let's システム開発 「為替でピボット」
ピボットとは?
ピボットは、J Welles Wilderによって考案されたテクニカル指標です。
簡単にいえば、前日の高値、安値、終値を用いて当日のサポート(支持)/レジスタンス(抵抗)水準を予測しようという指標です。デイトレーダー向け(短期売買向け)の分析指標と言えます。
これを今回は、為替に適用してみましょう。ブログネタの提供元は、Sさんです。ありがとうございます。
ピボットラインを EasyLangauge でプログラム
まあ、ピボットラインの計算はSさんに教えてもらったとおりにプログラミング。詳しくはこちらのソースコードを見てください。
Data1 に 15分チャート、Data2 に日足チャートが入っています。このように複数データを読めますので、プログラムは以下のようになります。
まあトレードステーションを使えば、この程度は、楽勝ですね。エクセルだと、死ぬほど苦労すると思いますが、、
チャートに表示すると、このようになります。なかなかうまくいく時もありますね。
ピボットを使った戦略のポイントは、買い/売りゾーンに価格がさしかかったらポジションをとり、ドテンするか、損切りになるまで保持するというものです。シンプルですね。
為替で勝てるか?
Sさんの希望通り、GBP/JPY, EUR/JPY, USD/JPY でのパフォーマンスを調べてみました。データは、15分チャートを利用して過去3年間のパフォーマンスを算出。
▼GBP/JPY
▼EUR/JPY
▼USD/JPY
結果
明らかな市場に対する有効性は、見いだすことができませんでした。どっちかというと、売り買いを逆にした法がいいかもしれませんね
有効性が見えるのであれば、損切り幅を広くして勝率を上げるという形のアプローチもできそうですが、今回の場合、残念ながら「これは勝てない」と言わざるを得ないですね。
試練の道
システム開発は、試練の道です。どれが儲かりそうか、こうやって一つずつ検証していくわけです。なにも実際に自分の大事な資金を使ってピボットが勝てるかどうかを市場で試す必要はないわけです。
まずは、トレードステーションなどを使って、投資戦略を検証、市場に対する有効性を判断してから、実際の投資に移るべきなのです。勝てないということを証明するだけに、お金を失うのはバカらしいですからね
まあ、今回は、勝てませんでしたが、システム開発は、この繰り返しですからね。なにも、めげるようなことではありません。次を探せばいいだけです。
Posted at 09時55分 パーマリンク
【 過去の記事へ 】













































