1分足で上位足のSMAを表示するインジケーター

cbotで自動取引をする際、設定されている足より上位足のSMAを表示させたい為に作成したインジケータを紹介します。

1分足にて稼働するcbot用に開発したので他の足では検証していないので
もし1分足より上位足で利用されたい場合は検証してください


ビルド方法

①適当な名前でインジケータを作成する。
②作成したインジケータに下記データを貼り付ける。

using System;
using cAlgo.API;
using cAlgo.API.Internals;
using cAlgo.API.Indicators;
using cAlgo.Indicators;
namespace cAlgo
{
   [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AutoRescale = false, AccessRights = AccessRights.None)]
   public class 【インジケータ名】 : Indicator
   {
       [Parameter("Source")]
       public DataSeries Source { get; set; }
       [Parameter(DefaultValue = 5)]
       public int Ashi { get; set; }
       [Parameter(DefaultValue = 14)]
       public int Periods { get; set; }
       [Output("Main", LineColor = "Turquoise")]
       public IndicatorDataSeries Result { get; set; }
       public override void Calculate(int index)
       {
           double sum = 0.0;

           for (int i = index - ((Periods * Ashi) + 1); i <= (index - Ashi); i += Ashi)
           {
               sum += Source[i];
           }
           Result[index] = sum / (Periods+1);
       }
   }
}

③【インジケータ名】を交番①で命名したインジケータ名に変更
④ビルドを実行

利用方法

①他のインジケータと同じ様にチャートに作成したインジケータを追加してください。
②パラメータを設定してください。
 Source:SMAを計算する値の種別を設定ください。
 Ashi: 上位の何足を設定するかをチャートの足をベースに計算し入力ください。
 例) 
         ・1分足チャートで5分足を表示させたい場合:5分足÷1分足 = 5
      ・5分足チャートで60分足を表示させたい場合: 60分足÷5分足=12
 ※5分足チャートでの表示は検証してないので自己責任でお願いします。
 Periods:表示させたい足で計算したい蝋燭の本数を入力ください。
  線:他のインジケータと同様表示させたいデザインを指定ください。

参考

キャプチャは、下記パラメータの線を表示させています。
チャート設定:
 通貨ペア: XAUUSD
    チャート足:1分足

SMA1(紫) 60分足での70本分のSMA
SMA2(黄緑)  60分足での50本分のSMA
SMA3(緑)      5分足での70本分のSMA
SMA4(橙)   5分足での50本分のSMA
SMA5(黄)     1分足での70本分のSMA
SMA6(青)   1分足での50本分のSMA

画像1


この記事が気に入ったらサポートをしてみませんか?