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

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

スポンサーサイト

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

ファンクションExtremes

using System;

namespace Broker.StrategyLanguage.Function
{
public class Extremes : SimpleFunctionBase
{
private ISeries m_price;

private ISeries m_length;

private ISeries m_hilo;
//m_hiloは、高値と安値を分けるために使う変数
//後述でhilo.Value == 1を高値、hilo.Value == (-1*1)を安値の条件にしている


private IVariable m_oextremeval;

private IVariable m_oextremebar;

private double m_myval;

private int m_mybar;

private int m_datastream = 1;

public Extremes(BaseTechniqueService ctx) :
base(ctx){}

public Extremes(BaseTechniqueService ctx, int data_stream) :
base(ctx, data_stream){ m_datastream = data_stream; }

public ISeries price{
get { return m_price; }
set { m_price = value; }
}

public ISeries length{
get { return m_length; }
set { m_length = value; }
}

public ISeries hilo{
get { return m_hilo; }
set { m_hilo = value; }
}

public IVariable oextremeval{
get { return m_oextremeval; }
set { m_oextremeval = value; }
}

public IVariable oextremebar{
get { return m_oextremebar; }
set { m_oextremebar = value; }
}

protected override void Construct(){}

protected override void Initialize(){
m_myval = 0;
m_mybar = 0;
}

protected override void Destroy(){}

protected override Double Execute(){
Double _This = default(Double);
m_myval = price.Value;
m_mybar = 0;
for (int m_value1 = 1; m_value1 <= length.Value - 1; ++m_value1){
//for(初期設定; 繰り返し条件; 増分式)
//m_value1は1から始めて、以下に続く部分を実行したら1を加える
//m_value1の数がlengthの値と同じになるまで続ける


if ((((hilo.Value == 1)
&& Functions.DoubleGreater(price[m_value1], m_myval))
|| ((hilo.Value == (-1*1))
&& Functions.DoubleLess(price[m_value1], m_myval)))){
m_myval = price[m_value1];
m_mybar = m_value1;
}
//hiloの値が1(高値)で、m_value1の値に相当するバーの価格が m_myvalよりも大きい場合(高値更新)
//または hiloの値が-1*1(安値)で、m_value1の値に相当するバーの価格が m_myvalよりも小さい場合(安値更新)
//m_value1の価格をm_myvalにし、m_value1をm_mybarにする


}
oextremeval.Value = m_myval;
oextremebar.Value = (m_mybar + ExecInfo.ExecutionBarsOffset);
//m_myvalをoextremevalにする
//m_mybarにExecInfo.ExecutionBarsOffsetを加えたものをoextremebarにする
//ExecInfo.ExecutionBarsOffsetとは何だろうか??HELPではintrefaceということですが??


_This = 1;
//何で1にするんでしょうか?

return _This;
}
}
}

コラム執筆陣:松田哲、吉田恒、陳満咲杜、マット今井
FX ポータル
吉田さん G20後の協調介入の可能性
陳さん  G20と通貨安戦争
今井さん FOMCまでのユーロドル
松田さん ドル円の行方 80円割れ

参考になったらクリックよろしく 人気blogランキング

fxcmのストラテジートレーダーはこちら
外国為替のFXCMジャパン
スポンサーサイト

コメント

コメントの投稿


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

トラックバック

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

FC2Ad

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