◎ 注意事項

右中央部に「シグナル配信」として、チャートを載せていますが、自動更新できるか? 表示速度は? などのTESTに使用しているだけです。
本ブログの掲載情報に基づいて取引を行い、被った損害について本ブログ及び管理人は一切の責任を負えませんのでご了承下さい。


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

今まで補助として使用していたADXを利益確定要素に初めて使用する為、
マネーパートナーズの「nano」でトレード開始。


ポジション:128.21(Bid 128.14)(23:49) LONG
利益確定:128.17(1:05)
Stop : 127.29(ATR x 2)
Trailing Stop : 128.60(最終)


トレード経緯
・画像の時間でいうと15:50にポジ。
ADXの「+DI」と「ADX」が25のラインを上下に行き来している為、強いトレンドとはいえない(レンジ?)が
Ⅰ.MACDがゴールデンクロスした後、シグナルと乖離している
Ⅱ.平均足がプラスのまま反転していない 
Ⅲ.ローソク足が一本前のローソク足の安値を更新せず、上昇を続けた(ダウ理論
ADXはポジションを持つ際は補助として使用する。)

・一時 129.28まで上昇。この時点で100pipの利益が出ていた。(入りのタイミングはOK)
・画像の時間で16:35に突然の下降ではあったが、2本前の安値付近で止まり、もみだす。
・今回はボラリティが0.40(40銭)でStopにもかからない為、様子見。←これが最大の敗因!
・次の足に移った瞬間に数秒で下落。
予定の60で決済注文を出すもマネーパートナーズで初のスリップを喰らい17で確定。

今回の敗因
マネーパートナーズの「nano」は指値を入れられないため、Trailing Stop : 128.60にもかかわらず、下落スピードが速すぎて「128.17」で利益確定。
結果として、マイナス4pipになってしまった。
通常(1万通貨)版は指値を入力できる為、Stopが変わるたびに変更していけばよいので、この件はクリアー。

・下降が始まる一本前の足の「+DI」が急降下しているが「ADX」が40を少し超えていたので、気にしなかった。
・ローソク足が2本前の安値付近で止まったが安値は更新していた。
・MACDがシグナルに近づきを見せていた(頭が垂れ始めた)

結果論ではあるが、ボラリティが高いにもかかわらず、上記サインを見逃した為のマイナス。
勉強不足を痛感した。


今回得た事
利を伸ばす事は「利大損小」に繋がると考えているが押し目になった場合、そこで利食い。
そのまま、上昇を続けるのであれば、そこから始めればよい。
トレンドが続く限り何処で入っても遅すぎる事はない。
スポンサーサイト
三大市場早見表
東京市場 ロンドン市場 ニューヨーク市場
7:00   23:00   18:00  
8:00 【指標発表】 0:00   19:00  
9:00 【株式開始】
9:55頃【仲値公示】
1:00   20:00  
10:00   2:00   21:00  
11:00 【投信設定】 3:00   22:00  
12:00 【政策金利発表】 4:00   23:00  
13:00   5:00   0:00  
14:00 【指標発表】 6:00   1:00  
15:00 【株式終了】
15:00【opカット】
7:00   2:00  
16:00   8:00 【株式開始】 3:00  
17:00   9:00 【英国指標発表】 4:00  
18:00   10:00 【欧州指標発表】 5:00  
19:00   11:00   6:00  
20:00   12:00

12:00【英国政策金利発表】
12:45【欧州政策金利発表】

7:00  
21:00   13:00   8:00 【指標発表】
22:00   14:00   9:00 9:30【株式開始】
23:00   15:00   10:00 【指標発表】
10:00【opカット】
0:00   16:00 16:00【ロンドンfix】
16:30【株式終了】
11:00  
1:00   17:00   12:00  
2:00   18:00   13:00  
3:00   19:00   14:00 14:15【政策金利発表】
4:00   20:00   15:00  
5:00   21:00   16:00 【株式終了】
6:00   22:00   17:00  
7:00   23:00   18:00  

ロンドン市場とニューヨーク市場が重なる、日本時間21:00~1:00までがねらい目。
反面、ボラリティーが大きいので判断の遅れが樹海行きを招く恐れあり。
Bill Williams Market Facilitation Index


double iBWMFI( string symbol, int timeframe, int shift)

Bill Williams Market Facilitation indexを計算し、その値を返す。

Parameters:

symbol - 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe - 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
shift - 現在の足から何本前の値を出したいか



Sample:

double val=iBWMFI(NULL, 0, 0);



解説:

Bill Williams Market Facilitation Index
MFI = (HIGH - LOW) / VOLUME で求めた値をヒストグラムで表した指標。

MFI Up , Volume Up = Lime
MFI Dw , Volume Dw = SaddleBrown
MFI Up , Volume Dw = Blue
MFI Dw , Volume Up = Pink
で表示されている。
第一章 インディケーター

iAC (Accelerator/Decelerator Oscillator)

iAD (Accumulation/Distribution)

iAlligator (Accelerator/Deceleratorオシレータ)

iADX (Average Directional Movement Index)

iATR (Average True Range )

iAO (Awesome oscillator )

iBearsPower (Bears Power)

iBands (Bollinger bands )

iBandsOnArray (BandsOnArray)

iBullsPower (Bulls Power )

iCCI (Commodity Channel Index)

iCCIOnArray (CCIOnArray)

iCustom (カスタムインディケーターを使う)

iDeMarker (DeMarker)

iEnvelopes (Envelopes)

iEnvelopesOnArray (EnvelopesOnArray)

iForce (Force Index)

iFractals (Fractals)

iGator (Gator Oscillator)

iIchimoku (一目均衡表)

iBWMFI (Bill Williams Market Facilitation Index )

iMomentum (Momentum)

iMomentumOnArray (MomentumOnArray)

iMFI (Money Flow Index)

iMA (Moving Average)

iMAOnArray (MAOnArray)

iOsMA (Moving Average of Oscillator)

iMACD (MACD)

iOBV (On Balance Volume)

iSAR (Parabolic SAR)

iRSI (Relative Strength Index)

iRSIOnArray (RSIOnArray)

iRVI

iStdDev (Standard Deviation)

iStdDevOnArray (StdDevOnArray)

iStochastic (Stochastic)

iWPR (William's Percent Range)

第二章 文字列操作

データを文字列に整形する

文字列から任意の位置の文字を抜き出す

文字列から文字コードを取得する

文字列の前後のスペース等を削除する

文字列の任意の1文字を置き換える

文字列の文字数を取得する

文字列を検索する

第三章 マーケット情報の取得

現在のBID・ASKの取得

現在の四本値・出来高を取得する

現在の通貨の小数点以下の桁数を取得する

指定した四本値・出来高を取得する

期間内の高値・安値を取得する

第四章 プログラムを書く
プログラムその1

プログラムその2

文字列を検索する


int StringFind(string text, string matched_text, int start=0)

文字列を検索する。
検索を始めた位置からの文字列が出現する位置を返す。
もし見つからなければ-1を返す。

Parameters:

text - 文字列
matched_text - 検索する文字列
start - 検索を始める位置



Sample:

string text="The quick brown dog jumps over the lazy fox";
int index=StringFind(text, "dog jumps over", 0);
if(index!=16)
Print("oops!");



解説:


文字列の文字数を取得する


int StringLen(string text)

文字列の文字数を返す。

Parameters:

text - 文字列


Sample:

  string str="some text";
if(StringLen(str)<5) return(0);



解説:


文字列の任意の1文字を置き換える


string StringSetChar(string text, int pos, int value)

文字列の指定位置の文字を置き換えるする。

Parameters:

text - 文字列
pos - 位置。0からStringLen(text)-1の範囲。
value - ASCIIコード



Sample:

  string str="abcdefgh";
string str1=StringSetChar(str, 3, 'D');
// str1 is "abcDefgh"



解説:

変数strに「abcdefgh」を代入する。
変数strの3文字目を「D」に置き換え、変数str1に代入する。
つまり変数str1には「abcDefgh」が代入されている。
文字列の前後のスペース等を削除する


string StringTrimLeft(string text)

文字列の左部分にある、改行文字、スペース、タブをカットする

 string StringTrimRight(string text)

文字列の右部分にある、改行文字、スペース、タブをカットする


Parameters:




Sample:

  string str1="  Hello world   ";
string str2=StringTrimLeft(str1)
string str3=StringTrimRight(str2);



解説:

変数str1に「 Hello world 」を代入。
変数str2で左部分の空欄を削除「Hello world 」し代入。
変数str3で右部分の空欄を削除「Hello world」し代入。
文字列から文字コードを取得する


int StringGetChar(string text, int pos)

文字列の指定位置の文字コードを返す。

Parameters:

text - 文字列
pos - 位置。0からStringLen(text)-1の範囲。



Sample:

  int char_code=StringGetChar("abcdefgh", 3);



解説:

char_codeには「99」が入る
文字列から任意の位置の文字を抜き出す


string StringSubstr(string text, int start, int length=0)

指定した位置からの文字列を抜き取る。

Parameters:

text - 文字列
start - 開始位置位置。0からStringLen(text)-1の範囲。
length - 抜き出す文字列の長さ。
0もしくは指定しなければ、開始位置から文字列の終端まで抜き出す。



Sample:

  string text="The quick brown dog jumps over the lazy fox";
string substr=StringSubstr(text, 4, 5);




解説:

変数textに「The quick brown dog jumps over the lazy fox」を代入。
変数textの4文字目から5文字を抜き出す為、変数substrには「quick」が代入される。
データを文字列に整形する


string StringConcatenate(...)

渡されたデータを文字列に整形する。
変数は様々な型が許されるが64個以上の変数は許されない。

変数は、Print()、 Alert() Comment()と同様のルールで文字列へと変換される。
返り値は、渡した変数を連結させた文字列となる。

StringConcatenate()で文字列を連結させることは、+演算子を用いて文字列を連結させるよりも早く、また使用メモリを節約する。

Parameters:

コンマで区切った値。最大64個


Sample:

  string text;
text=StringConcatenate("Account free margin is ", AccountFreeMargin(),
"Current time is ", TimeToStr(TimeCurrent()));
Print(text);



解説:

AccountFreeMargin()はアカウントの余力金を取得。
TimeToStr(TimeCurrent())は最後に確認できたサーバ時間のエポック秒を
"yyyy.mm.dd hh:mi"形式に変換する。それらの値をStringConcatenateで連結させるので
変数textには
「Account free margin is (アカウントの余力金)Current time is (yyyy.mm.dd hh:mi)」
が代入されている。上記値を、エキスパートログに表示させている。
カスタムインディケーターを使う


double iCustom( string symbol, int timeframe, ..., int mode, int shift)

指定されたカスタムインジケータを計算し、値を返す。

Parameters:




Sample:


symbol - 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe - 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
name - コンパイル済みカスタムインジケータ名
... - 変数設定(必要であれば)。
変数とその順番はカスタムインジケータ内でextern宣言されている
変数と同じ型、同じ順番でなければならない。
mode - ラインインデックス。0-7もしくはSetIndexBuffer関数で
指定したインデックスに合う値が使える。
shift - 現在の足から何本前の値を出したいか



解説:

double val=iCustom(NULL, 0, "SampleInd",13,1,0);

一目均衡表


double iIchimoku( string symbol, int timeframe, int tenkan_sen, int kijun_sen, int senkou_span_b, int mode, int shift)

一目均衡表を計算し、その値を返す。

Parameters:

symbol - 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe - 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
tenkan_sen - 転換線計算で使用する足の数
kinun_sen - 基準線計算で使用する足の数
senkou_span_b - 先行スパンB計算で使用する足の数
mode - インジケータの線指定。これは一目均衡表定数の値をとる。
shift - 現在の足から何本前の値を出したいか



Sample:

double tenkan_sen=iIchimoku(NULL, 0, 9, 26, 52, MODE_TENKANSEN, 1);



解説:


William's Percent Range


double iWPR( string symbol, int timeframe, int period, int shift)

Larry William's Percent Rangeを計算し、値を返す。

Parameters:

symbol - 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe - 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
period - 計算で使用する足の数
shift - 現在の足から何本前の値を出したいか



Sample:

if(iWPR(NULL,0,14,0)>iWPR(NULL,0,14,1)) return(0);



解説:


Stochastic


double iStochastic( string symbol, int timeframe, int %Kperiod, int %Dperiod, int slowing, int method, int price_field, int mode, int shift)

Stochastic oscillatorを計算し、値を返す。

Parameters:

symbol - 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe - 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
%Kperiod - %K計算で使用する足の数
%Dperiod - %D計算で使用する足の数
slowing - スロー値
method - 移動平均線計算法。これは>計算法法のどれかをとる
price_field - 価格帯変数。0:Low/High、1:Close/Close
mode - インジケータの線指定。これはインジケータラインの値をとる。
shift - 現在の足から何本前の値を出したいか



Sample:

  if(iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0) >
iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,0))
return(0);



解説:

ストキャスティクスは売られ過ぎ、買われ過ぎを見る逆張り用のオシレーターです。

Stochastic

過去における高値、安値に対して、当日の終値がどのような位置にあるのかを数値化したもで、
%K=短期線、%D=中期線、%SD=長期線の3本の線を使用します。

一般的には20~30以下が売られ過ぎ
70~80以上が買われ過ぎ
と見ます。

スローストキャスティクスの方が、ノーマルストキャスティクスよりも動きが緩やかなので、ダマシに会うことが少ない為、 スローストキャスティクスの方を好んで使用する人が多いようです。

%Kが%Dを下から上抜いたときが買い、%Kが%Dを上から下抜いたときが売り。
スロー・ストキャスティクスは%DがSDを下から上抜いたときが買い、%Dが%SDを上から下抜いたときが売りとします。

StdDevOnArray


double iStdDevOnArray( double array[], int total, int period, int ma_shift, int ma_method, int shift)

数値配列のデータからStandard Deviationインジケータを計算する。
価格データはあらかじめ用意しておく必要がある。

Parameters:

array[] - データ配列
total - 計算させる要素数。0は全要素を意味する。
ma_period - 移動平均計算で使用する足の数
ma_shift - 移動平均シフト値
ma_method - 移動平均線計算法。これは計算法のどれかをとる
shift - 現在の足から何本前の値を出したいか



Sample:

double val=iStdDevOnArray(ExtBuffer,100,10,0,MODE_EMA,0);



解説:


Standard Deviation


double iStdDev( string symbol, int timeframe, int ma_period, int ma_shift, int ma_method, int applied_price, int shift)

Standard Deviationインジケータを計算し、値を返す。

Parameters:

symbol - 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe - 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
ma_period - 移動平均計算で使用する足の数
ma_shift - 移動平均シフト値
ma_method - 移動平均線計算法。これは計算法のどれかをとる
applied_price - 適用価格。これは価格定数のどれかをとる。
shift - 現在の足から何本前の値を出したいか



Sample:

double val=iStdDev(NULL,0,10,0,MODE_EMA,PRICE_CLOSE,0);



解説:


RSIOnArray


double iRSIOnArray( double array[], int total, int period, int shift)

数値配列のデータからRSIを計算する。
価格データはあらかじめ用意しておく必要がある。

Parameters:

array[] - データ配列
total - 計算させる要素数。0は全要素を意味する。
period - 計算で使用する足の数
shift - 現在の足から何本前の値を出したいか



Sample:

if(iRSIOnArray(ExtBuffer,1000,14,0)>iRSI(NULL,0,14,PRICE_CLOSE,1))
return(0);



解説:

Relative Strength Index(RSI)は売られ過ぎ買われ過ぎを判断するオシレーターです。

RSI


売買ポイントは
RSIが70以上から反転したら売り
RSIが30以下から反転したら買い

結構、単純ですが、注意点があります。
・単に逆張りの指標として使うと非常に危険
→トレンドが出ているときは70以上又は30以下に張り付く事が多々あります。

・必ず反転を確認する
→単純に70以上になったから売り・30以下になったから買いは避ける。

Relative Vigor


double iRVI( string symbol, int timeframe, int period, int mode, int shift)

RVIを計算し、値を返す。

Parameters:

symbol - 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe - 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
period - 計算で使用する足の数
mode - インジケータの線指定。これはインジケータラインの値をとる。
shift - 現在の足から何本前の値を出したいか



Sample:

double val=iRVI(NULL, 0, 10,MODE_MAIN,0);



解説:


Relative Strength Index


double iRSI( string symbol, int timeframe, int period, int applied_price, int shift)

RSIを計算し、値を返す。

Parameters:

symbol - 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe - 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
period - 計算で使用する足の数
applied_price - 適用価格。これは価格定数のどれかをとる。
shift - 現在の足から何本前の値を出したいか



Sample:

if(iRSI(NULL,0,14,PRICE_CLOSE,0)>iRSI(NULL,0,14,PRICE_CLOSE,1))
return(0);



解説:

Relative Strength Index(RSI)は売られ過ぎ買われ過ぎを判断するオシレーターです。

RSI

売買ポイントは
RSIが70以上から反転したら売り
RSIが30以下から反転したら買い

結構、単純ですが、注意点があります。
・単に逆張りの指標として使うと非常に危険
→トレンドが出ているときは70以上又は30以下に張り付く事が多々あります。

・必ず反転を確認する
→単純に70以上になったから売り・30以下になったから買いは避ける。

Parabolic SAR


double iSAR( string symbol, int timeframe, double step, double maximum, int shift)

Parabolic Stop and Reverseを計算し、値を返す。

Parameters:

symbol - 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe - 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
step - 増加量。通常は0.2。
maximum - 最大値。通常は0.2。
shift - 現在の足から何本前の値を出したいか



Sample:

if(iSAR(NULL,0,0.02,0.2,0)>Close[0]) return(0);



解説:

Parabolic SARはトレンド追随型のテクニカル指標です。

Parabolic SAR

パラボリックは、以下の4つの要素で構成されています。
【1】 SAR (Stop and Reverse)
売買転換点を表します。
  
【2】 EP (Extreme Price)
買い持ちしている期間の最高値、または
売り持ちしている期間の最安値を表します。

【3】 AF(Acceleration Factor)
加速因子。
   パラボリッ クの感度を決定するパラメーター。
  
【4】 MaxAF
   AFのとり得る最大値。

売買サインは
【買いサイン】
 下降SARに値が達したら買い転換。
  
【売りサイン】
 上昇SARに値が達したら売り転換。 

注意点としては
トレンド追随型のため、持ち合い相場では使い物になりません。
ADX等のフィルターと併用することが必要です。
On Balance Volume


double iOBV( string symbol, int timeframe, int applied_price, int shift)

On Balance Volumeインジケータを計算し、値を返す。

Parameters:

symbol - 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe - 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
applied_price - 適用価格。これは価格定数のどれかをとる。
shift - 現在の足から何本前の値を出したいか



Sample:

double val=iOBV(NULL, 0, PRICE_CLOSE, 1);



解説:

On Balance Volumeは出来高を基準としたトレンド型の指標になります。

On Balance Volume

On Balance Volumeは値上がりした日の出来高をプラスとし、
値下がりした日の出来高をマイナスとします。
つまり、1日の価格の上昇・下落に応じて出来高を「差し引く」わけです

差し引きの基準となるのは、スタートさせる日の終値と出来高です。

Moving Average


double iMA( string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift)

移動平均インジケータを計算し、値を返す。

Parameters:

symbol - 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe - 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
period - 計算で使用する足の数
ma_shift - 移動平均シフト値
ma_method - 移動平均線計算法。これは計算法のどれかをとる
applied_price - 適用価格。これは価格定数のどれかをとる。
shift - 現在の足から何本前の値を出したいか



Sample:

AlligatorJawsBuffer[i]=iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,i);



解説:

移動平均線とは、平均をとる【一定の期間】を定め、その平均値をグラフ化したものです。

Moving Average

移動平均の種類
移動平均には、現在広く知られているものとして、

・単純移動平均(SMA)
 →単純に一定期間の終値を合計して割った値です。

・指数平滑移動平均(EMA)
 →※ n=期間 , cn=(n-1)日前の終値。c1=当日終値 , α(平滑定数)=2÷(n+1)とする
  1日目の計算 (c1+c2+c3…+cn)÷n(単純移動平均)
  2日目以降の計算 (前日の指数平滑移動平均)+α×(当日終値-前日の指数平滑移動平均)

・修正移動平均(RMA)
 →※ n=期間 , cn=(n-1)日前の終値。c1=当日終値 とする
  1日目の計算 (c1+c2+c3…+cn)÷n(単純移動平均)  
  2日目以降の計算 ((n-1)×前日の修正移動平均+当日終値)÷n

・加重移動平均(WMA)
 →※ n=期間 a=n-1とする
  (n×当日終値+(n-1)×1日前終値+(n-2)×2日前終値+(n-3)×3日前終値+(n-4)×4日前終値・・・+(n-a)Xa日前終値)÷(n+(n-1)+(n-2)+(n-3)+(n-4)・・・+(n-a))

があります。

トレンド型の指標の大本になっている為、売買方法は無数に存在しています。
Moving Average of Oscillator


double iOsMA( string symbol, int timeframe, int fals_ema_period, int slow_ema_period, int signal_period, int applied_price, int shift)

オシレータの移動平均を計算し、値を返す。

Parameters:

symbol - 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe - 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
fast_ema_period - fast移動平均計算で使用する足の数
slow_ema_period - slow移動平均計算で使用する足の数
signal_period - signal移動平均計算で使用する足の数
applied_price - 適用価格。これは価格定数のどれかをとる。
shift - 現在の足から何本前の値を出したいか



Sample:

if(iOsMA(NULL,0,12,26,9,PRICE_OPEN,1)>iOsMA(NULL,0,12,26,9,PRICE_OPEN,0))
return(0);



解説:

MACDとは、Moving Average Convergence Divergence Trading Method(移動平均収束拡散法)の略で
移動平均線を使ったトレンド系の指標になります。

macd

使い方は
・MACDがシグナルを下から上にクロスしたら買い=ゴールデンクロス
・MACDがシグナルを上から下にクロスしたら売り=デッドクロス

このままではダマシがおおいので
・MACDが低位の時のゴールデンクロス、高位の時のデッドクロスの時にエントリー
・他のインディケータと組み合わせる
・デッドクロス直後のゴールデンクロス、ゴールデンクロス直後のデッドクロスは、強いサイン
・方向性を見るだけに使用する   など
Money Flow Index


double iMFI( string symbol, int timeframe, int period, int shift)

Money flow indexを計算し、値を返す。

Parameters:

symbol - 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe - 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
period - 計算で使用する足の数
shift - 現在の足から何本前の値を出したいか



Sample:

if(iMFI(NULL,0,14,0)>iMFI(NULL,0,14,1)) return(0);



解説:


MomentumOnArray


double iMomentumOnArray( double array[], int total, int period, int shift)

数値配列のデータからモーメンタムを計算する。
価格データはあらかじめ用意しておく必要がある。

Parameters:

array[] - データ配列
total - 計算させる要素数。0は全要素を意味する。
period - 計算で使用する足の数
shift - 現在の足から何本前の値を出したいか



Sample:

if(iMomentumOnArray(mybuffer,100,12,0)>iMomentumOnArray(mubuffer,100,20,0))
return(0);



解説:


Momentum


double iMomentum( string symbol, int timeframe, int period, int applied_price, int shift)

モーメンタムインジケータを計算し、値を返す。

Parameters:

symbol - 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe - 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
period - 計算で使用する足の数
applied_price - 適用価格。これは価格定数のどれかをとる。
shift - 現在の足から何本前の値を出したいか



Sample:

if(iMomentum(NULL,0,12,PRICE_CLOSE,0)>iMomentum(NULL,0,20,PRICE_CLOSE,0))
return(0);



解説:


MAOnArray


double iMAOnArray( double array[], int total, int period, int ma_shift, int ma_method, int shift)

数値配列のデータから移動平均を計算する。
価格データはあらかじめ用意しておく必要がある。

Parameters:

array[] - データ配列
total - 計算させる要素数。0は全要素を意味する。
period - 計算で使用する足の数
ma_shift - 移動平均シフト値
ma_method - 移動平均線計算法。これは計算法のどれかをとる
shift - 現在の足から何本前の値を出したいか



Sample:

double macurrent=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,0);



解説:

移動平均線とは、平均をとる【一定の期間】を定め、その平均値をグラフ化したものです。

Moving Average


移動平均の種類
移動平均には、現在広く知られているものとして、

・単純移動平均(SMA)
 →単純に一定期間の終値を合計して割った値です。

・指数平滑移動平均(EMA)
 →※ n=期間 , cn=(n-1)日前の終値。c1=当日終値 , α(平滑定数)=2÷(n+1)とする
  1日目の計算 (c1+c2+c3…+cn)÷n(単純移動平均)
  2日目以降の計算 (前日の指数平滑移動平均)+α×(当日終値-前日の指数平滑移動平均)

・修正移動平均(RMA)
 →※ n=期間 , cn=(n-1)日前の終値。c1=当日終値 とする
  1日目の計算 (c1+c2+c3…+cn)÷n(単純移動平均)  
  2日目以降の計算 ((n-1)×前日の修正移動平均+当日終値)÷n

・加重移動平均(WMA)
 →※ n=期間 a=n-1とする
  (n×当日終値+(n-1)×1日前終値+(n-2)×2日前終値+(n-3)×3日前終値+(n-4)×4日前終値・・・+(n-a)Xa日前終値)÷(n+(n-1)+(n-2)+(n-3)+(n-4)・・・+(n-a))

があります。

トレンド型の指標の大本になっている為、売買方法は無数に存在しています。

MACD


double iMACD( string symbol, int timeframe, int fals_ema_period, int slow_ema_period, int signal_period, int applied_price, int mode, int shift)


Parameters:

symbol - 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe - 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
fast_ema_period - fast移動平均計算で使用する足の数
slow_ema_period - slow移動平均計算で使用する足の数
signal_period - signal移動平均計算で使用する足の数
applied_price - 適用価格。これは価格定数のどれかをとる。
mode - インジケータの線指定。これはインジケータラインの値をとる。
shift - 現在の足から何本前の値を出したいか



Sample:

if(iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0) >
iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0))
return(0);



解説:

MACDとは、Moving Average Convergence Divergence Trading Method(移動平均収束拡散法)の略で
移動平均線を使ったトレンド系の指標になります。

macd

使い方は
・MACDがシグナルを下から上にクロスしたら買い=ゴールデンクロス
・MACDがシグナルを上から下にクロスしたら売り=デッドクロス

このままではダマシがおおいので
・MACDが低位の時のゴールデンクロス、高位の時のデッドクロスの時にエントリー
・他のインディケータと組み合わせる
・デッドクロス直後のゴールデンクロス、ゴールデンクロス直後のデッドクロスは、強いサイン
・方向性を見るだけに使用する   など
Gator Oscillator


double iGator( string symbol, int timeframe, int jaw_period, int jaw_shift, int teeth_period, int teeth_shift, int lips_period, int lips_shift, int ma_method, int applied_price, int mode, int shift)

Gatorオシレータ計算。

Parameters:

symbol - 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe - 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
jaw_period - 青線計算で使用する足の数 (Alligator's Jaw)
jaw_shift - 青線シフト値
teeth_period - 赤線計算で使用する足の数 (Alligator's Teeth)
teeth_shift - 赤線シフト値
lips_period - 緑線計算で使用する足の数 (Alligator's Lips).
lips_shift - 緑線シフト値
ma_method - 移動平均線計算法。これは計算法のどれかをとる
applied_price - 適用価格。これは価格定数のどれかをとる。
mode - データ。インジケータの線指定。これは以下の値をとる。
MODE_GATORJAW - Gator Jaw (青) バランスライン
MODE_GATORTEETH - Gator Teeth (赤) バランスライン
MODE_GATORLIPS - Gator Lips (緑) バランスライン
shift - 現在の足から何本前の値を出したいか



Sample:

double jaw_val=iGator(NULL, 0, 13, 8, 8, 5, 5, 3,
MODE_SMMA, PRICE_MEDIAN, MODE_UPPER, 1);



解説:


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