2009年6月 6日 (土)

近未来型FX自動取引ツールとは

サザインベストメントで新しい自動売買のツールがリリースされるようです。

近未来型FX取引システム「トレードメッセンジャー」

これまでも投資のサービスとしてプロの投資家がシグナルをメールなどで配信するサービスはあったと思います。が、メールでシグナルを受け取っても実際にトレードするのは自分自身であるため、タイミングを逃したり、何らかの事情で売買できなかったり、取引チャンスを逃すことも多かったのではないでしょうか。

このソフトはシグナルを配信してくれるトレーダーから受信したシグナルをもとに自動売買を行ってくれるというソフトのようです。これで仕事中でも就寝中でも、取引チャンスを逃すことは無くなりますね。なかなか画期的な取引システムだと思います^^

今のところシステムの利用料は無料ですが、サザインベストメントでトレードメッセンジャー専用口座をオープンする必要があるようです。今月中には口座開設できるようになるそうです。これは期待大!ですねw

>>サザインベストメント

| | コメント (0)

2008年4月16日 (水)

CTL言語マニュアル 無料配布

4月14日よりCTL言語(DealBook360自動売買プログラム言語)のマニュアルがATS総合ポータルサイト(サザインベストメント)から配布されています。本マニュアルは一度2月に配布停止となっていたのですが、バージョンアップしてようやく再配布が開始されました。

Ctl

マニュアルは電子書籍ですので、PDFとして配布されています。200ページ以上あるのですが、サザインベストメントに口座を開設していると、無料で読むことができます。うれしいですね^^。

ざっと一通り見て見たのですが、ChartStudio(CTL開発環境)を使ってインディケータや、ストラテジー(自動売買プログラム)を1から作成する方法がわかりやすく解説されており、まさに初心者の方にうってつけの内容ではないかと思います。

CTL言語の細かい仕様や、動きなど、私も知らなかった内容もありました。読んでよかったです(^^;

それと、ところどころにでてくるコラム「ちょっとひといきシステムトレード徹底攻略」も、シストレの心構えみたいなものが記載されてますので、読んでおいて損はないと思います。

マリュアルの配布サイトはこちら>ATS総合ポータルサイト

入手するには口座開設が必要です>サザインベストメント

| | コメント (2)

2008年3月27日 (木)

ChartStudio入門 (13) インディケータのスタイルを変更する

ChartStudio入門(13)です。
※ChartStudioをもっていない方はDealbook360(サザインベストメント)を入手してください。
※GFTで公開されている新バージョン(2.10.927.21)を利用しています。

今回は、インディケータラインのスタイル設定方法を記述したいと思います。

例えば次の単純なインディケータの場合ですと、ラインはデフォルトのスタイルが適用されます。

indicator test_indicator;
input period = 25;
draw line("test-1");
begin
  line := sma(close ,period);
end.

Trend1

これのラインのスタイルを変更してみましょう。ラインのスタイルとして線種(破線、ヒストグラムなど)、色(赤、青・・)、線の太さ(1、2、3・・)が変更可能です。

次の例では、緑色で線幅2のドット線を描きます。

indicator test_indicator;
input period = 25;
draw line("test-1", dot_line, green, 2),
begin
  line := sma(close ,period);
end.

Trend2

ヒストグラムを描くことも可能です。

indicator test_indicator;
input period = 25;
draw line("test-1", histogram, red, 1),
begin
  line := sma(close ,period);
end.

Trend3

一応、全ての線種のサンプルを記述しておきます。

Trend

上から順番に、
red - default_style
blue - solid_line
yellow - dash_line
green - dot_line
cyan - dash_dot_line
magenta - dash_dot_dot_line
white - invisible
dark_cyan - points
dark_red - crosses
dark_yellow - histogram

となっています。

上手く使い分けてラインを描画してください^^。

| | コメント (0)

2008年3月11日 (火)

ChartStudio入門 (12) ファイル出力

ChartStudio入門(12)です。
※ChartStudioをもっていない方はDealbook360(サザインベストメント)を入手してください。
※GFTで公開されている新バージョン(2.10.927.21)を利用しています。

今回は新バージョン(2.10.927.21)で追加されているファイル出力の関数をご紹介します。残念ながらファイル入力はできないため、出力のみの機能です。

それではまず、それぞれの関数説明から。

■openfile
概要:ファイルをオープンする。オープンに成功すると(1)番目の引数にファイルポインタが返ります。
入力引数:(1) ファイルポインタ(file), (2) ファイルパス(string), (3) オープンモード(app, trunc)
出力結果:なし

オープンモード
app・・・追加書き込みモードです。ファイルがなければ新規作成します。
trunc・・・新規書き込みモードです。ファイルがあれば再生成します。

■printf
概要:ファイルに指定した文字列を書き込む。事前にopenfileでファイルをオープンしておく必要があります。
入力引数:(1) ファイルポインタ(file), (2) 文字列(string)
出力結果:なし

文字列以外の型を文字列に変換するには、次の関数を使用します。
str, numbertostring, booltostring, seriestostring

■closefile
概要:ファイルをクローズする。クローズ後はファイルポインタは利用できません。
入力引数:(1) ファイルポインタ(file)
出力結果:なし

さて、それではファイル出力するサンプルを以下に記述します。

indicator test_ind;
vars f(file);
begin
  openfile(f, "C:\\temp\\aaa.txt", app);
  printf(f, "hello world !!");
  closefile(f);
end.

openfile関数ではパスは自由に指定することができますが、各フォルダの区切り文字は\ではなく、\\と二重に記述する必要があるので注意してください。おそらく文字列中という事で、\\の最初の\がエスケープ文字となっているのだと思います。

上記を実行するとC:\temp\aaa.txtというファイルが作成され、チャートの足が更新されるたびに1行づつ増えていきます。

hello world !!
hello world !!
hello world !!
hello world !!

・・

このようにファイル出力ができるようになると、様々な情報(例えばシステムのエントリータイミングなど)をファイルに書きだして、それを別のアプリケーションが参照するという事ができます。つまり外部のアプリケーションと連携ができますね。

実際のところ、どのような使い道があるかはわかりませんが、拡張性が高まるのは事実だと思います。
是非、有効活用してください^^。

| | コメント (2)

2008年2月27日 (水)

ChartStudio入門 (11) トレンドラインの角度を求める

ChartStudio入門(11)です。
※ChartStudioをもっていない方はDealbook360(サザインベストメント)を入手してください。

前回の数学関数(記事はこちら)を使ったサンプルを紹介したいと思います。

割と良く聞くのが、移動平均線などのトレンドラインの角度を求めたいというような需要です。それでは角度を計算して見ましょうか。角度を求めるにはatan()関数を利用します。

まずatan()関数について簡単に説明しておきます。

三角関数のうちtan(タンジェント)の逆関数がatan(アークタンジェント)になります。次の図を見てください。

Atan

緑色の三角形の底辺がx、高さがy、角度をθとしたとき、tanθ=y/x が成り立ちます。これに対する逆関数tan−1(y/x)=θとして表されます。ここでtan−1というのは、アークタンジェント、つまりatanの事です。

θ=atan(y/x)

yの数と、xの数がわかれば、θ(角度)を求める事ができるという事です。ただし、ここでθは単位がラジアン(-π/2~π/2)ですので注意してください。

さて、それでは次のような移動平均線(トレンドライン)に当てはめて考えてみましょう。

Trend

θを求めたいと思います。xはチャートが表示しているタイムフレームの時間です。例えば1時間足なら1時間となります。yは価格差です。例えば始点の時点が100.00で、終点が100.10であったなら、yは0.10となります。

ここで一つ重大な落とし穴があります。x(時間)とy(価格)の単位が異なっているからです。これでは角度を求める事なんてできませんね・・。では単位を揃えましょう。

xはタイムフレームの時間と書きましたが、これを価格に合わせます。といっても時間->価格になんて変換することはできませんので、チャートを見てxの長さを価格で目視算出する必要があります。上記の例でいくと、yが0.10なら、だたい同じくらいとして、xも0.10で計算するというように半ば強引な変換が必要なんですね。

さて賢明な方ならこの時点で気づいたかと思いますが、xを目視で算出している以上、実際のシステムにはあまり役には立ちません。なぜならチャートを拡大、縮小すればxの長さは変わるからです。角度を求めるというのは一見簡単そうですが、実はチャートにおいて角度というものは表示している状況によって変わるものなので、算出することは難しいのです。

とりあえず、ここでは拡大・縮小などを使わずに決められた縮尺で、かつ決められたタイムフレームで限定して使うという前提で計算したいと思います。次は移動平均線の角度を表示するインディケータです。

indicator test-1;
input period = 25;
draw line("test-1");
vars pos(number),ss(series);
begin
  ss := sma(close, period);
  for pos := (front(close) + period + 1) to back(close) do begin
    line[pos] := atan((ss[pos] - ss[pos-1]) / 0.10) * (180 / 3.14);
  end;
end.

atanを使って角度を求めています。ssは単純移動平均線でposとpos-1(現在バーと、一つ前のバー)の差分をy、0.1がxとしています。また、atan()で求めるのはラジアンですので、180/πをかけて角度(-180°~180°)に変換しています。

なお、xの長さを0.1と固定していますので、xがレートの0.1と同じ長さになるようにチャートの拡大、縮小でサイズを合わせてください。私はドル円のチャートで1時間足を基準に作成しました。

チャートに適用したイメージは次のようになります。

Test_ind

チャートの下ウィンドウに表示されているのが移動平均線の角度です。-30°から30°くらいまでトレンドに合わせて変化している様子が見て取れます。角度が急な箇所がトレンドの勢いがもっとも強いところになっています。

このような角度を利用したシステムもできるかもしれませんね。ただしチャートの表示は固定で使う必要がありますが・・(^^;

| | コメント (0)

2008年2月22日 (金)

ChartStudioヘルプ日本語訳公開

サザインベストメントで提供されているDealBook360は、本家GFTのDealBook360より若干古いバージョンになります。

GFT版 バージョン2.10.927.21

サザ版 バージョン2.8.918.12.1

どうやらATSを利用して自動売買させるには、GFT版の方が良いそうです(知らなかった・・)。どのように違うのかというのが、こちらのページに記載されています。またGFT版の日本語マニュアルも提供されています。

Chart Studioヘルプ 日本語版

ひとつ気になったのは新しいバージョンで組み込まれている入力/出力関数。ファイルを読み込んだり、書き込んだりできると思うのですが、使い方はよくわかりません。もしファイルの入出力ができるのなら、かなりプログラミングの幅が広がりそうな気がするのですが・・。

ただし一つ注意点としては、今まで動作していたシステムが、新しいバージョンで動作しなくなる可能性があるそうです。上手く、下位互換をサポートできていないみたいですね。

また新しいバージョンを入れて見て色々と動作検証してみたいと思います^^。

| | コメント (4)

2008年2月11日 (月)

CTL言語マニュアル 無料配布

2月7日よりCTL言語(DealBook360自動売買プログラム言語)のマニュアルがATS総合ポータルサイト(サザインベストメント)から配布されています。

Ctl

マニュアルは電子書籍ですので、PDFとして配布されています。240ページ近くあるのですが、サザインベストメントに口座を開設していると、無料で読むことができます。うれしいですね^^。

ざっと一通り見て見たのですが、ChartStudio(CTL開発環境)を使ってプログラムを1から作成する方法がわかりやすく解説されており、まさに初心者の方にうってつけの内容ではないかと思います。

CTL言語の細かい仕様や、動きなど、私ですら「目からウロコ」な内容もありました。読んでよかったです(^^;

それと、ところどころにでてくるコラム「ちょっとひといきシステムトレード徹底攻略」も読んでおいて損はないですね。シストレの心構えみたいなものが記載されてます。個人的にもこのコラムを読んで新しい発見がありました。

マリュアルの配布サイトはこちら>ATS総合ポータルサイト

☆☆ご注意:マニュアルの不備により、今現在は無料配布は停止中のようです。今しばらくお待ちください。☆☆

入手するには口座開設が必要です>サザインベストメント

| | コメント (0)

2008年1月26日 (土)

ChartStudio入門 (10) 数学関数一覧

ChartStudio入門(10)です。
※ChartStudioをもっていない方はDealbook360(サザインベストメント)を入手してください。

今回は数学関数をまとめてみました。

数学関数はシステムによっては多用すると思います。例えば、atan関数を使って直線の傾きを求めることもできますし、使い方次第で色々なアルゴリズムができると思います。(用例については次回に触れたいと思います。)

■abs
概要:絶対値を求める
入力引数: (1)数値
出力結果: 絶対値
内容:指定した数値の絶対値を返す

■max
概要:最大値を求める
入力引数: (1)数値1、(2)数値2
出力結果: 最大値
内容:指定した二つの数値1、2のうち、大きい数値を返す

■min
概要:最小値を求める
入力引数: (1)数値1、(2)数値2
出力結果: 最小値
内容:指定した二つの数値1、2のうち、小さい数値を返す

■sin
概要:正弦(サイン)を求める
入力引数: (1)数値
出力結果: 正弦値
内容:指定した数値の正弦(サイン)を返す

■cos
概要:余弦(コサイン)を求める
入力引数: (1)数値
出力結果: 余弦値
内容:指定した数値の余弦(コサイン)を返す

■tan
概要:正接(タンジェント)を求める
入力引数: (1)数値
出力結果: 正接値
内容:指定した数値の正接(タンジェント)を返す

■atan
概要:逆正接 (アークタンジェント)を求める
入力引数: (1)数値
出力結果: 逆正接
内容:指定した数値の逆正接 (アークタンジェント)を返す

■sqrt
概要:平方根を求める
入力引数: (1)数値
出力結果: 平方根
内容:指定した数値の平方根(√)を返す

■pow
概要:べき乗を求める
入力引数: (1)数値、(2)べき乗
出力結果: べき乗
内容:指定した数値のべき乗を返す

■exp
概要:指数関数を求める
入力引数: (1)数値
出力結果: 指数関数
内容:指定した数値の指数関数 (e を底とする数式のべき乗) を返す

■ln
概要:自然対数を求める
入力引数: (1)数値
出力結果: 自然対数
内容:指定した数値の自然対数(定数 e (2.71828182845904) を底とする対数)を返す

■log
概要:対数を求める
入力引数: (1)数値
出力結果: 対数
内容:指定した数値の対数(10を底とする対数)を返す

■round
概要:正数値に丸める
入力引数: (1)数値
出力結果: 正数値
内容:指定された数値を少数点0桁を切り捨てた数値を返す(平たくいえば整数値に丸める)

■int
概要:整数部を求める
入力引数: (1)数値
出力結果: 正数部
内容:指定された数値の整数部を返す

■frac
概要:少数部を求める
入力引数: (1)数値
出力結果: 少数部
内容:指定された数値の少数部を返す

| | コメント (3)

2007年12月28日 (金)

DealBookWebリリース

12/27よりサザインベストメントからDealBookWebがリリースされました。

Dealbookweb2

いわゆるWeb上で操作ができるDealBookトレーディングソフトの簡易版という位置づけなのですが、これがけっこう良く出来ています^^。

Web版という事で、複雑な機能などが省略されているため、非常にシンプルになっています。必要最小限の通貨ペアの表示(自分で選択可能)、チャートやポジションの表示も見やすく整理され、注文も簡単に行うことができるようになっています。

正直なところ、DealBook360自体は起動に時間がかかるし、取り扱われる通貨ペアが多すぎて注文を行うにも大変だと思ってたのですが(特に125種類もある通貨ペアのプルダウンを選択するのは大変でした・・・)、このWeb版なら簡単に注文を行う事が出来ます。

まさに、simple is best ! ですね。

また、通貨ペアやチャートの設定などはある程度自由に編集ができるのでカスタマイズ性もあります。一つ残念なのは、設定は自分のパソコンに保存されているようで、外出先など別のPCから表示すると再設定する必要があるということでしょうか。できれば設定はWebサーバに残して、どの端末からアクセスしても同じ設定で表示して欲しかったですね(^^;。

もちろん複雑なインディケータを表示させたり、完全自動売買を行うためにはDealBook360などの本格的なトレーディングソフトが必要ですが、日常的にはこちらのWeb版で十分です。重宝しそうですw。GoodJob!

>>サザインベストメントで、書籍プレゼントも実施中!

| | コメント (2)

2007年12月 3日 (月)

ChartStudio入門 (9) movmax, movmin

ChartStudio入門(9)です。
※ChartStudioをもっていない方はDealbook360(サザインベストメント)を入手してください。

今回は良く利用する最大値、最小値を求めるための関数、movmaxとmovmin関数を説明したいと思います。

※実はこの関数はヘルプでは「Returns index of maximum」と記載されていて、最大を表す値が格納された配列のインデックス番号が戻りそうなのですが、しかし実際はインデックス番号ではなく最大値、最小値そのものが戻ります。ご利用時は、ご注意ください。

それではまず、それぞれの関数説明から。

movmax
概要:配列から最大値を取得する
入力引数: (1) 元になる配列, (2) 開始位置, (3) 期間
出力結果: 最大値

movmin
概要:配列から最小値を取得する
入力引数: (1) 元になる配列, (2) 開始位置, (3) 期間
出力結果: 最小値

この関数の引数は、開始位置から過去に向かって期間を指定するのですが、少しわかりにくいかもしれません。図にして見ましたのでこちらで確認して見てください。開始位置をx=5、期間をn=5としています。

Maxmin

サンプルプログラム
※「過去20日間(高値)の最大値」を描画します。

indicator test_ind;
input period = 20;
draw line("test-1");
vars pos(number);
begin
  for pos := (front(high) + period - 1) to back(high) do begin
    line[pos] :=  movmax(high, pos, period);
  end;
end.

Chart

いかがでしょうか。最大値、最小値はよく使うと思いますので、是非マスターしてください^^。それではまた次回をお楽しみに。

| | コメント (9)