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
この記事が気に入ったらサポートをしてみませんか?