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

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

スポンサーサイト

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

ボリンジャーバンドの改善ソースコード 

マットBB戦略では、ボリンジャーバンドのシグマの値を変化させて
エントリーや手仕舞レベルを決めています

ところが既存のボリンジャーバンドのインジケータのシグマ値は
整数(int)になっていて細かい調整が出来ません

そこで、整数を実数(double)に変更して調整値を細かくできるインジケータを作ります

具体的には、 m_numdevsup と m_numdevsdn のところをintからdoubleに変えます

例えば
private int m_numdevsup = 2; →  private double m_numdevsup = 2;

private int m_numdevsdn = (-1*2); → private double m_numdevsdn = (-1*2);

とします

全ての箇所を変更したボリンジャーバンドのソースコードは以下になります

***************************

using System;
using System.Drawing;
using Broker.StrategyLanguage.Function;

namespace Broker.StrategyLanguage.Indicator
{
public class BollingerBandsD : BaseIndicator
{
private ISeries< Double> m_bollingerprice;

private ISeries< Double> m_testpriceuband;

private ISeries< Double> m_testpricelband;

private int m_length = 20;

private double m_numdevsup = 2;

private double m_numdevsdn = (-1*2);

private int m_displace;

private Average m_averagefc1;

private StandardDev m_standarddev1;

private double m_avg;

private double m_sdev;

private SeriesVar< Double> m_lowerband;

private SeriesVar< Double> m_upperband;

private IPlot Plot1;

private IPlot Plot2;

private IPlot Plot3;

public BollingerBandsD(object ctx) :
base(ctx) {}

private ISeries< Double> bollingerprice{
get { return m_bollingerprice; }
}

private ISeries< Double> testpriceuband{
get { return m_testpriceuband; }
}

private ISeries< Double> testpricelband{
get { return m_testpricelband; }
}

[Input]
public int length{
get { return m_length; }
set { m_length = value; }
}

[Input]
public double numdevsup{
get { return m_numdevsup; }
set { m_numdevsup = value; }
}

[Input]
public double numdevsdn{
get { return m_numdevsdn; }
set { m_numdevsdn = value; }
}

[Input]
public int displace{
get { return m_displace; }
set { m_displace = value; }
}

protected override void Construct(){
m_averagefc1 = new Average(this);
m_standarddev1 = new StandardDev(this);
m_lowerband = new SeriesVar< Double>(this);
m_upperband = new SeriesVar< Double>(this);
Plot1 =
AddPlot(new PlotInfo("UpperBand", ((0)), ColorTranslator.FromWin32(((16776960))),
ColorTranslator.FromWin32(((0))), 0, 0, true));
Plot2 =
AddPlot(new PlotInfo("LowerBand", ((0)), ColorTranslator.FromWin32(((255))),
ColorTranslator.FromWin32(((0))), 0, 0, true));
Plot3 =
AddPlot(new PlotInfo("MidLine", ((0)), ColorTranslator.FromWin32(((8421504))),
ColorTranslator.FromWin32(((0))), 0, 0, true));
}

protected override void Initialize(){
m_bollingerprice = Bars.Close;
m_testpriceuband = Bars.Close;
m_testpricelband = Bars.Close;
m_averagefc1.price = bollingerprice;
m_averagefc1.length = new SeriesExpression< Int32>(delegate { return length; });
m_standarddev1.price = bollingerprice;
m_standarddev1.length = new SeriesExpression< Int32>(delegate { return length; });
m_standarddev1.datatype = new ConstantExpression< Double>(1);
m_avg = 0;
m_sdev = 0;
m_lowerband.DefaultValue = 0;
m_upperband.DefaultValue = 0;
}

protected override void Destroy() {}

protected override void Execute(){
m_avg = m_averagefc1[0];
//this.Output.WriteLine(m_avg.ToString());
m_sdev = m_standarddev1[0];
m_upperband.Value = (m_avg
+ (numdevsup*m_sdev));
m_lowerband.Value = (m_avg
+ (numdevsdn*m_sdev));
if (((displace >= 0)
|| Functions.DoubleGreater(Bars.CurrentBar, Math.Abs(displace)))){
Plot1.Set(displace, m_upperband.Value);
Plot2.Set(displace, m_lowerband.Value);
Plot3.Set(displace, m_avg);
if ((displace <= 0)){
if (Functions.CrossesOver(this, testpricelband, m_lowerband)){
Alerts.Alert("Price crossing over lower price band");
}
else{
if (Functions.CrossesUnder(this, testpriceuband, m_upperband)){
Alerts.Alert("Price crossing under upper price band");
}
}
}
}
}
}
}


[当サイトで使っている自動売買システム]

FXCMはMT4よりも優れていると言っています

中身の分からないストラテジーがいやで
自分でストラテジーを作って運営しています

Strategy Trader 紹介ビデオ 取扱説明 関連サイト

ストラテジートレーダー概要

ストラテジートレーダーβ版利用ガイド

[他の自動売買サイトを探す]

人気blogランキング






[相場の流れは]
FX ポータル
西原さん ポンドとオージーの下落に注意
松田さん ユーロは戻り売り
吉田さん FRBとECB どちらが先に利上げか 
今井さん ユーロ反発は中国?
陳さん  ユーロは政治問題
スポンサーサイト

コメント

コメントの投稿


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

トラックバック

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

FX稼ぎまくる:FX日誌~なけなし父さんの野望: ユーロ、ポンド上がれ!

FX:FX日誌~なけなし父さんの野望: ユーロ、ポンド上がれ!なけなし父さんがFXで小遣いを稼ぐという野望を実現します。...続きを読むFX:133乗せへ:GBP/JPY | Nikita FXNikita FX. 損失は人生の糧。No Risk &am...

  • 2011/01/27(木) 22:36:08 |
  • FXをはじめるなら

FC2Ad

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