Skip to content

adding an alert to a simple indicator #3

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));
    }

}

}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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