Skip to content

adding an alert to a simple indicator #3

@Bever-n00b

Description

@Bever-n00b

I am a coder with limited knowledge of C#. I learned a bit about the code in Quantower Algo by checking GitHub for examples and playing with those. One thing i cant seem to get working is Alerts(I also cant find wnything usefull about them here). I would really love to have a simple indicator send alerts to the built-in alert functionality for Optimus Flow Tradingplatform.

Here you find the code: i would l would like to have an alert when "(GetValue(0) >= GetValue(0, 1))"

[Start Code Section]
using System.Drawing;
using TradingPlatform.BusinessLayer;
using TradingPlatform.BusinessLayer.Utils;

namespace VolumeIndicators;

public class IndicatorAbnormalVolume : Indicator, IWatchlistIndicator
{
[InputParameter]
public int Period = 10;

[InputParameter]
public double SignalLine = 1.8;

[InputParameter]
public Color MarkerColor = Color.Green;

public int MinHistoryDepths => Period;
public override string ShortName => "BeverVolume";

public override string SourceCodeLink => "https://github.com/Quantower/Scripts/blob/main/Indicators/IndicatorAbnormalVolume.cs";

public IndicatorAbnormalVolume()
    : base()
{
    this.Name = "Abnormal Volume";
    this.Description = "Shows the ratio of the volume of the current bar to the 'Period' of the previous ones";

    this.AddLineSeries("Main Line", Color.CadetBlue, 1, LineStyle.Columns);
    this.AddLineSeries("Signal Line", Color.CadetBlue, 1, LineStyle.Solid);
    this.SeparateWindow = true;
}

protected override void OnUpdate(UpdateArgs args)
{
    // Add your initialization code here

    if (this.Count <= this.Period)
        return;

    double sum = 0.0; // Sum of prices
    for (int i = 1; i <= this.Period; i++)
        sum += this.Volume(i);

    double averageVolume = sum / this.Period;
    double value = this.Volume() / averageVolume;
    this.SetValue(value);
    this.SetValue(this.SignalLine, 1);
    LinesSeries[0].RemoveMarker(0);
    if (GetValue(0) >= GetValue(0, 1))

    {
        LinesSeries[0].SetMarker(0, new IndicatorLineMarker(MarkerColor));
    }

}

}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions