dealbookのシステム開発です
2つのストラテジーを2つのチャートで管理するのが面倒で、
一つのストラテジーの中にパラメータの違う2つのストキャスを組み込んで、
あたかも2つのストラテジーが動いているようにしたいと思いました。
実際にプログラムして動かしたところ
エントリーしたポジションが
どちらのストキャスで出来たものか区別できないため
エントリーと手仕舞がごちゃごちゃになって
上手くいきませんでした。
結局、2つのチャートを使ってそれぞれのストラテジーを動かすしかないようです。
なぜ2つのストラテジーを動かしたいかと言うと
相場の傾向が変化しても安定した利益を得られるようにしたい
というのが理由です。
オージー円の1時間足と2時間足の両方でシステムを動かしているのはそんな理由です。
コラム執筆陣:松田哲、吉田恒、陳満咲杜、マット今井 陳さん 中国の戦略
松田さん ドル円分析 夏休みのすすめ
吉田さん 円高の主犯
今井さん ドル円下げ ユーロ売り
参考になったらクリックよろしく
人気blogランキング へ
***********************
検証にはGFTのdealbook360を使っています
自前の検証をお勧めします
口座開設はこちらから
ブレイクストラテジーについて考えます。
レンジブレイクのストラテジーの場合、単純に考えると
レンジの上端を上に抜けると買い
レンジの下端を下に抜けると売り
となる
一方、トレンド方向に沿って売買するのが安全だと言われている。
そうであるならば、トレンドが上方向の場合
レンジの上端を上に抜けると買い(追従買い)
レンジの下端を下から上に抜けると買い(押し目買い)
で良いことになる
手仕舞について:
固定ラインによる手仕舞よりは、直近の高値安値を割り込んだら手仕舞する手法(HLブレイク)に合理性があるように思う。
HLブレイクのポイントは、直近何本のバーの高値安値にするかということにある。
バー本数を大きくすればちょっとした変動では手仕舞しない。
バー本数を小さくするとちょっとした変動で手仕舞する。
エントリーラインに近いところでは、ある程度のもみ合いは静観して利がのるのを待つのが良い。
従って、バー本数を多くしてちょっとした変動では手仕舞しない。
損得どちらの方向に行くのか決着がつくまで待つしかない。
一方、ある程度の利益がある場合、デイトレードであるならば手仕舞を遅くして利益を減らしたくない。
急騰や急落した場合、1本のバーの長さが大きくなる。従ってバー本数を小さくしても手仕舞しにくくなる。
この辺を考えるとエントリーラインから離れた場合は、バー本数を小さくして良いと思われる。
以上の方針でストラテジーの仕様をまとめる。
str time HL trend の仕様:
1 str time HL break のトレンド方向のみのエントリー ストラテジー
2 トレンド判断は、単純移動平均の傾き
3 買い、売りともに高値ライン安値ラインのブレイクでエントリーする
4 そのため2ポジション取る場合がある
5 2ポジションのため固定手仕舞ラインは削除する
6 手仕舞は直近バー本数分の高値安値ブレイクのみ
7 2ポジションのため、評価損益の大きさで手仕舞の仕方(直近バー本数分)を自動変更する
次回は、以上のためのインジケータを作ります。
参考になったらクリックよろしく
人気blogランキング 検証にはGFTのdealbook360を使っています
これまでの開発システムソースコード:
モジュール目次 システム売買ルール 自前の検証をお勧めします
口座開設はこちらから
アジアブレイクの改善作業が一通り済んだので、
この先のシステム開発構想を列記します。
1 ind time HL2
ind time HL を2つ使って open time, start time, end time の時刻に基づいてラインを引く
例えば7時始まりのラインと13時始まりのラインの2本を1つのインジケータで表示する
2 str time HL reverse
str time HL break の反転エントリー ストラテジー
安値ラインの上ブレイクで買いエントリー
高値ラインの下ブレイクで売りエントリー
3 str time HL trend
str time HL break のトレンド方向のみのエントリー ストラテジー
買い、売りともに高値ライン安値ラインのブレイクでエントリーする
そのため2ポジション取る場合がある
評価損益の大きさで手仕舞の仕方を自動変更する
4 ind time HL trend
str time HL trend のためのインジケータ
参考になったらクリックよろしく
人気blogランキング 検証にはGFTのdealbook360を使っています
これまでの開発システムソースコード:
モジュール目次 システム売買ルール 自前の検証をお勧めします
口座開設はこちらから
アジアブレイクの改良ストラテジジーの7回目です。
改定内容:
1 ポジション保有時、エントリーライン抜けで反対売買サインが点灯したらドテンする
2 アジア時間帯レンジの値幅が大きい場合、エントリーするかどうか選択できる
3 トレール手仕舞の動作領域を選択できるようにする
4 移動平均フィルターの使用を選択できる
今回は4の改定です
*******************
変更点:移動平均フィルターの使用を選択できる
変更のポイントは以下になります
////////////////////////
単純移動平均線を呼び出します
Mov_Avg_Simple(close, smaperiod, 0, 1) ;
sma_line := Mov_Avg_Simple.line ;
平均線の傾きを計算する
プラスなら上向き、マイナスなら下向き
smatrend := sma_line[lst]-sma_line[lst-1] ;
移動平均フィルターを使う場合
if trend = true then begin
{ エントリー終了時刻が23時台以前の場合 }
if entry_endhour<=23 and entry_endhour>=end_hour then begin
if hour(timestamp[lst]) <= entry_endhour and hour(timestamp[lst]) >= end_hour then begin
「smatrend < 0」の条件を追加する
if close[lst] <= sell_line[lst] and close[lst-1] > sell_line[lst-1] and smatrend < 0
then sell(lots) ;
「smatrend > 0」の条件を追加する
if close[lst] >= buy_line[lst] and close[lst-1] < buy_line[lst-1] and smatrend > 0
then buy(lots) ;
end;
end;
{ エントリー終了時刻が0時以降の場合 }
上記同様
移動平均フィルターを使わない場合
end else begin
上記同様となるが「smatrend > 0」「smatrend < 0」の条件は追加しない
/////////////////////////
参考になったらクリックよろしく
人気blogランキング 検証にはGFTのdealbook360を使っています
システム売買ルール 自前の検証をお勧めします
口座開設はこちらから
アジアブレイクの改良ストラテジジーの6回目です。
改定内容:
1 ポジション保有時、エントリーライン抜けで反対売買サインが点灯したらドテンする
2 アジア時間帯レンジの値幅が大きい場合、エントリーするかどうか選択できる
3 トレール手仕舞の動作領域を選択できるようにする
4 移動平均フィルターの使用を選択できる
今回は3の改定です
*******************
変更点:トレール手仕舞の動作領域を選択できるようにする
変更のポイントは以下になります
/////////////////////////
{ 直近安値(高値)更新での手仕舞いに使うラインを3つ用意します }
ind_range_break(exbar_0,1) ;
top_line_0 := ind_range_break.top_line ;
bottom_line_0 := ind_range_break.bottom_line ;
ind_range_break(exbar_1,1) ;
top_line_1 := ind_range_break.top_line ;
bottom_line_1 := ind_range_break.bottom_line ;
ind_range_break(exbar_2,1) ;
top_line_2 := ind_range_break.top_line ;
bottom_line_2 := ind_range_break.bottom_line ;
/* 直近安値(高値)ブレイクでの手仕舞い(トレ-ルストップ) */
if trail_0 = true then begin { この機能の有効無効を切り替える }
if close[lst] <= prflong_line1[lst] then begin
{ 買いの利確1ライン未満で有効になる }
if close[lst] < bottom_line_0[lst] and close[lst-1] >= bottom_line_0[lst-1] then exitlong() ;
end;
if close[lst] >= prfshort_line1[lst] then begin
{ 売りの利確1ライン以上で有効になる }
if close[lst] > top_line_0[lst] and close[lst-1] <= top_line_0[lst-1] then exitshort() ;
end;
end;
{ 以上を領域ごとに作る }
//////////////////////////
参考になったらクリックよろしく
人気blogランキング 検証にはGFTのdealbook360を使っています
システム売買ルール 自前の検証をお勧めします
口座開設はこちらから
アジアブレイクの改良ストラテジジーの5回目です。
改定内容:
1 ポジション保有時、エントリーライン抜けで反対売買サインが点灯したらドテンする
2 アジア時間帯レンジの値幅が大きい場合、エントリーするかどうか選択できる
3 トレール手仕舞の動作領域を選択できるようにする
4 移動平均フィルターの使用を選択できる
今回は2の改定です
****************
変更点:アジア時間帯レンジの値幅が大きい場合、エントリーするかどうか選択できる
また、値幅の大きさを指定できる
変更部分を抜き出します
//////////////////////////////
{ 値幅のインジケータを呼び出します。
ind_DayRange_barというインジケータがインストールされている必要があります。
カテゴリー欄のモジュール目次参照 }
c_range := ind_DayRange_bar.range_bar ;{ 現在の日値幅 }
AV_range := ind_DayRange_bar.AV_Range ;{ 日平均値幅 }
/*エントリ- */
if c_range[lst-1] < AV_range[lst-1]*entryrange then begin
{ この後にエントリー関連の命令が来ます
lst-1にしたのは、レンジブレイクする前の値幅を基準にするためです。
entryrangeが1なら 現在の日値幅が日平均値幅よりも小さいならエントリー可能になります
値幅規制をしたくないときは、entryrangeを大きくします }
/////////////////////////
参考になったらクリックよろしく
人気blogランキング 検証にはGFTのdealbook360を使っています
システム売買ルール 自前の検証をお勧めします
口座開設はこちらから
アジアブレイクの改良ストラテジジーの4回目です。
ストラテジーの改定内容をまとめます。
1 ポジション保有時、エントリーライン抜けで反対売買サインが点灯したらドテンする
2 アジア時間帯レンジの値幅が大きい場合、エントリーするかどうか選択できる
3 トレール手仕舞の動作領域を選択できるようにする
4 移動平均フィルターの使用を選択できる
これを順番に改定して行きます。
今回は、1の変更を実施します。
****************
変更点:ポジション保有時、エントリーライン抜けで反対売買サインが点灯したらドテンする
変更部分を抜き出します
/////////////////
//損切りラインでの損切り
{ 手仕舞は、必ず動作するようにプログラムの一番最初に実行します }
if long() and close[lst] < losslong_line[lst] then exitlong();
if short() and close[lst] > lossshort_line[lst] then exitshort() ;
/*エントリ- */
//エントリ-ラインでのドテン
{ 従来のエントリーとは別に以下を追加します }
if long() and close[lst] < sell_line[lst] then begin
exitlong() ;
sell(lots) ;
end;
if short() and close[lst] > buy_line[lst] then begin
exitshort() ;
buy(lots) ;
end;
//////////////////////
参考になったらクリックよろしく
人気blogランキング 検証にはGFTのdealbook360を使っています
システム売買ルール 自前の検証をお勧めします
口座開設はこちらから
アジアブレイクの改良ストラテジジーの3回目です。
以下は以前作ったストラテジーのソースコードです。
最新版のdealbookに対応できるように修正してあります。
http://fxrun.blog55.fc2.com/blog-entry-590.html#more ブログ右欄の「モジュール集目次」参照。
以下はサインを出したところです
点線がアジアレンジでここを抜けると売買サインが点灯します
直近サインの場合、買いの後、赤のサインでドテン売りすれば利益が出そうです。
今回はこれを可能にします。
下段のインジケータは、以前のストラテジーでは使っていません。
参考になったらクリックよろしく
人気blogランキング 検証にはGFTのdealbook360を使っています
システム売買ルール 自前の検証をお勧めします
口座開設はこちらから
アジアブレイクの改良ストラテジジーの2回目です。
ストラテジーで使うインジケータは以下になります。
去年の4月に作っています。
http://fxrun.blog55.fc2.com/blog-entry-582.html#more ブログ右欄の「モジュール集目次」参照。
インジケータを表示させたのがこちら
下段は、値幅インジケータと60分平均足インジケータになります。
その当時、検証もしたのですが、その頃のdealbookはドテンが出来ない仕様でした。
その後、改良されて1つの条件に対して複数の命令が実行できるようになったので、
今回はドテン可能なストラテジーにします。
また、エントリーのフィルターとして値幅や移動平均、平均足などを試してみたいと思います。
参考になったらクリックよろしく
人気blogランキング 検証にはGFTのdealbook360を使っています
システム売買ルール 自前の検証をお勧めします
口座開設はこちらから
アジア時間帯と欧州時間帯の値幅を簡単に比較するために作ったインジケータがあります。
下記がソースコードです
http://fxrun.blog55.fc2.com/blog-entry-506.html あらためていろいろな通貨ペアで表示させてみました。
一般的に3大市場の値幅は東京(アジア)が小さく、ロンドン(欧州)・ニューヨーク(アメリカ)が大きいという傾向があります。
また、各国の指標発表や要人発言で値が動くことがあるため、その市場が開いている時間帯の値幅が大きくなることもあります。
この辺の傾向を調べるのに上記にインジケータは便利です。
代表的な通貨ペアを表示させてみました。
EUR/USD
緑がアジア、灰色が欧州です
欧州がアジアよりも大きい傾向があります
EUR/JPY
欧州がアジアよりも大きい傾向にありますが、EUR/USDに比べると重なりが多くあるように見えます。
EUR/AUD
同じユーロでも相手がオージーになると円以上に線が交錯しています。
この傾向を利用してストラテジーを作ろうと思います。
以前にアジアブレイクというのを作ったのですが、
今回はこれをベースにドテンと値幅のフィルターを加えてみます。
参考になったらクリックよろしく
人気blogランキング 検証にはGFTのdealbook360を使っています
システム売買ルール 自前の検証をお勧めします
口座開設はこちらから
次のページ
FC2Ad
FC2ブログ