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

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

スポンサーサイト

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

ボラティリティーランナーのソースコード

エコトレFXのボラティリティーランナーのソースコードです

パラメータ:
multirange 値幅平均の倍数(大きくすると損益が大きくなる)
atrlength  値幅平均の期間

売買サイン:

エントリー可能条件
  なし

エントリー
  高値がSARlineBを上に抜けたら買いエントリー
  安値がSARlineSを下に抜けたら売りエントリー

手仕舞
  ドテン  

注意
1 バックテストは行いましたが、実際にポジションを作っていません
  どんな動作をするのか検証していませんので、ご注意ください
  検証する機会がありましたら、その旨掲載します

2 「スタディーが参照するバーの最大数」が足りない場合は以下の手順で大きくします

     ストラテジーアドバイザーのフォーマット
         ↓
     プロパティ
         ↓
     スタディーが参照するバーの最大数

3 ソースコードをコピーしてもエラーになる場合は、コメントしてください

SARインジケータと売買サイン
20110212VollatilityRunner.jpg

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

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

namespace Broker.StrategyLanguage.Strategy {
public class VolatilityRunner : BaseStrategyAdvisor {

private int m_atrlength = 14;

private AvgTrueRange m_avgtruerange1;

private SeriesVar< Double> m_atr;

private int countB;

private int countS;

private int m_entrybar;

private double m_multirange = 1;

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

[Input]
public double multirange{
get { return m_multirange; }
set { m_multirange = value; }
}

[Input]
public int atrlength{
get { return m_atrlength; }
set { m_atrlength = value; }
}

private SeriesVar< Double> m_lowerband;

private SeriesVar< Double> m_upperband;

private SeriesVar< Double> SARlineB;

private SeriesVar< Double> SARlineS;

private IMarketOrder m_OrderBuy;

private IMarketOrder m_OrderSell;






protected override void Construct() {

m_avgtruerange1 = new AvgTrueRange(this);

m_atr = new SeriesVar< Double>(this);

m_lowerband = new SeriesVar< Double>(this);
m_upperband = new SeriesVar< Double>(this);

m_OrderBuy = OrdersFactory.CreateMarketNextBar(new OrdersCreateParams(Lots.Default, "BUY", OrderAction.Buy));
m_OrderSell = OrdersFactory.CreateMarketNextBar(new OrdersCreateParams(Lots.Default, "SELL",OrderAction.SellShort ));

SARlineB = new SeriesVar< Double>(this);
SARlineS = new SeriesVar< Double>(this);
}





protected override void Initialize() {

m_avgtruerange1.length = new SeriesExpression< Int32>(delegate { return atrlength; });

m_atr.DefaultValue = 0;

countB = 0;
countS = 0;

m_lowerband.DefaultValue = 0;
m_upperband.DefaultValue = 0;
SARlineB.DefaultValue = 0;
SARlineS.DefaultValue = 0;
}



protected override void Execute(){

m_atr.Value = m_avgtruerange1[0];

if (Functions.DoubleGreater(Bars.CurrentBar, 2)){

if(StrategyInfo.MarketPosition == 0){
countB = countB + 1;
countS = countS + 1;

m_lowerband.Value = Functions.Lowest(Bars.Close, countS, 1);
SARlineB.Value = m_lowerband.Value + m_atr.Value * multirange;

if (Functions.CrossesOver(this,Bars.High,SARlineB)){
m_OrderBuy.Generate();
countB = 0;
countS = 0;
m_entrybar = Bars.CurrentBar ;
}

m_upperband.Value = Functions.Highest(Bars.Close, countB, 1);
SARlineS.Value = m_upperband.Value - m_atr.Value * multirange;

if (Functions.CrossesOver(this,SARlineS,Bars.Low)){
m_OrderSell.Generate();
countB = 0;
countS = 0;
m_entrybar = Bars.CurrentBar ;
}
}

if(StrategyInfo.MarketPosition == -1){

countS = Bars.CurrentBar - m_entrybar;

if (countS > 0){
m_lowerband.Value = Functions.Lowest(Bars.Close, countS, 1);
SARlineB.Value = m_lowerband.Value + m_atr.Value * multirange;
}

if (Functions.CrossesOver(this,Bars.High,SARlineB)){
m_OrderBuy.Generate();
countS = 0;
m_entrybar = Bars.CurrentBar ;
}
}

if(StrategyInfo.MarketPosition == 1){

countB = Bars.CurrentBar - m_entrybar;

if (countB > 0){
m_upperband.Value = Functions.Highest(Bars.Close, countB, 1);
SARlineS.Value = m_upperband.Value - m_atr.Value * multirange;
}

if (Functions.CrossesOver(this,SARlineS,Bars.Low)){
m_OrderSell.Generate();
countB = 0;
m_entrybar = Bars.CurrentBar ;
}
}
}
}
}
}


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

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

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

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

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

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

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

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

人気blogランキング






[相場の流れは]
FX ポータル
陳さん  市場センティメント
今井さん 利上げ観測
西原さん ユーロドルの下落に注意
松田さん ドル円はボックス
吉田さん ECB利上げと財政危機の綱引き
スポンサーサイト

コメント

コメントの投稿


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

トラックバック

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

FC2Ad

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