FX取引ルール確立のために

取引方針が定まらぬ臆病者の外国為替証拠金取引の行方。 取引ルールの柱にテクニカルな売買サインを導入中。システム開発状況を全て公開。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

今週の戦略・ドル円値幅情報 2009.6.21

値幅、トレンドライン、サポート・レジスタンスを基本に戦略を検討します。

GFT dealbook360のデータを自作インジケータを使って調べました。

************************
今週の戦略・ドル円値幅情報 2009.6.21

日値幅(6/20時点 日足使用)
直近5日平均 1.26
直近20日平均 1.30
2000年以降 最高 7.97(2008.10.31)

週間値幅(6/20時点 週足使用)
6/15-6/19  3.05
直近5週平均 2.99
直近20週平均 3.38
2000年以降 最低 0.80、 最高 11.50(2008.10)

月間値幅(5月末時点 月足使用)
2009年
5月 5.93
4月 5.82
3月 6.13
2月 10.12
1月 7.51
2008年
12月 8.44
11月 6.99
10月15.62
9月 5.66
8月 3.20
7月 4.60
6月 4.71
5月 3.31
直近5か月平均 7.84→ 7.60
直近12か月平均 6.80→ 6.84
2000年以降 最低 2.29、 最高 15.62(2008年10月に更新されました)

5月は、4月とほぼ同じ月値幅になった。
4月5月と6円を下回っている。
金融不安の沈静化に伴い値動きが小さくなっているが、
去年の9月以前と比べればまだまだ大きい。
2009.6.21月足

4月に下降トレンドラインに近づいたが、
5月はラインから離れていった。
6月は今のところ5月の範囲で動いている。

2007年6月以前は、おおむね6円以下の月値幅で推移している。
2007年7月(123円)から2008年3月(95円)までの下落後、
4月から8月までは月値幅6円以下で上昇した。
その後9月(109円)から2009年1月(87円)まで下落後、
2月に大きく上げた後、3月から5月は6円前後で推移している。

月値幅6円というのが大相場の分水嶺になっている。

ドル円相場と戦略:
2009.6.21週足

週足です。
下降トレンドラインが101円前半にいます。
ここを抜けるまでは下落トレンドが持続していると考えます。
2009.6.21日足

日足チャートです。
日足の2本の指数移動平均線が下向き、もう2本が横向きです。
sma40下向き、sma100は上向き。

93--100のレンジという認識です。
現在、レンジの中央付近にいます。
2009.6.21時間足

4時間足チャートです。
赤線は、自作CTL(レジスタンス・サポートインジケータ)で引いたレジスタンス、サポートライン。

雇用統計で上げた分の値幅99円-97円のレンジを下抜けして、
95-97円のレンジに移行した。

95円半ばにサポートラインが一杯ある。
システム玉のストップは、この下だったかもしれない。

売買:
月値幅6円とするとあと1.5円ぐらい値幅更新されることになる。
上なら100円越え、下なら93円。
裁量はレンジの端で売買したい。

ドル高という予想はこちら
FX ポータル

2009.6.21システムドル円

システムサインは日足、8時間足ともに買いです。
このまま上昇しないとマイナスで手仕舞いになりそうです。
レンジに弱いストラテジーです。

実取引は1000通貨単位から売買可能のこちらの口座で行っています。


参考になったら、励みのクリックよろしく 人気blogランキング
banner_11.gif

検証にはGFTのdealbook360を使っています
自前の検証をお勧めします
dealbook360口座開設はこちらから
FX
スポンサーサイト

コメント

↓の記事について質問です。
使い方:
ind_DayRange_hist_mma_limit がインストールされている必要があります。という文章があるんですが、ind_DayRange_hist_mma_limitってなんですか???どこにあるんでしょうか?場所とインストール方法を教えて欲しいです。

値幅推移インジケータのソースコード
1日の値幅の推移を示すインジケータのソースコードを掲載します。
続きを読むを参照してください。

2009/06/03(水) 18:00:00

  • 2009/06/21(日) 21:28:05 |
  • URL |
  • 蓮華 #0MXaS1o.
  • [ 編集]

Re: タイトルなし

蓮華 さん
こんばんわ
ind_DayRange_hist_mma_limitは、右欄のカテゴリー欄のモジュール目次から
ソースコードが掲載されている該当記事に飛ぶとあります。
目次は時々しか更新しないので、目次にないものはモジュールをクリックすると
今まで掲載したソースコードを時系列で見ることができます。

  • 2009/06/22(月) 00:38:06 |
  • URL |
  • bingodog #-
  • [ 編集]

管理人さんありがとうございます。
もう少し教えてください。
↓を121証券のMT4に貼り付けました。コンパイルしたら'ind_DayRange_hist_mma_limit.limit_line' - too long variable name
というエラーがでました。
どこをどうすれば使えるようになるんでしょうか?


//+------------------------------------------------------------------+
//| j.mq4 |
//| Copyright ゥ 2009, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright ゥ 2009, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
indicator ind_DayRange_hist_mma_limit ;
input starthour = 6, ave_days1 = 3, ave_days2 = 5,limit = 2.0, baseline=0 ;
draw DayRange("DayRange"), AV_Range1("AV1"),AV_Range2("AV2"),
limit_line("limit",solid_line,red),line_base("base") ;

vars fst(number), lst(number), i(number), j(number), k(number),
ave_range1(series),ave_range2(series), DayRange_delay(series),
Whigh (number),Wlow(number),line_high(series),line_low(series),
barminute(number), one_day_delay(number), DayRange_D(series) ;
  
begin
lst := back(close);
fst := front(close);
if lst < fst then return;

line_base := makeseries(front(close), back(close), baseline);
limit_line := makeseries(front(close), back(close), limit);


barminute := func_barminute();
one_day_delay := 1440/barminute;


Whigh := close[fst+3] ;
Wlow := close[fst+3] ;
j := fst+3 ;

for i := fst+1+3 to lst do begin

if hour(timestamp[i]) >= starthour and hour(timestamp[i-1]) < starthour then begin
for k := j to i-1 do begin 
line_high[k] := Whigh ;
line_low[k] := Wlow ;
end;

Whigh := close[i];
Wlow := close[i];
j :=i ;
end;


if high[i] > Whigh then Whigh := high[i];
if low[i] < Wlow then Wlow := low[i];
end;


for k := j to lst do begin
line_high[k] := Whigh ;
line_low[k] := Wlow ;
end;


for i:=lst downto fst+3 do
DayRange[i] := line_high[i] - line_low[i] ;
for i:=lst downto fst+3+2*one_day_delay do begin
DayRange_delay[i] := line_high[i-one_day_delay] - line_low[i-one_day_delay] ;
if DayRange_delay[i] > limit then DayRange_delay[i]:= limit ;
end;


j := lst;
DayRange_D[lst] := DayRange_delay[lst];
for i := lst-1 downto fst+3+2*one_day_delay do begin
if hour(timestamp[i+1]) >= starthour and hour(timestamp[i]) < starthour then begin
j := j - 1;
DayRange_D[j] := DayRange_delay[i];
end;
end;

ave_range1 := mma(DayRange_D, ave_days1);
ave_range2 := mma(DayRange_D, ave_days2);


k := lst;
AV_Range1[lst]:= ave_range1[lst];
AV_Range2[lst]:= ave_range2[lst];

for i := lst-1 downto fst+3 do begin
if hour(timestamp[i+1]) >= starthour and hour(timestamp[i]) < starthour then begin
k := k - 1;
AV_Range1[i] := ave_range1[k];
AV_Range2[i] := ave_range2[k];
end else begin
AV_Range1[i] := AV_Range1[i+1];
AV_Range2[i] := AV_Range2[i+1];
end;
end;


indicator ind_DayRange_bar ;
input starthour = 6, ave_days1 = 3, limit = 2.0 ;
draw range_bar("DayRange"), AV_Range("AV"),limit_line("limit",solid_line,red) ;
vars fst(number), lst(number), i(number), j(number), k(number), count(number),
high_bar(series),low_bar(series) ;
  
begin
lst := back(close);
fst := front(close);
if lst < fst then return;


ind_DayRange_hist_mma_limit(starthour, ave_days1 ,1 ,limit , 0);
AV_Range := ind_DayRange_hist_mma_limit. AV_Range1 ;
limit_line := ind_DayRange_hist_mma_limit.limit_line ;

j := fst+3 ;
count := 0 ;


for i := fst+1+3 to lst do begin
 
if hour(timestamp[i]) >= starthour and hour(timestamp[i-1]) < starthour then begin
for k := j to i-1 do begin 
count := count + 1 ;
high_bar[k] := movmax(high, k, count) ;
low_bar[k] := movmin(low, k, count) ;
range_bar[k] := high_bar[k]-low_bar[k] ;
end;
j :=i ;
count := 0 ;
end;
end;


for k := j to lst do begin
count := count + 1 ;
high_bar[k] := movmax(high, k, count) ;
low_bar[k] := movmin(low, k, count) ;
range_bar[k] := high_bar[k]-low_bar[k] ;
end;
return(0);

}
//+------------------------------------------------------------------+

  • 2009/06/22(月) 10:40:18 |
  • URL |
  • 蓮華 #0MXaS1o.
  • [ 編集]

下のソースコードを単純に貼り付けても、コンパイルでエラーしてしまいます。
①このソースコードをインストールとは、どういう意味でしょうか?
②使用しているのは121証券のmt4です。それに、貼り付けると日本語の部分がバグってしまうので、消しました。それでも、やはりエラーしてしまいます。
③ソースコードを貼り付けるだけでは、使用できないんでしょうか?
④使い方を教えていただきたいです。よろしくお願いします。

平均値幅インジケータ・リミッター付
平均値幅インジケータ・リミッター付のソースコードを掲載します。

平均値幅インジケータ・リミッター付:
1日ごとに前日までの平均値幅と実値幅を描き比較できるようにする

考え方:
1 実際の日値幅と平均値幅を描く
2 リミット以上の値幅はカットして平均値幅の安定を図る

CTL:
1 高値安値インジケータを使い、各日の実値幅を計算する
2 実値幅ラインを表示する
3 1日づらした値幅ラインをもとに1日単位の移動平均(mma)を求める
3 その移動平均をもとに平均値幅ラインを表示する
4 ベ-スラインを移動させることにより、表示スケ-ルを拡大できる 
5 移動平均の種類を変更することにより、異なる平均値を求めることができる
  (例) SMA、MMA、WMA、EMA

使い方:
1 limitは、値幅をカットするレベルを入力する
  単位は、対象通貨ペアの価格。
  (例)ドル円 2.0   ユーロドル 0.035 等
2 リミットレベルは赤線で表示される
3 平均日数は2種類同時に表示できる

備考:
今回は、値幅が大きい場合の対応でしたが、極端に値幅が小さい場合の対応も考えられる。

実取引は1000通貨単位から売買可能のこちらの口座で行っています。


ランキング低迷中、励みのクリックよろしく 人気blogランキング


検証にはGFTのdealbook360を使っています

自前の検証をお勧めします
dealbook360口座開設はこちらから

--------------------------------------------------------------------------------


indicator ind_DayRange_hist_mma_limit ;
input starthour = 6, ave_days1 = 3, ave_days2 = 5,limit = 2.0, baseline=0 ;
draw DayRange("DayRange"), AV_Range1("AV1"),AV_Range2("AV2"),
limit_line("limit",solid_line,red),line_base("base") ;

vars fst(number), lst(number), i(number), j(number), k(number),
ave_range1(series),ave_range2(series), DayRange_delay(series),
Whigh (number),Wlow(number),line_high(series),line_low(series),
barminute(number), one_day_delay(number), DayRange_D(series) ;
  
begin
lst := back(close);
fst := front(close);
if lst < fst then return;

line_base := makeseries(front(close), back(close), baseline);
limit_line := makeseries(front(close), back(close), limit);

/* 1日のバーの本数を数える */
barminute := func_barminute();
one_day_delay := 1440/barminute;

/* 高値安値ライン */
{ チャ-ト初めにあるかもしれないゴミデ-タを無視する為、4番目のバ-からはじめる }
Whigh := close[fst+3] ;
Wlow := close[fst+3] ;
j := fst+3 ;

for i := fst+1+3 to lst do begin
 { スタ-ト時刻になるとこれまでの高値安値ラインを引く }
if hour(timestamp[i]) >= starthour and hour(timestamp[i-1]) < starthour then begin
for k := j to i-1 do begin 
line_high[k] := Whigh ;
line_low[k] := Wlow ;
end;

Whigh := close[i];
Wlow := close[i];
j :=i ;
end;

{ その日の高値安値を更新する }
if high[i] > Whigh then Whigh := high[i];
if low[i] < Wlow then Wlow := low[i];
end;

{ 本日のラインを引く }
{ jは直近のstathourのインデックス }
for k := j to lst do begin
line_high[k] := Whigh ;
line_low[k] := Wlow ;
end;

/* その日の値幅と1日分づらした値幅を求める */
for i:=lst downto fst+3 do
DayRange[i] := line_high[i] - line_low[i] ;
for i:=lst downto fst+3+2*one_day_delay do begin
DayRange_delay[i] := line_high[i-one_day_delay] - line_low[i-one_day_delay] ;
if DayRange_delay[i] > limit then DayRange_delay[i]:= limit ;
end;
/* 1日分づらした値幅ラインをもとに、1日ごとの移動平均を求める */

j := lst;
DayRange_D[lst] := DayRange_delay[lst];
for i := lst-1 downto fst+3+2*one_day_delay do begin
if hour(timestamp[i+1]) >= starthour and hour(timestamp[i]) < starthour then begin
j := j - 1;
DayRange_D[j] := DayRange_delay[i];
end;
end;

ave_range1 := mma(DayRange_D, ave_days1);
ave_range2 := mma(DayRange_D, ave_days2);

/* 平均値幅のラインを引く */
k := lst;
AV_Range1[lst]:= ave_range1[lst];
AV_Range2[lst]:= ave_range2[lst];

for i := lst-1 downto fst+3 do begin
if hour(timestamp[i+1]) >= starthour and hour(timestamp[i]) < starthour then begin
k := k - 1;
AV_Range1[i] := ave_range1[k];
AV_Range2[i] := ave_range2[k];
end else begin
AV_Range1[i] := AV_Range1[i+1];
AV_Range2[i] := AV_Range2[i+1];
end;
end;
end.

  • 2009/06/22(月) 10:58:11 |
  • URL |
  • 蓮華 #0MXaS1o.
  • [ 編集]

Re: タイトルなし

私が作っているインジケータやストラテジーのソースコード(プログラム)は、
GFTが提供しているdealbook360というチャートシステムに対応しています。
そこで使われているプログラム言語は、CTLと呼ばれていて
dealbook360でだけ動作します。

121証券等が提供しているMT4のチャートでは動作しません。

従って、私が作っているインジケータやストラテジーのソースコード(プログラム)は、
dealbook360をインストールするときに同時にインストールされるchart stuidioに貼り付けて
動作させます。
そのやり方については、下記を参照してください。
http://www.saza-investment.com/ats/

「検証にはGFTのdealbook360を使っています 」
という文言は、そのような意味で書いていたのですが、
分かりにくいようですので、
ソースコードを掲載するときにはそれなりの説明をすることにします。


  • 2009/06/22(月) 18:06:40 |
  • URL |
  • bingodog #-
  • [ 編集]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://fxrun.blog55.fc2.com/tb.php/1186-262cbcd9
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。