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

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

スポンサーサイト

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

RangefilterM (レンジフィルター改良版) ソースコード

以前作成したレンジフィルターの改良版です

変更点:

1 インジケータが現在バーの変化を反映させるかどうか選択できる

  delayを0にすると現在バーの変化を反映します
  1にすると1つ前の値を表示します

2 レンジ幅平均を上下できる

  例えば avgmulti を1.2にするとレンジ幅平均値が1.2倍になります

入力項目:

1 length レンジの期間
2 avglength レンジ平均の期間
3 avgmulti レンジ平均の倍数(実数)
4 delay 0で現在バーの変化を反映する
     1で現在バーの変化は反映しない(1つ前の計算値を現在バー位置に表示する)

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

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

namespace Broker.StrategyLanguage.Indicator
{
public class RangefilterM : BaseIndicator
{
private int m_length = 20;

private int m_avglength = 40;

private double m_avgmulti = 1;

private int m_delay = 0;

private double m_avgrange;

private double m_avgrangeM;

private SeriesVar< Double> m_lowerband;

private SeriesVar< Double> m_upperband;

private SeriesVar< Double> m_range;

private IPlot Plot3;
private IPlot Plot4;

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

[Input]
public int length{
get { return m_length; }
set { m_length = value; }
}
[Input]
public int avglength{
get { return m_avglength; }
set { m_avglength = value; }
}
[Input]
public double avgmulti{
get { return m_avgmulti; }
set { m_avgmulti = value; }
}
[Input]
public int delay{
get { return m_delay; }
set { m_delay = value; }
}


protected override void Construct(){
m_lowerband = new SeriesVar< Double>(this);
m_upperband = new SeriesVar< Double>(this);
m_range = new SeriesVar< Double>(this);

Plot3 =
AddPlot(new PlotInfo("Range", ((0)), ColorTranslator.FromWin32(((255))),
ColorTranslator.FromWin32(((0))), 0, 0, true));
Plot4 =
AddPlot(new PlotInfo("AvgRange", ((0)), ColorTranslator.FromWin32(((16776960))),
ColorTranslator.FromWin32(((0))), 0, 0, true));
}

protected override void Initialize(){
m_lowerband.DefaultValue = 0;
m_upperband.DefaultValue = 0;
m_range.DefaultValue = 0;
m_avgrange = 0;
m_avgrangeM = 0;
}

protected override void Destroy() {}

protected override void Execute(){
m_lowerband.Value = Functions.Lowest(Bars.Low, length, m_delay);
m_upperband.Value = Functions.Highest(Bars.High, length, m_delay);
m_range.Value = m_upperband.Value - m_lowerband.Value ;
m_avgrange = Functions.Average(m_range, avglength);
m_avgrangeM = m_avgrange*m_avgmulti ;

Plot3.Set(m_range.Value);
Plot4.Set(m_avgrangeM);
}
}
}

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

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

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

初めての方はこちらから
ストラテジートレーダー超入門 自動売買プログラミング編

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

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

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

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

人気blogランキング






[相場の流れは]
FX ポータル
中東情勢が焦点
陳さん  有事のドル買い不発の理由
西原さん 逃避通貨はスイス
今井さん 中東情勢で円安が反転 欧州通貨は乱高下?
松田さん ユーロ円のボックスは何時か放れる
吉田さん 量的緩和とドル円
スポンサーサイト

コメント

コメントの投稿


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

トラックバック

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

FC2Ad

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