ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

完全自動売買への道コミュのDealBook360情報

  • mixiチェック
  • このエントリーをはてなブックマークに追加
2007/2/28版のDealBook360のbeta版で、
自動売買、バックテストの機能が追加されていました。

http://www.gftforex.com/software/dealbookfx/beta.asp
CTL(pascalみないた言語です)でstrategyを記述すればいろいろできるようです。

MetaTraderやVTといった既存の環境を使い込んでる方で、
DealBookを使ってみた感想、
メリット、デメリット等を書いていただけると有難いです。

- DealBook360 Change Guide for Beta Release
http://www.excite.co.jp/world/english/web/proceeding/?wb_url=http%3A%2F%2Fwww.gftforex.com%2Fsoftware%2Fdealbookfx%2F%22%2Fdocuments%2Fmanuals%2FChange&wb_lp=ENJA&wb_dis=2

情報交換致したく、宜しくお願いします。

コメント(178)

私も 927.21 Version UP を喜んだのですが・・・
とりあえず、
・レポートの時刻もローカルタイムに修正されたようなことが書いてあるけど・・・イマイチ変?
・注文ダイアログは文字化け
・先物オイル、金などのチャートが見えるかと思いきや、sazaはFXしか契約していないので見れないとのこと
・注文ダイアログにReverse Orderというボタンが付いて便利(前からありましたっけ?)
プロミラミング経験無しの英語まったくだめでCTLに日夜苦戦しております。
自作ストラテジーでなんとか自動売買までと思ってますが、なかなか厳しいです。
ついにSAZAさんのATSサイトで、待ちに待ってたCTLマニュアルが会員無料で公開されたので夢中で読んでます。それまでsazaさんのオンラインセミナーの動画の鈴木さんの声をBGMにして、ここと、「プログラマーなFX」「ヒラリーマン投資家の外国為替証拠金取引」の両ブログをバイブルとして勉強してきました。

で、基本的なところで恥ずかしい質問なんですが、エラー回避ロジックに使われる、

vars lst=1;
lst:=back(close);
if lst < front・・・・・・

のlst=1が、varsのところにある意味がわかりません。
varsのところは a(series) b(number)のように指定するところじゃないんでしょうか?
また=1がどうして必要なのか、何を意味しているのか教えてください。
親切な方、初心者にどうか教えてくださいませ。よろしくお願いします。
こっしーさんへ

宣言文のvarsには、2通りの記述形式があります。
ひとつは変数と型を宣言する形式で、
もうひとつは変数の宣言と初期化を同時に行う形式です。

var lst=1 は lstを1で初期化(代入)しているのですが、
1はnumberなので、変数lstもnumber型になります。
後でlst:=back(close);して初期値を捨てて上書きするのなら、
必ずしもvars lst=1である必要はなく、
lst=2でもlst=3でも、lst(number)でも同じ意味です。


CTL HelpのModules>STRATEGYあたりに構文の説明があります。
----------------------------

vars Variables;

Variables -> Variable {, Variable} - is a list of comma separated variables of a strategy.
Variable -> Name(Type)
Variable -> Name = Constant
----------------------------
ロストマンさん迅速かつ詳細な解説をありがとうございました。感激です。
気になっているところだったのですっきりしました。

まだコピペしてちょこっといじって「インディケータを自作できた!」とやってる段階ですが、売買プログラムの方にも挑戦してみようと思います。

ところで新バージョンではsellとかbuyでドテン売買する仕様に変わってるんでしょうか?
こっしーさんへ

昔のバージョンでは、
・1バーで複数の注文命令が動作しない
・long()、short()が動作しない
といった制限(バグ?)が重なり、ドテンが簡単には出来ませんでした。

2.9.923.11βで複数注文に対応したので、
exitlong(); sell(lots);
でドテンが可能です。

その後long(), short()も動くようになったので、lotsが一定なら、
if long() then sell(lots*2);
のような書き方でもドテン出来るようになりました。
ロストマンさんありがとうございます。

1月末のバージョンアップの後に、12月完成予定だった日本語マニュアルが出たので、新バージョンは日本語マニュアルの機能が実装されたからこそ出たのかと思ったのですが。

sazaさんで公表された日本語マニュアルには、Sポジが何ロットあろうともbuyで指定したロット数だけのLポジを持つように書いてあったものですから。
例えば10ロットのSポジ持ってた時にbuy(2)とすると12ロットショートして2ロットのLポジを持つみたいに書いてあります。

将来的に実装されるということなんでしょうね。
う〜ん、どうなんでしょう。。2.10.927.21の更新情報には書いてないようでした。
http://www.gftforex.com/documents/manuals/CTL%20Change%20Guide.pdf

仮に対応するとしたら、各ポジションを識別するために、
exitlongやbuyの引数にIDを指定するようになると思います。

また、DealBook(GFT)本体は通貨ペアの個別ポジションを管理してないし、
これまで何年も変わらなかったことから、この先急に仕組みが変わるとは思えませんので、
近々実装されるとしたらATS側でのみ仮想的に持つことになるのですかね。
CTLマニュアルに間違いが確認されました。
修正のため一旦取り下げさせて頂きます。
せっかくダウンロード頂きましたが一部に間違いがあり、
学習する上で混乱を招く恐れがございますので
修正マニュアルが出来上がるまでの間、
お待ち頂きますようお願い申し上げます。

ということで、公開中止になりましたね。ポジション管理のあたりなのかな?
ちなみにロストマンさんの名前がしっかりCTLマニュアルに載ってますね^^
2.10.927.31
http://www.gftforex.com/software/dealbook360/download.asp

新バージョンが出ましたね。変更点はどこなんだろ?
英語がわかんないので、どこにあるか探せない・・・

とりあえず文字化けは治ってないです。
927.31早速いれてみました。
ヒストリカルデータ更新が若干安定した気がします(気のせい?)。

927.15あたりからbackやmovmaxの動作が変わったのですが、927.31で
もそのままのようです。
2個上のCTLマニュアルの取り下げの件はこのあたりが原因ではないでしょう
か?
あと、名前は著者の方にCTLのサンプルを提供した経緯があってお礼として
記念に乗せて頂けたようです。自分は実物をまだ見てないですけど。。(笑)

文字化けはいつものことということで。。
はじめまして!!
コンディーンと申します。
最近、ChartStudioをいじりはじめたばかりの素人です。
アラートでエントリーの価格を通知することって可能なんでしょうか???
どなたか、教えていただけないでしょうか?
お騒がせしました。適当にいじってたら出来ましたわーい(嬉しい顔)
2.10.927.34キター!

日本語文字化け治ってる!ついに日本語環境で取引できる。

のはいいんだけど、挙動がおかしい。また仕様が変わってるなあ。
movmax、movminがまた変わって(戻って?)、他にも変わってるっぽい。
iをとる場所?よくわかんないです・・・

わかった方報告お願いします(__)
movmax/movminは927.15あたりから変になってたのが、
今回のバージョン927.34で元に戻ったようです。
過去のインディケータ資産に影響があるので、元に戻すで正解だと思います。

strategy中のbackは927.15頃の変更から変わってないようです。
それより前のバージョンは、back(close)だとバックテストで未来の
レートが見えてしまってたので、こちらも今の仕様でよいのでは無いでしょうか?


日本語もところどころなおってました。
ATSとは関係ない箇所ですが、
注文ダイアログが修正されたのはうれしいです。
これまで米国版は普通の注文も化け化けでやりにくかったのでw
2.10.927.36キター!

変更点が今度はわからない・・・
平均足のストラテジーを作りたいのですが、
7行目8行目でビルドエラーが出てしまいます。
どなたかお分かりでしたらご助言おねがいします。
strategy heikin_doten;
input lots = 1;
vars i = 1, src = close, op(series), cl(series);
begin
if back(src) < front(src) - 1 then return;
i := back(src);
op = (open[i-1] + close[i-1])/2;
cl = (open[i] + high[i] + low[i] + close[i])/4;
if op[i-1] <= cl[i-1] and op[i] > cl[i] then exitlong();
if op[i-1] >= cl[i-1] and op[i] < cl[i] then exitshort();
if op[i-2] <= cl[i-2] and op[i-1] > cl[i-1] and op[i] > cl[i] then sell(lots);
if op[i-2] >= cl[i-2] and op[i-1] < cl[i-1] and op[i] < cl[i] then buy(lots);
end.
7,8行目に添え字を追加することでビルドはできるようになりました。
しかしシグナルが表示されません。なぜでしょう?
ceptorさんへ

5行目の判定部分、front(src)-1 を +2以上に変える必要があります。
 op[i-2]を参照しているためです

7,8行目をop[i], cl[i]のように添え字を追加したとすると、
 Seriesにはop[i]/cl[i]のみにしか値が入りません。
 その後op[i-1]等を見に行ってるので、前のバーの計算も必要です。
これに関しては、7, 8行目の左辺、右辺の添え字を全部とったうえで、
以降の条件式のopの添え字をi-1→i-2、i-2→i-3とすればよさそうです。
(7行目の添え字をはずすと、opが一個ずれて計算されるので、
その分条件式の方をずらして辻褄を合わせます。)

上記2箇所を変更すればシグナルが表示されます。

もう一点、平均足のopの計算式は、厳密には1バー前の平均足自身のopen/close
の平均になります。これを真面目に書くとすると、forループでopを計算すること
になるかと思われます。
ロストマンさん

ありがとうございます、シグナルがでるようになりました。
4時間以上の足でみるといい感じです。
さらに改良を加えてみますので、またなにかありましたら
ご指導おねがいいたします。
皆さんに伺いたいのですが、GFT系でオススメの証券会社を教えてください。
その際、DealBookはアメリカのサイトから最新版をダウンロードしたいのですが、AFTやサザでもそのまま使えるのでしょうか??
よろしくお願いします。
サザのバージョンはバグが多いから、chartstudioとか使うなら東京支店のバージョン使うことをサザ自身から薦められたよ。

アメリカ本店の使っても多分問題ないと思う。
だけど東京支店のバージョンでもよくない?
サザでもそのまま使えますよ。

サザで取引してるけど、DealBookはGFT本家の使ってます。
CTLでインディケーター自作したり自動売買するなら、本家のやつじゃないと
まずいと思います。関数の仕様変更あるから。
って、東京支店のは使ってないから、仕様変更後のやつかどうかはわかんない
ですけど。

矢島さん、こっしーさん

有り難うございます。
東京支店のバージョンだと2.8だから使えない関数って多くないですか??
出来ればアメリカの2.10を使いたいのです。
アメリカの2.10使ってます。サザですが問題無いです。
北辰ですら、大丈夫だったという話もあるので、米本家のは
GFT系ならどこでも大丈夫だと思います。ただサポート対象外
になることが多いですが。

自動売買に対する愛というかやる気というか金かけてますという
態度からサザを選びました。サザ以外でもやる気になってるIBは
あるのかな?


なるほど、、、

当然と言えば当然で、アメリカ本店の方が最新のバージョンが公開されてるから、より豊富な関数を使えるというわけですね。

因みにバージョンごとの使える関数のリファレンスはどこを見ればいいのでしょう?
そこらは、アバウトですよね。HELP見ても一緒ですもんね。
とりあえずここの過去ログをたどると変更点がわかるかも?

ポジション判定系とか特にアナウンスもなく、いつのまにか
使えるようになってたって感じですもんね。
movemaxの挙動とかもやってみないとわからないという感じでしたし。

PDFで変更点が示されたのって、MACDの色が変わった時以来無いですよね?
2.11.4.12.9キター!

変更点はこれ?
http://www.gftforex.com/documents/manuals/CTL%20Change%20Guide%20Beta.pdf?ts=82520080812

英語はよくわからんのですが、トレイリングストップと指し値キャンセルの
関数ができたんですかねえ?英語できる人、要旨を翻訳してくれないですか
ねえ?

とりあえず、「open」と「close」の日本語が、「開く」と「終値」だったのが、
「open」と「close」になってました。4本値くらい統一してくれよ。

サザと鈴木隆一さんの会社が、ctlの日本側の要望を伝えてるらしいですが、
こういう簡単なことくらいサクっと治して欲しいもんですが・・・
教えてください。
トレイリングストップのプログラムで、ある一定の利益が出ればトレイリング開始というプログラムを作っているのですが、

if fpl() >= profitFPL then trailing_stop_sell(lots,piptrail);

というのだと利益が順調に出ると動かしている時間足毎にトレイリングストップが入ってしまいます。
トレイリングストップが一回しか入らないようにするには、どのような文を入れればよいのでしょうか?
どなたかよろしくお願いします。
無いと思います。

厳密にしなくて良いなら、
全指値をキャンセルして再発注するようにすれば
トレーリングストップは1個になりますが、
再発注によりストップが遠くに戻されます。
どなたかご存知の方がいましたら、教えていただきたいのですが。

VTトレーダーやFXOnlineのシステムでは「Bollinger Bands-Fibo」というインディケータがあるようですが、残念ながらDealBookでは既存のインディケータの中にはありません。

そこで自作しようと思ったのですが、「Bollinger Bands-Fibo」の詳しい計算方法が分りません。
以下のサイトに何か情報があることを期待したのですが肝心のことが分かりませんでした。

http://fxol.biz/blog/fx/fxbollinger_bandsbollinger_ban.html

どんな小さいことでもかまいません。
ご存知の方がいましたら是非教えてください。

検索してみたところ、↓のようなのが出てきました

http://www.cmsfx.com/en/trading-software/vt-trader-features/many-technical-indicators/bollinger-bands-fibonacci-ratios/

標準偏差のかわりにWilders Smoothed ATR を使い、
フィボナッチ級数を掛けたものをバンド幅にしてるようですね。
ロストマンさんレスありがとうございます。

僕もFXAのChart TraderというVTトレーダー系のソフトから、wildersという関数を使ってるのは突き止めることができました。
ただこの関数はブラックボックスになってるのか、中身が分りませんでしたが。。。

ロストマンさんの情報で、少なくともアベレージトゥルーレンジの一種であることが分りました。
ありがとうございます。
少し正解に近づいて来たように感じます。
あとはこのwilder氏がATRにどのような修正を加えたのか分ればいいのですが、それは今のところ分かりませんね。

引き続き情報お待ちしています。
ロストマンさんの情報を基にBollinger Bands-Fiboを普通のアベレージトゥルーレンジを当てはめて作ってみました。
1枚目はGFT版、2枚目はFXA版。
厳密に同じなのかは今のところ分かりませんが、非常に近似的な曲線を描いてくれています。

また何かありましたら書き込みます。
Wilders Smoothed ATR は、
ATRをWilders(≒ema)で平滑化したものと思われます。

Wildersはシステムモジュールとして提供されており、
emaとは期間が異なる以外は同じです。

function Wilders;
input s(series), period(number);
result r(series);
begin
r := ema(s,2*period-1);
end.
> ATRをWilders(≒ema)で平滑化したものと思われます。

通常ATRはtrue rangeをmma(≒ema)したものなので、
ema二回かけるのもどうかと思うので、
true rangeをwildersで平滑化したものかもしれません。

VTのソースがあるのでしたら、そちらを参照されると
正確に再現できるかと思われます。
ロストマンさんの176と177のコメントを受けて、mmaの代わりにwildersを使って作り直してみました。
結果は両インディケータは完全一致のようです(少なくとも見た目上はそうです)

またGFT社とFXA社では値動きが数PIPずれることはありますが、それを勘案しても両インディケータは実用上は代替しても問題ないレベルだと思われます。

とにかく満足のいくインディケータを手に入れることが出来ました。
ロストマンさん、ありがとうございました。

ログインすると、残り142件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

完全自動売買への道 更新情報

完全自動売買への道のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。