サイコロジカルライン

サイコロジカルライン


前回maさんから、サイコロジカルラインのインディケータやEAの作り方についてのコメントを頂きましたので、早速作ってみましょうか!


ちなみにサイコロジカルラインの算出方法は

(n日間で終値比プラスの日数)÷n×100

ですね!


インディケータの作り方

まず、MetaEditorのNewボタンを押して、
Custom Indicator にチェック。

次へ

インディケータの名前を入力したら、パラメータを作るためAddボタンを押します。
今回は、インディケータの名前は「Psychological」、
パラメータは「Psycho_Period」で、タイプは int 、初期値は 12 としましょうか。

次へ

Indicator in separate window にチェック。←サブウインドウで表示
Minimum,Maximum にチェックし、Minimumを0、Maximumを100にします。

Addボタンを押して、好きな色を選びましょう!
タイプは、Lineのままでよいです。

完了


これで、コードの表面部分が出来上がりました!


後は、サイコロジカルの計算を記入するだけです。
start関数内に記入していきましょうか。

int counted_bars=IndicatorCounted();

という文が、あらかじめ書いてありますが、特に使わなくてもよさそうなので、消しちゃっても問題ないと思います^^;


int i,j, limit=Bars-IndicatorCounted();

変数の宣言です。

limitは、数えていないバーの数(最初はバーの本数、通常1、バーが増えた時2)が入っていることになります。

(実験)
Comment(Bars + "\n" + IndicatorCounted());
と加えて、1分足で見てみると Bars と IndicatorCounted() の関係が
分かり易いかもです。
(実験終わり)


for(i=limit-1; i>=0; i--)
{

まずは、計算しなければならないバーの分の繰り返し文です。

ExtMapBuffer1[i] =0;

一応、インディケータ用の配列変数の数値を初期化します。

for(j=0; j<Psycho_Period; j++)
{
if(Close[i+j]>Close[i+j+1]) ExtMapBuffer1[i]+=100;
if(Close[i+j]==Close[i+j+1]) ExtMapBuffer1[i]+=50;
}
ExtMapBuffer1[i] /=Psycho_Period;

計算するバーからPsycho_Period前までのバーの1本1本について、
終値が前のバーの終値と比べて、プラスならExtMapBuffer1[i]に100を足す。
同じなら50を足す。
Psycho_Period本分のバーを全部計算した後、Psycho_Periodで割ってあげましょう!

これで、
(n日間で終値比プラスの日数)÷n×100

の計算ができました。

}

Psychological.zip(mq4ファイルのダウンロード)


↓MT4の勉強のつよ~い味方!

FXメタトレーダー入門―最先端システムトレードソフト使いこなし術 [現代の錬金術師シリーズ56] (現代の錬金術師シリーズ 56)

EAの作り方

EAに関しては、今までどおりの作り方でやってますので、サラッといきますね^^;
(ややこしくなるといけないので、基本部分しか書いてません。各自パワーアップさせてみてください)

サイコロジカルの数値は、EAの中で計算してしまってもいいですし、
先ほど作ったインディケータ「Psychological」から、iCustom関数で取得してもよいです。

double psycho;
/* for(i=SignalTiming; i {
if(Close[i]>Close[i+1]) psyco+=100;
if(Close[i]==Close[i+1]) psyco+=50;
}
psycho /=Psycho_Period;
*/
psycho=iCustom(NULL, 0, "Psychological",Psycho_Period,0,SignalTiming);

一応このように参考のため、両方書いて片方はコメント部分にして実行しないようにしてありますので、試してみてください。


パラメータの説明

StopLoss 損切り設定ピプス
TakeProfit 利食い設定ピプス
Lots ロット数
Psycho_Period サイコロジカルの計算期間
SignalTiming シグナルを出すタイミング(現在のバーの数値でシグナル発信する場合は、0と入力。1つ前のバーで確定してからの場合は1と入力。)
BuyLevel 買い条件の数値
SellLevel 売り条件の数値
CloseBySignal 反対シグナルが出た時にクローズするかどうか

といった感じです。


Psycho_EA.zip(mq4ファイルのダウンロード)


↓プログラム作成時の辞書に最適!

【FX完全自動売買システム構築のための250の技 MetaTrader4逆引き大全集】

以上、サイコロジカルラインについてでしたが、
これ、フィルタとかに使用すると面白いかもですね!


でわ、このへんで!

2008年5月27日|コメント (9)

カテゴリー:EAの作成方法

コメント (9)

ありがとうございます !! 対応してくださって、感謝感激、雨あられ、どころか、まさに日本晴れです

願いを聞いて、かなえてくれる、そういうひとが世の中に居るんですね。神様のような存在に感じました

早速、ダウンロードいたしまして、いろいろ学んでいるところです。

投稿者:ma |2008年5月28日 11:55

maさん

おはようございます。

お役に立ててよかったです^^
がんばりましょ~!

投稿者:慶次 |2008年5月29日 08:23

先日は、ありがとうございました

あれから、数ヶ月間、ストラテジー作りに躍起になり、おかげさまで、プログラミング初心者の私にも、ようやく、トレンドフォロー系のEA PF 1.7 、一時間足のものが、3個出来上り、二ヶ月半前から実運用していまして、かなり順調です。

しかし、その短所を補う意味で、逆張り系のEAを作りたく、ADXをフィルターとして、試行錯誤していますが、なかなか良いものは出来上りません・・(日足で、PF1.5、しかし、半分がトレンドフォローの意味を含んでしまっているものは出来ました)

そもそも、純粋な意味のカウンタートレードは、成立しないのでしょうか。

自分で勉強しなければいけないこととは一方で思うのですが、なにとぞ、ヒントだけでも与えていただきたく、お願いいたします。

投稿者:ma |2009年1月22日 11:32

maさん

こんにちわ!

良いEAができてよかったです^-^

トレンド転換をとらえるのは難しいと思いますが、もみ合いでボラがあるところ、(時間や通貨)を見つけるといいかもですね。

投稿者:慶次 |2009年1月23日 09:26

こんにちは  すると、あの通貨、あの時間帯ですね (釣りをしていると、ボラがピョンピョン跳んでいますが・・笑) 良いものが完成できたら、教えます 爆 

冗談はさておき、これからも、こちらのページで勉強させていただきます。いつもありがとうございます

投稿者:ma |2009年1月23日 12:28

maさん

こんにちわ!

>良いものが完成できたら、教えます 爆 

とてもうれしいです^-^
期待しております!

投稿者:慶次 |2009年1月23日 14:04

為替ラジオをご存知ですかhttp://forexradio.net/ 漫才が含まれているので面白いですよ

投稿者:ma |2009年1月23日 17:03

専業システムトレーダーの、ナナさんの放送回がお気に入りです

投稿者:ma |2009年1月23日 17:16

maさん

こんにちわ!

為替ラジオおもしろそうですね!
ありがとうございます^-^

投稿者:慶次 |2009年1月24日 11:14

コメントを投稿する

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)






画像の中に見える文字を入力してください。

Captchaの認証で入力ミスがありますと、コメントが消えてしまいますのでご注意ください。
コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。