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

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

スポンサーサイト

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

反転スナイパー ソースコード 

エコトレFXの反転スナイパーのストラテジーをつくります

内容
1 ある期間の安値高値を更新したが、すぐに反転した場合にエントリー
2 手仕舞は指値、逆指値

売買サイン:

エントリー可能条件
  買いの条件は、ある期間の安値を更新したが、そのバーは陽線で終わった
  売りの条件は、ある期間の高値を更新したが、そのバーは陰線で終わった

エントリー
  買い条件が成立したバーの高値で逆指値買いエントリー
  売り条件が成立したバーの安値で逆指値売りエントリー

手仕舞
  買い条件が成立したバーの安値で逆指値(損切り)
  売り条件が成立したバーの高値で逆指値(損切り)
  買い条件が成立したバーの値幅のある倍数で指値(利益確定)
  売り条件が成立したバーの値幅のある倍数で指値(利益確定)

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

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

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

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

private int m_length = 20;

private double m_multi = 1;

private SeriesVar< Double> m_lowerband;

private SeriesVar< Double> m_upperband;

private double ExitlimitB;

private double ExitlimitS;

private double ExitstopB;

private double ExitstopS;

public TurningSniper(object _ctx):base(_ctx){}

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

[Input]
public double multi{
get { return m_multi; }
set { m_multi = value; }
}


private IPriceOrder m_OrderB;

private IPriceOrder m_OrderS;

private IPriceOrder m_OrderB_SL;

private IPriceOrder m_OrderS_SL;

private IPriceOrder m_OrderB_LP;

private IPriceOrder m_OrderS_LP;



protected override void Construct() {

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

m_OrderB =
OrdersFactory.CreateStop(new OrdersCreateParams(Lots.Default, "Buy", OrderAction.Buy));
m_OrderS =
OrdersFactory.CreateStop(new OrdersCreateParams(Lots.Default, "Sell", OrderAction.SellShort));
m_OrderB_LP =
OrdersFactory.CreateLimit(new OrdersCreateParams(Lots.Default, "L_LP", OrderAction.Sell));
m_OrderS_LP =
OrdersFactory.CreateLimit(new OrdersCreateParams(Lots.Default, "S_LP", OrderAction.BuyToCover));
m_OrderB_SL =
OrdersFactory.CreateStop(new OrdersCreateParams(Lots.Default, "L_SL", OrderAction.Sell));
m_OrderS_SL =
OrdersFactory.CreateStop(new OrdersCreateParams(Lots.Default, "S_SL", OrderAction.BuyToCover));

}


protected override void Initialize() {

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


protected override void Execute(){

m_lowerband.Value = Functions.Lowest(Bars.Low, length, 1);
m_upperband.Value = Functions.Highest(Bars.High, length, 1);

if ((Functions.DoubleGreater(Bars.CurrentBar, 2))
&& (Functions.DoubleGreater(m_lowerband[0], Bars.Low[0]))
&& (Functions.DoubleGreater(Bars.Close[0], Bars.Open[0]))){
m_OrderB.Generate(Bars.High[0]);
ExitstopB=Bars.Low[0];
ExitlimitB=Bars.High[0]+ multi * (Bars.High[0]-Bars.Low[0]);
}

if ((Functions.DoubleGreater(Bars.CurrentBar, 2))
&& (Functions.DoubleGreater( Bars.High[0], m_upperband[0]))
&& (Functions.DoubleGreater(Bars.Open[0], Bars.Close[0]))){
m_OrderS.Generate(Bars.Low[0]);
ExitstopS=Bars.High[0];
ExitlimitS=Bars.Low[0]- multi * (Bars.High[0]-Bars.Low[0]);
}

if(StrategyInfo.MarketPosition > 0) {
m_OrderB_SL.Generate(ExitstopB);
m_OrderB_LP.Generate(ExitlimitB);

}
else if(StrategyInfo.MarketPosition < 0){
m_OrderS_SL.Generate(ExitstopS);
m_OrderS_LP.Generate(ExitlimitS);

}
}
}
}


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

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

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

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

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

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

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

人気blogランキング






[相場の流れは]
FX ポータル
今井さん ユーロ反発は中国?
陳さん  ユーロは政治問題
西原さん ユーロの反発どこまで
松田さん ドル円のトレンド確認
吉田さん 本年予想 ユーロドル1.1 ユーロ円100 
スポンサーサイト

コメント

コメントの投稿


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

トラックバック

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

FC2Ad

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