Please Help how to craete fractals indicator with alarm.
Created at 08 Mar 2019, 17:44
Please Help how to craete fractals indicator with alarm.
08 Mar 2019, 17:44
Hi.
Can help me some body to create fractals indicator with alarm , when show icon ( Fractals ) on chart shuld be notified becouse is very important.
Best Regards
Afrim Qahili
Replies
afhacker
12 Mar 2019, 12:04
Fractals indicator with Alert
Here is the Fractals indicator which I implemented my alert library on it: https://drive.google.com/open?id=11btllj6A4-HV04SEDKvofvdA7F3Cy9YD
using cAlgo.API; using cAlgo.API.Alert; namespace cAlgo.Indicators { [Indicator(IsOverlay = true, AccessRights = AccessRights.FullAccess)] public class Fractals : Indicator { #region Fields private int _lastAlertBar; #endregion Fields [Parameter(DefaultValue = 5, MinValue = 5)] public int Period { get; set; } [Parameter("Alert", DefaultValue = true)] public bool Alert { get; set; } [Output("Up Fractal", Color = Colors.Red, PlotType = PlotType.Points, Thickness = 5)] public IndicatorDataSeries UpFractal { get; set; } [Output("Down Fractal", Color = Colors.Blue, PlotType = PlotType.Points, Thickness = 5)] public IndicatorDataSeries DownFractal { get; set; } public override void Calculate(int index) { if (index < Period) return; DrawUpFractal(index); DrawDownFractal(index); cAlgo.API.Alert.Models.Configuration.Current.Tracer = Print; } private void DrawUpFractal(int index) { int period = Period % 2 == 0 ? Period - 1 : Period; int middleIndex = index - period / 2; double middleValue = MarketSeries.High[middleIndex]; bool up = true; for (int i = 0; i < period; i++) { if (middleValue < MarketSeries.High[index - i]) { up = false; break; } } if (up) { UpFractal[middleIndex] = middleValue; TriggerAlert(index, TradeType.Sell); } } private void DrawDownFractal(int index) { int period = Period % 2 == 0 ? Period - 1 : Period; int middleIndex = index - period / 2; double middleValue = MarketSeries.Low[middleIndex]; bool down = true; for (int i = 0; i < period; i++) { if (middleValue > MarketSeries.Low[index - i]) { down = false; break; } } if (down) { DownFractal[middleIndex] = middleValue; TriggerAlert(index, TradeType.Buy); } } private void TriggerAlert(int index, TradeType tradeType) { if (!IsLastBar || index == _lastAlertBar || !Alert) { return; } _lastAlertBar = index; string comment = tradeType == TradeType.Buy ? "Up" : "Down"; Notifications.ShowPopup(TimeFrame, Symbol, tradeType, "Fractals"); } } }
The code isn't written by me, I just added the alerting part.
@afhacker
PanagiotisCharalampous
12 Mar 2019, 11:25
Hi Afrim,
If you need professional assistance, you can post a Job or contact a Consultant.
Best Regards,
Panagiotis
@PanagiotisCharalampous