方向性運動システム

cBots (自動売買)

サマリー

Welles WilderのDirectional Movementインジケーター計算。

備考

Welles WilderのDirectional Movementシステムは、3つのインジケーターを使用して、市場がトレンドにあるかどうか、およびその方向を判断し、取引シグナルを送信します。+DIラインが-DIラインを上抜けると買いシグナルが発生し、-DIラインが+DIラインを下抜けると売りシグナルが発生します。

シグネチャー

1
public abstract interface DirectionalMovementSystem

 

名前空間

cAlgo.API.Indicators

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 //...
 [Indicator(IsOverlay = true)]
 public class SampleADX : Indicator
 {
     private DirectionalMovementSystem _dms;
     private double _dIplus;
     private double _dIminus;
     [Parameter("ADX Period", DefaultValue = 14)]
     public int Period <span="p">{ get; set<span="p">; }
     [Output("Buy", PlotType = PlotType.Points, Color = Colors.Green, Thickness = 4)]
     public <span="n">IndicatorDataSeries <span="n">Buy { get; set<span="p">; }
     [Output("Sell", PlotType = PlotType.Points, Color = Colors.Red, Thickness = 4)]
     public <span="n">IndicatorDataSeries <span="n">Sell { get; set<span="p">; <span="p">}
     protected override void Initialize<span="p">()
     {
         _dms <span="o">= Indicators<span="p">.<span="n">DirectionalMovementSystem<span="p">(<span="n">Period<span="p">);
     }
     public override void Calculate<span="p">(<span="kt">int <span="n">index<span="p">)
     {
         _dIplus <span="o">= _dms<span="p">.<span="n">DIPlus<span="p">[<span="n">index<span="p">];
         _dIminus <span="o">= <span="n">_dms<span="p">.<span="n">DIMinus<span="p">[<span="n">index<span="p">];
         if <span="p">(<span="n">_dIminus <span="o">> _dIplus<span="p">)
         {
             Sell<span="p">[<span="n">index<span="p">] <span="o">= MarketSeries<span="p">.<span="n">Close<span="p">[<span="n">index<span="p">] <span="o">+ Symbol<span="p">.<span="n">PointSize<span="o">*<span="m">100<span="p">;
         <span="p">}
         else
         {
             Buy<span="p">[<span="n">index<span="p">] <span="o">= MarketSeries<span="p">.<span="n">Close<span="p">[<span="n">index<span="p">] <span="o">- <span="n">Symbol<span="p">.<span="n">PointSize<span="o">*<span="m">100<span="p">;
         }
     <span="p">}
 <span="p">}
 //...

プロパティ

ADX

概要

平均方向性移動指数(ADX)は、市場がトレンドにあるか、レンジにあるかを示します。

シグネチャー

1
public <span="k">abstract <span="n">IndicatorDataSeries <span="n">ADX <span="p">{get<span="p">;}

 

戻り値

IndicatorDataSeries

 1
 2
<span="normal"> 3
<span="normal"> 4
<span="normal"> 5
<span="normal"> 6
<span="normal"> 7
<span="normal"> 8
<span="normal"> 9
<span="normal">10
<span="normal">11
<span="normal">12
<span="normal">13
<span="normal">14
<span="normal">15
 //...
 [Robot]
 public <span="k">class <span="nc">SampleRobot <span="p">: <span="n">Robot
 //...
 private <span="n">DirectionalMovementSystem <span="n">_dms<span="p">;
 protected <span="k">override <span="k">void <span="nf">Initialize<span="p">()
 <span="p">{
     <span="n">_dms <span="o">= <span="n">Indicators<span="p">.<span="n">DirectionalMovementSystem<span="p">(<span="n">Period<span="p">);
 <span="p">}
 <span="c1">//...
 <span="k">protected <span="k">override <span="k">void <span="nf">OnBar<span="p">()
 <span="p">{
     <span="n">Print<span="p">(<span="s">"現在の平均方向性移動指数(ADX)は:{0}"<span="p">, <span="n">_dms<span="p">.<span="n">ADX<span="p">.<span="n">LastValue<span="p">);
 <span="p">}
 <span="c1">//...

DIPlus

概要

Positive Direction Indicator (+DI) は上昇トレンドの動きを示します。

シグネチャー

1
public <span="k">abstract <span="n">IndicatorDataSeries <span="n">DIPlus <span="p">{get<span="p">;}

 

戻り値

IndicatorDataSeries

 1
<span="normal"> 2
<span="normal"> 3
<span="normal"> 4
<span="normal"> 5
<span="normal"> 6
<span="normal"> 7
<span="normal"> 8
<span="normal"> 9
<span="normal">10
<span="normal">11
<span="normal">12
<span="normal">13
<span="normal">14
<span="normal">15
 //...
 <span="na">[Robot]
 <span="k">public <span="k">class <span="nc">SampleRobot <span="p">: <span="n">Robot
 //...
 <span="k">private <span="n">DirectionalMovementSystem <span="n">_dms<span="p">;
 <span="k">protected <span="k">override <span="k">void <span="nf">Initialize<span="p">()
 <span="p">{
     <span="n">_dms <span="o">= <span="n">Indicators<span="p">.<span="n">DirectionalMovementSystem<span="p">(<span="n">Period<span="p">);
 <span="p">}
 <span="c1">//...
 <span="k">protected <span="k">override <span="k">void <span="nf">OnBar<span="p">()
 <span="p">{
     <span="n">Print<span="p">(<span="s">"現在のPositive Direction Indicator (+DI)は:{0}"<span="p">, <span="n">_dms<span="p">.<span="n">DIPlus<span="p">.<span="n">LastValue<span="p">);
 <span="p">}
 <span="c1">//...

DIMinus

概要

Negative Direction Indicator (-DI) は下降トレンドの動きを示します。

シグネチャー

1
public <span="k">abstract <span="n">IndicatorDataSeries <span="n">DIMinus <span="p">{<span="k">get<span="p">;}

 

戻り値

IndicatorDataSeries

<span="normal"> 1
<span="normal"> 2
<span="normal"> 3
<span="normal"> 4
<span="normal"> 5
<span="normal"> 6
<span="normal"> 7
<span="normal"> 8
<span="normal"> 9
<span="normal">10
<span="normal">11
<span="normal">12
<span="normal">13
<span="normal">14
<span="normal">15
 <span="c1">//...
 <span="na">[Robot]
 <span="k">public <span="k">class <span="nc">SampleRobot <span="p">: <span="n">Robot
 <span="c1">//...
 <span="k">private <span="n">DirectionalMovementSystem <span="n">_dms<span="p">;
 <span="k">protected <span="k">override <span="k">void <span="nf">Initialize<span="p">()
 <span="p">{
     <span="n">_dms <span="o">= <span="n">Indicators<span="p">.<span="n">DirectionalMovementSystem<span="p">(<span="n">Period<span="p">);
 <span="p">}
 <span="c1">//...
 <span="k">protected <span="k">override <span="k">void <span="nf">OnBar<span="p">()
 <span="p">{
     <span="n">Print<span="p">(<span="s">"現在のNegative Direction Indicator (-DI)は:{0}"<span="p">, <span="n">_dms<span="p">.<span="n">DIMinus<span="p">.<span="n">LastValue<span="p">);
 <span="p">}
 <span="c1">//...
目次

このページについて