第五章プログラムを書く

ここでは、「第五章プログラムを書く」 に関する記事を紹介しています。
◎ 注意事項

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


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

前回、ストップの置き方で勝ちトレードが負けトレードになってしまう事がわかりました。
意味のある(相場にあった)ストップ、ATR(Average True Range)を使ったストップの入れ方とはどういったものでしょうか?

[検証と改善その4]の続きを読む
スポンサーサイト
検証と改善その3

さて、前回移動平均線のクロスのEAのエラーを発見しました。
「同じバーでストップに掛かるたびに、注文を繰り返してしまう」というエラーでした。

まず、ストップとは「自分の考えた戦略(この場合、売り買いのサイン)に対し逆に値が動いた時に損失を限定する為の指値」です。
次に、このEAは一本前のバーと現在のバーの移動平均線の値を比べて、売り買いのサインを出しています。
1時間や日足などの長い足(バー)でこのエラーが出てしまうと、ストップを置く意味が無くなり、損失を限定するどころか、逆に増やしてしまいます。
では、どうすればいいか?

[検証と改善その3]の続きを読む
検証と改善その2

前回の検証で平均利益額と平均損失額の対比が重要と分りました。
利益を伸ばすか、損失を減らすかすれば対比は変わります。
損失を減らす(限定する)事が出来ればいいのですが・・・


[検証と改善その2]の続きを読む
検証と改善その1

前回、作成したEAのバックテストを行いました。
使用した通貨はUSDJPY(ドル円)。
期間は2009年1月1日~2009年1月30日。
足の時間は15分足です。

さて、結果の方は・・・


[検証と改善その1]の続きを読む
プログラム入門その5

前回、売買シグナルを表示するインディケーターを作成しました。

期間の異なる移動平均線ので売買シグナルを表示するプログラム

#property indicator_chart_window
#property indicator_buffers 4

//---- バッファー
double Fa_Buf[];
double Sl_Buf[];
double Buy_Buf[];
double Sell_Buf[];

//---- 期間の変数
extern int Fa_Period=10;
extern int Sl_Period=20;

//初期化
int init()
{
//---- バッファのインディケーターへの割り当て
SetIndexBuffer(0,Fa_Buf);
SetIndexBuffer(1,Sl_Buf);
SetIndexBuffer(2,Buy_Buf);
SetIndexBuffer(3,Sell_Buf);

//---- インディケーターの種類の設定
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 1, Red);
SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 1, Blue);
SetIndexStyle(2, DRAW_ARROW, STYLE_SOLID, 1, Blue);
SetIndexArrow(2,233);
SetIndexEmptyValue(2,0);
SetIndexStyle(3, DRAW_ARROW, STYLE_SOLID, 1, Red);
SetIndexArrow(3,234);
SetIndexEmptyValue(3,0);
return(0);
}

//処理
int start()
{
int i, limit = Bars-IndicatorCounted();

for(i=limit-1; i>=0; i--)
{
Fa_Buf[i] = iMA(NULL,0,Fa_Period,0,MODE_SMA,PRICE_CLOSE,i);
Sl_Buf[i] = iMA(NULL,0,Sl_Period,0,MODE_SMA,PRICE_CLOSE,i);

if(Fa_Buf[i+1] <= Sl_Buf[i+1] && Fa_Buf[i] > Sl_Buf[i]) Buy_Buf[i] = Low[i];
if(Fa_Buf[i+1] >= Sl_Buf[i+1] && Fa_Buf[i] < Sl_Buf[i]) Buy_Buf[i] = High[i];
}

return(0);
}

[プログラム入門その5]の続きを読む
前回期間の異なる移動平均線を表示するインディケーターを作成しました。
今回は、クロスしたことを判断し、シグナルを出すインディケーターを作成します。


[プログラム入門その4]の続きを読む
前回、移動平均線をチャート上に表示させるインディケーターを作成しました。
今回は、移動平均線のクロスで売買シグナルを表示させるインディケーターを作成しようと思いますが
その前に、前回作成したのは4日間の単純移動平均線です。
移動平均の種類には単純移動平均(SMA)のほか、指数平滑移動平均(EMA) や加重移動平均(WMA)などあり
中には複雑な計算をするものもあります。これを一から作るのは少々骨の折れる作業です。



[プログラム入門 その3]の続きを読む
最終的に、移動平均線のクロスによる自動売買のプログラムを完成させる予定ですが
いきなり自動売買のコードを書くことは難しいので、これから3段階に分けて
解説したいと思います。
1段階目で移動平均線をチャートに表示させるインディケーターを作成する
2段階目で移動平均線のクロスで売買シグナルを表示させるインディケーターを作成する
3段階目で売買シグナルに基ずく売買を自動で行うプログラム(EA)を作成する

今回は1段階目の移動平均線をチャートに表示させるインディケーターを作成したいと思います。


[プログラム入門 その2]の続きを読む
移動平均線のクロスによる自動売買のプログラムを解説しようと思います。
プログラムと聞くと敬遠しがちですが、コツをつかんでしまえばトレードにかなり有利になります。
自分の欲しい情報を自分の見やすい形に表示してくれるチャートは精神的に有利になり、思い切ったトレードが出来るからです。


[プログラム入門その1]の続きを読む
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。