i need alert.dll
i need alert.dll
11 Oct 2017, 21:31
i am create indicator.
but i need alert.dll for ctarder file.
help me please.
Replies
hamidreza.taali@gmail.com
12 Oct 2017, 02:00
( Updated at: 23 Jan 2024, 13:16 )
RE:
afhacker said:
You can use my alert library: [/algos/indicators/show/1425]
thank.
but in need alert.dll.
where is your alert.dll file?
@hamidreza.taali@gmail.com
hamidreza.taali@gmail.com
12 Oct 2017, 02:11
( Updated at: 23 Jan 2024, 13:16 )
RE:
afhacker said:
You can use my alert library: [/algos/indicators/show/1425]
thanks a lot.
i have erro for signal type.
Error CS0103: The name 'buy' does not exist in the current context?
help me..
@hamidreza.taali@gmail.com
afhacker
12 Oct 2017, 10:11
( Updated at: 23 Jan 2024, 13:16 )
RE: RE:
hamidreza.taali@gmail.com said:
afhacker said:
You can use my alert library: [/algos/indicators/show/1425]
thanks a lot.
i have erro for signal type.
Error CS0103: The name 'buy' does not exist in the current context?
help me..
Can you post your code?
@afhacker
hamidreza.taali@gmail.com
13 Oct 2017, 15:26
( Updated at: 23 Jan 2024, 13:16 )
RE: RE: RE:
afhacker said:
hamidreza.taali@gmail.com said:
afhacker said:
You can use my alert library: [/algos/indicators/show/1425]
thanks a lot.
i have erro for signal type.
Error CS0103: The name 'buy' does not exist in the current context?
help me..
Can you post your code?
using System; using cAlgo.API; using cAlgo.API.Indicators; using System.Threading.Tasks; using AlertWindow; namespace cAlgo.Indicators { [Indicator(IsOverlay = true, AccessRights = AccessRights.None)] public class IchimokuKinkoHyo : Indicator { [Parameter(DefaultValue = 9)] public int periodFast { get; set; } [Parameter(DefaultValue = 26)] public int periodMedium { get; set; } [Parameter(DefaultValue = 52)] public int periodSlow { get; set; } [Parameter(DefaultValue = 26)] public int DisplacementChikou { get; set; } [Parameter(DefaultValue = 26)] public int DisplacementCloud { get; set; } [Parameter(DefaultValue = 26)] public int Displacementkijunsen { get; set; } [Parameter(DefaultValue = 0)] public int Displacemenspanb { get; set; } [Parameter("Text Color", DefaultValue = "Black")] public string TextColor { get; set; } [Parameter(DefaultValue = true)] public bool cross_tenkansenandKijunsen { get; set; } [Parameter(DefaultValue = false)] public bool cross_tenkansenandKijunsen1 { get; set; } [Output("TenkanSen", Color = Colors.Red)] public IndicatorDataSeries TenkanSen { get; set; } [Output("Kijunsen", Color = Colors.Blue)] public IndicatorDataSeries KijunSen { get; set; } [Output("ChikouSpan", Color = Colors.DarkViolet)] public IndicatorDataSeries ChikouSpan { get; set; } [Output("qualityline", Color = Colors.White)] public IndicatorDataSeries qualityline { get; set; } [Output("SenkouSpanB", Color = Colors.Red, LineStyle = LineStyle.Lines)] public IndicatorDataSeries SenkouSpanB { get; set; } [Output("SenkouSpanA", Color = Colors.Green, LineStyle = LineStyle.Lines)] public IndicatorDataSeries SenkouSpanA { get; set; } [Output("Directionline", Color = Colors.Brown)] public IndicatorDataSeries Directionline { get; set; } private Colors color = Colors.Black; private Alert _alarm; double maxfast, minfast, maxmedium, minmedium, maxslow, minslow, maxbig, minbig; protected override void Initialize() { Enum.TryParse(TextColor, out color); // The class constructor receives three parameters, Indicator name and symbol code // And Maximum number of alerts(it's optional and default value is 12) _alarm = new Alert("my ichi", Symbol.Code); } public override void Calculate(int index) { if (IsLastBar) DisplaySpreadOnChart(); if ((index < periodFast) || (index < periodSlow)) { return; } maxfast = MarketSeries.High[index]; minfast = MarketSeries.Low[index]; maxmedium = MarketSeries.High[index]; minmedium = MarketSeries.Low[index]; maxbig = MarketSeries.High[index]; minbig = MarketSeries.Low[index]; maxslow = MarketSeries.High[index]; minslow = MarketSeries.Low[index]; for (int i = 0; i < periodFast; i++) { if (maxfast < MarketSeries.High[index - i]) { maxfast = MarketSeries.High[index - i]; } if (minfast > MarketSeries.Low[index - i]) { minfast = MarketSeries.Low[index - i]; } } for (int i = 0; i < periodMedium; i++) { if (maxmedium < MarketSeries.High[index - i]) { maxmedium = MarketSeries.High[index - i]; } if (minmedium > MarketSeries.Low[index - i]) { minmedium = MarketSeries.Low[index - i]; } } for (int i = 0; i < periodSlow; i++) { if (maxslow < MarketSeries.High[index - i]) { maxslow = MarketSeries.High[index - i]; } if (minslow > MarketSeries.Low[index - i]) { minslow = MarketSeries.Low[index - i]; } } TenkanSen[index] = (maxfast + minfast) / 2; KijunSen[index] = (maxmedium + minmedium) / 2; ChikouSpan[index - DisplacementChikou] = MarketSeries.Close[index]; SenkouSpanA[index + DisplacementCloud] = (TenkanSen[index] + KijunSen[index]) / 2; SenkouSpanB[index + DisplacementCloud] = (maxslow + minslow) / 2; qualityline[index + Displacementkijunsen] = (maxmedium + minmedium) / 2; Directionline[index] = (maxslow + minslow) / 2; if (KijunSen[index] == TenkanSen[index] && cross_tenkansenandKijunsen) { ChartObjects.DrawVerticalLine(index.ToString(), MarketSeries.OpenTime[index], Colors.Red, 2, LineStyle.Dots); ChartObjects.RemoveObject((index - 1).ToString()); Notifications.PlaySound(""); } if (KijunSen[index] == TenkanSen[index] && SenkouSpanA[index + DisplacementCloud] == SenkouSpanB[index + DisplacementCloud]) { ChartObjects.DrawVerticalLine(index.ToString(), MarketSeries.OpenTime[index], Colors.Blue, 2, LineStyle.Solid); ChartObjects.RemoveObject((index - 1).ToString()); Notifications.PlaySound(""); } if (TenkanSen.HasCrossedAbove(KijunSen, 0) || TenkanSen.HasCrossedBelow(KijunSen, 0) && cross_tenkansenandKijunsen1) { ChartObjects.DrawVerticalLine(index.ToString(), MarketSeries.OpenTime[index], Colors.Green, 1, LineStyle.DotsVeryRare); ChartObjects.RemoveObject((index - 1).ToString()); Notifications.PlaySound(""); } // You should use C# Task for running the code asynchronously // Signal Type can be buy and sell or long and short(string) // Server.Time is the time of signal(event) occurrence. Task showForm = Task.Factory.StartNew(() => { _alarm.Trigger(SignalType, Server.Time); }); } private void DisplaySpreadOnChart() { var spread = Math.Round(Symbol.Spread / Symbol.PipSize, 2); string text = string.Format("{0}", spread); ChartObjects.DrawText("spread", "\t" + text, StaticPosition.BottomRight, Colors.Black); ChartObjects.DrawText("gmail", "Email:hamidrtafx@gmail.com", StaticPosition.BottomLeft, Colors.Red); } } }
@hamidreza.taali@gmail.com
hamidreza.taali@gmail.com
31 Oct 2017, 15:05
using System;
using cAlgo.API;
using cAlgo.API.Indicators;
using System.Threading.Tasks;
namespace cAlgo.Indicators
{
[Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.FullAccess)]
public class IchimokuKinkoHyo : Indicator
{
[Parameter(DefaultValue = 9)]
public int periodFast { get; set; }
[Parameter(DefaultValue = 26)]
public int periodMedium { get; set; }
[Parameter(DefaultValue = 52)]
public int periodSlow { get; set; }
[Parameter(DefaultValue = 26)]
public int DisplacementChikou { get; set; }
[Parameter(DefaultValue = 26)]
public int DisplacementCloud { get; set; }
[Parameter(DefaultValue = 26)]
public int Displacementkijunsen { get; set; }
[Parameter(DefaultValue = 0)]
public int Displacemenspanb { get; set; }
[Parameter("Text Color", DefaultValue = "Black")]
public string TextColor { get; set; }
[Parameter(DefaultValue = true)]
public bool Common_cross { get; set; }
[Parameter(DefaultValue = false)]
public bool Uncommon { get; set; }
[Parameter(DefaultValue = true)]
public bool Common_cross_kumo { get; set; }
[Output("TenkanSen", Color = Colors.Red)]
public IndicatorDataSeries TenkanSen { get; set; }
[Output("Kijunsen", Color = Colors.Blue)]
public IndicatorDataSeries KijunSen { get; set; }
[Output("ChikouSpan", Color = Colors.DarkViolet)]
public IndicatorDataSeries ChikouSpan { get; set; }
[Output("qualityline", Color = Colors.Black)]
public IndicatorDataSeries qualityline { get; set; }
[Output("SenkouSpanB", Color = Colors.Red, LineStyle = LineStyle.Lines)]
public IndicatorDataSeries SenkouSpanB { get; set; }
[Output("SenkouSpanA", Color = Colors.Green, LineStyle = LineStyle.Lines)]
public IndicatorDataSeries SenkouSpanA { get; set; }
[Output("Directionline", Color = Colors.Yellow)]
public IndicatorDataSeries Directionline { get; set; }
private Colors color = Colors.Black;
double maxfast, minfast, maxmedium, minmedium, maxslow, minslow, maxbig, minbig;
protected override void Initialize()
{
Alert.Manager.Indicator = this;
Alert.Manager.WindowTheme = Alert.Manager.Theme.BaseLight;
Alert.Manager.WindowAccent = Alert.Manager.Accent.Red;
Enum.TryParse(TextColor, out color);
}
public override void Calculate(int index)
{
if (IsLastBar)
DisplaySpreadOnChart();
if ((index < periodFast) || (index < periodSlow))
{
return;
}
string signalType = string.Empty;
maxfast = MarketSeries.High[index];
minfast = MarketSeries.Low[index];
maxmedium = MarketSeries.High[index];
minmedium = MarketSeries.Low[index];
maxbig = MarketSeries.High[index];
minbig = MarketSeries.Low[index];
maxslow = MarketSeries.High[index];
minslow = MarketSeries.Low[index];
for (int i = 0; i < periodFast; i++)
{
if (maxfast < MarketSeries.High[index - i])
{
maxfast = MarketSeries.High[index - i];
}
if (minfast > MarketSeries.Low[index - i])
{
minfast = MarketSeries.Low[index - i];
}
}
for (int i = 0; i < periodMedium; i++)
{
if (maxmedium < MarketSeries.High[index - i])
{
maxmedium = MarketSeries.High[index - i];
}
if (minmedium > MarketSeries.Low[index - i])
{
minmedium = MarketSeries.Low[index - i];
}
}
for (int i = 0; i < periodSlow; i++)
{
if (maxslow < MarketSeries.High[index - i])
{
maxslow = MarketSeries.High[index - i];
}
if (minslow > MarketSeries.Low[index - i])
{
minslow = MarketSeries.Low[index - i];
}
}
TenkanSen[index] = (maxfast + minfast) / 2;
KijunSen[index] = (maxmedium + minmedium) / 2;
ChikouSpan[index - DisplacementChikou] = MarketSeries.Close[index];
SenkouSpanA[index + DisplacementCloud] = (TenkanSen[index] + KijunSen[index]) / 2;
SenkouSpanB[index + DisplacementCloud] = (maxslow + minslow) / 2;
qualityline[index + Displacementkijunsen] = (maxmedium + minmedium) / 2;
Directionline[index] = (maxslow + minslow) / 2;
if (KijunSen[index] == TenkanSen[index] && Common_cross)
{
ChartObjects.DrawVerticalLine(index.ToString(), MarketSeries.OpenTime[index], Colors.Red, 1, LineStyle.DotsVeryRare);
ChartObjects.RemoveObject((index - 1).ToString());
signalType = "Common_cross";
Alert.Manager.Trigger(TradeType.Buy, Symbol, MarketSeries.TimeFrame, Server.Time, "Test");
}
if (TenkanSen.HasCrossedAbove(KijunSen, 0) && Uncommon)
{
ChartObjects.DrawVerticalLine(index.ToString(), MarketSeries.OpenTime[index], Colors.Green, 1, LineStyle.DotsVeryRare);
ChartObjects.RemoveObject((index - 1).ToString());
signalType = "Uncommon";
Alert.Manager.Trigger(TradeType.Buy, Symbol, MarketSeries.TimeFrame, Server.Time, "Test");
}
if (KijunSen[index] == TenkanSen[index] && SenkouSpanA[index + DisplacementCloud] == SenkouSpanB[index + DisplacementCloud] && Common_cross_kumo)
{
ChartObjects.DrawVerticalLine(index.ToString(), MarketSeries.OpenTime[index], Colors.Blue, 1, LineStyle.DotsVeryRare);
ChartObjects.RemoveObject((index - 1).ToString());
signalType = "Common_cross_kumo";
Alert.Manager.Trigger(TradeType.Buy, Symbol, MarketSeries.TimeFrame, Server.Time, "Test");
}
}
private void DisplaySpreadOnChart()
{
var spread = Math.Round(Symbol.Spread / Symbol.PipSize, 2);
string text = string.Format("{0}", spread);
ChartObjects.DrawText("spread", "\t" + text, StaticPosition.BottomRight, Colors.Black);
}
}
}
@hamidreza.taali@gmail.com
afhacker
31 Oct 2017, 17:28
You can download the compiled version of indicator from this link: https://drive.google.com/open?id=0B93GK1Ip4NSMdVVLbThRWjhMZmM
using System; using cAlgo.API; using cAlgo.API.Indicators; using System.Threading.Tasks; namespace cAlgo.Indicators { [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.FullAccess)] public class IchimokuKinkoHyo : Indicator { private int alertBarIndex = 0; [Parameter(DefaultValue = 9)] public int periodFast { get; set; } [Parameter(DefaultValue = 26)] public int periodMedium { get; set; } [Parameter(DefaultValue = 52)] public int periodSlow { get; set; } [Parameter(DefaultValue = 26)] public int DisplacementChikou { get; set; } [Parameter(DefaultValue = 26)] public int DisplacementCloud { get; set; } [Parameter(DefaultValue = 26)] public int Displacementkijunsen { get; set; } [Parameter(DefaultValue = 0)] public int Displacemenspanb { get; set; } [Parameter("Text Color", DefaultValue = "Black")] public string TextColor { get; set; } [Parameter(DefaultValue = true)] public bool Common_cross { get; set; } [Parameter(DefaultValue = false)] public bool Uncommon { get; set; } [Parameter(DefaultValue = true)] public bool Common_cross_kumo { get; set; } [Output("TenkanSen", Color = Colors.Red)] public IndicatorDataSeries TenkanSen { get; set; } [Output("Kijunsen", Color = Colors.Blue)] public IndicatorDataSeries KijunSen { get; set; } [Output("ChikouSpan", Color = Colors.DarkViolet)] public IndicatorDataSeries ChikouSpan { get; set; } [Output("qualityline", Color = Colors.Black)] public IndicatorDataSeries qualityline { get; set; } [Output("SenkouSpanB", Color = Colors.Red, LineStyle = LineStyle.Lines)] public IndicatorDataSeries SenkouSpanB { get; set; } [Output("SenkouSpanA", Color = Colors.Green, LineStyle = LineStyle.Lines)] public IndicatorDataSeries SenkouSpanA { get; set; } [Output("Directionline", Color = Colors.Yellow)] public IndicatorDataSeries Directionline { get; set; } private Colors color = Colors.Black; double maxfast, minfast, maxmedium, minmedium, maxslow, minslow, maxbig, minbig; protected override void Initialize() { Alert.Manager.Indicator = this; Alert.Manager.WindowTheme = Alert.Manager.Theme.BaseLight; Alert.Manager.WindowAccent = Alert.Manager.Accent.Red; Enum.TryParse(TextColor, out color); } public override void Calculate(int index) { if (IsLastBar) DisplaySpreadOnChart(); if ((index < periodFast) || (index < periodSlow)) { return; } string signalType = string.Empty; maxfast = MarketSeries.High[index]; minfast = MarketSeries.Low[index]; maxmedium = MarketSeries.High[index]; minmedium = MarketSeries.Low[index]; maxbig = MarketSeries.High[index]; minbig = MarketSeries.Low[index]; maxslow = MarketSeries.High[index]; minslow = MarketSeries.Low[index]; for (int i = 0; i < periodFast; i++) { if (maxfast < MarketSeries.High[index - i]) { maxfast = MarketSeries.High[index - i]; } if (minfast > MarketSeries.Low[index - i]) { minfast = MarketSeries.Low[index - i]; } } for (int i = 0; i < periodMedium; i++) { if (maxmedium < MarketSeries.High[index - i]) { maxmedium = MarketSeries.High[index - i]; } if (minmedium > MarketSeries.Low[index - i]) { minmedium = MarketSeries.Low[index - i]; } } for (int i = 0; i < periodSlow; i++) { if (maxslow < MarketSeries.High[index - i]) { maxslow = MarketSeries.High[index - i]; } if (minslow > MarketSeries.Low[index - i]) { minslow = MarketSeries.Low[index - i]; } } TenkanSen[index] = (maxfast + minfast) / 2; KijunSen[index] = (maxmedium + minmedium) / 2; ChikouSpan[index - DisplacementChikou] = MarketSeries.Close[index]; SenkouSpanA[index + DisplacementCloud] = (TenkanSen[index] + KijunSen[index]) / 2; SenkouSpanB[index + DisplacementCloud] = (maxslow + minslow) / 2; qualityline[index + Displacementkijunsen] = (maxmedium + minmedium) / 2; Directionline[index] = (maxslow + minslow) / 2; if (KijunSen[index] == TenkanSen[index] && Common_cross) { ChartObjects.DrawVerticalLine(index.ToString(), MarketSeries.OpenTime[index], Colors.Red, 1, LineStyle.DotsVeryRare); ChartObjects.RemoveObject((index - 1).ToString()); TriggerAlert(TradeType.Sell, index, "Common_cross"); } if (TenkanSen.HasCrossedAbove(KijunSen, 0) && Uncommon) { ChartObjects.DrawVerticalLine(index.ToString(), MarketSeries.OpenTime[index], Colors.Green, 1, LineStyle.DotsVeryRare); ChartObjects.RemoveObject((index - 1).ToString()); TriggerAlert(TradeType.Sell, index, "Uncommon"); } if (KijunSen[index] == TenkanSen[index] && SenkouSpanA[index + DisplacementCloud] == SenkouSpanB[index + DisplacementCloud] && Common_cross_kumo) { ChartObjects.DrawVerticalLine(index.ToString(), MarketSeries.OpenTime[index], Colors.Blue, 1, LineStyle.DotsVeryRare); ChartObjects.RemoveObject((index - 1).ToString()); TriggerAlert(TradeType.Sell, index, "Common_cross_kumo"); } } private void DisplaySpreadOnChart() { var spread = Math.Round(Symbol.Spread / Symbol.PipSize, 2); string text = string.Format("{0}", spread); ChartObjects.DrawText("spread", "\t" + text, StaticPosition.BottomRight, Colors.Black); } private void TriggerAlert(TradeType alertType, int index, string msg) { if (index != alertBarIndex && IsLastBar && IsRealTime) { alertBarIndex = index; Alert.Manager.Trigger(alertType, Symbol, MarketSeries.TimeFrame, Server.Time, msg); } } } }
@afhacker
hamidreza.taali@gmail.com
31 Oct 2017, 21:24
RE:
afhacker said:
You can download the compiled version of indicator from this link: https://drive.google.com/open?id=0B93GK1Ip4NSMdVVLbThRWjhMZmM
using System; using cAlgo.API; using cAlgo.API.Indicators; using System.Threading.Tasks; namespace cAlgo.Indicators { [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.FullAccess)] public class IchimokuKinkoHyo : Indicator { private int alertBarIndex = 0; [Parameter(DefaultValue = 9)] public int periodFast { get; set; } [Parameter(DefaultValue = 26)] public int periodMedium { get; set; } [Parameter(DefaultValue = 52)] public int periodSlow { get; set; } [Parameter(DefaultValue = 26)] public int DisplacementChikou { get; set; } [Parameter(DefaultValue = 26)] public int DisplacementCloud { get; set; } [Parameter(DefaultValue = 26)] public int Displacementkijunsen { get; set; } [Parameter(DefaultValue = 0)] public int Displacemenspanb { get; set; } [Parameter("Text Color", DefaultValue = "Black")] public string TextColor { get; set; } [Parameter(DefaultValue = true)] public bool Common_cross { get; set; } [Parameter(DefaultValue = false)] public bool Uncommon { get; set; } [Parameter(DefaultValue = true)] public bool Common_cross_kumo { get; set; } [Output("TenkanSen", Color = Colors.Red)] public IndicatorDataSeries TenkanSen { get; set; } [Output("Kijunsen", Color = Colors.Blue)] public IndicatorDataSeries KijunSen { get; set; } [Output("ChikouSpan", Color = Colors.DarkViolet)] public IndicatorDataSeries ChikouSpan { get; set; } [Output("qualityline", Color = Colors.Black)] public IndicatorDataSeries qualityline { get; set; } [Output("SenkouSpanB", Color = Colors.Red, LineStyle = LineStyle.Lines)] public IndicatorDataSeries SenkouSpanB { get; set; } [Output("SenkouSpanA", Color = Colors.Green, LineStyle = LineStyle.Lines)] public IndicatorDataSeries SenkouSpanA { get; set; } [Output("Directionline", Color = Colors.Yellow)] public IndicatorDataSeries Directionline { get; set; } private Colors color = Colors.Black; double maxfast, minfast, maxmedium, minmedium, maxslow, minslow, maxbig, minbig; protected override void Initialize() { Alert.Manager.Indicator = this; Alert.Manager.WindowTheme = Alert.Manager.Theme.BaseLight; Alert.Manager.WindowAccent = Alert.Manager.Accent.Red; Enum.TryParse(TextColor, out color); } public override void Calculate(int index) { if (IsLastBar) DisplaySpreadOnChart(); if ((index < periodFast) || (index < periodSlow)) { return; } string signalType = string.Empty; maxfast = MarketSeries.High[index]; minfast = MarketSeries.Low[index]; maxmedium = MarketSeries.High[index]; minmedium = MarketSeries.Low[index]; maxbig = MarketSeries.High[index]; minbig = MarketSeries.Low[index]; maxslow = MarketSeries.High[index]; minslow = MarketSeries.Low[index]; for (int i = 0; i < periodFast; i++) { if (maxfast < MarketSeries.High[index - i]) { maxfast = MarketSeries.High[index - i]; } if (minfast > MarketSeries.Low[index - i]) { minfast = MarketSeries.Low[index - i]; } } for (int i = 0; i < periodMedium; i++) { if (maxmedium < MarketSeries.High[index - i]) { maxmedium = MarketSeries.High[index - i]; } if (minmedium > MarketSeries.Low[index - i]) { minmedium = MarketSeries.Low[index - i]; } } for (int i = 0; i < periodSlow; i++) { if (maxslow < MarketSeries.High[index - i]) { maxslow = MarketSeries.High[index - i]; } if (minslow > MarketSeries.Low[index - i]) { minslow = MarketSeries.Low[index - i]; } } TenkanSen[index] = (maxfast + minfast) / 2; KijunSen[index] = (maxmedium + minmedium) / 2; ChikouSpan[index - DisplacementChikou] = MarketSeries.Close[index]; SenkouSpanA[index + DisplacementCloud] = (TenkanSen[index] + KijunSen[index]) / 2; SenkouSpanB[index + DisplacementCloud] = (maxslow + minslow) / 2; qualityline[index + Displacementkijunsen] = (maxmedium + minmedium) / 2; Directionline[index] = (maxslow + minslow) / 2; if (KijunSen[index] == TenkanSen[index] && Common_cross) { ChartObjects.DrawVerticalLine(index.ToString(), MarketSeries.OpenTime[index], Colors.Red, 1, LineStyle.DotsVeryRare); ChartObjects.RemoveObject((index - 1).ToString()); TriggerAlert(TradeType.Sell, index, "Common_cross"); } if (TenkanSen.HasCrossedAbove(KijunSen, 0) && Uncommon) { ChartObjects.DrawVerticalLine(index.ToString(), MarketSeries.OpenTime[index], Colors.Green, 1, LineStyle.DotsVeryRare); ChartObjects.RemoveObject((index - 1).ToString()); TriggerAlert(TradeType.Sell, index, "Uncommon"); } if (KijunSen[index] == TenkanSen[index] && SenkouSpanA[index + DisplacementCloud] == SenkouSpanB[index + DisplacementCloud] && Common_cross_kumo) { ChartObjects.DrawVerticalLine(index.ToString(), MarketSeries.OpenTime[index], Colors.Blue, 1, LineStyle.DotsVeryRare); ChartObjects.RemoveObject((index - 1).ToString()); TriggerAlert(TradeType.Sell, index, "Common_cross_kumo"); } } private void DisplaySpreadOnChart() { var spread = Math.Round(Symbol.Spread / Symbol.PipSize, 2); string text = string.Format("{0}", spread); ChartObjects.DrawText("spread", "\t" + text, StaticPosition.BottomRight, Colors.Black); } private void TriggerAlert(TradeType alertType, int index, string msg) { if (index != alertBarIndex && IsLastBar && IsRealTime) { alertBarIndex = index; Alert.Manager.Trigger(alertType, Symbol, MarketSeries.TimeFrame, Server.Time, msg); } } } }thanks a lot.
iam update.
but not work. why?
@hamidreza.taali@gmail.com
afhacker
02 Nov 2017, 16:04
( Updated at: 21 Dec 2023, 09:20 )
Hi Hamid Reza,
There were some bugs in Alert library that I fixed and the new version is available, you can download your indicator which uses the new version of the alert library from here:
https://drive.google.com/open?id=0B93GK1Ip4NSMWldXRTljRTZ1ZEk
@afhacker
hamidreza.taali@gmail.com
02 Nov 2017, 19:18
( Updated at: 21 Dec 2023, 09:20 )
RE:
afhacker said:
Hi Hamid Reza,
There were some bugs in Alert library that I fixed and the new version is available, you can download your indicator which uses the new version of the alert library from here:
https://drive.google.com/open?id=0B93GK1Ip4NSMWldXRTljRTZ1ZEk
thanks.
i am update alert library and indicator. but not working again?
@hamidreza.taali@gmail.com
hamidreza.taali@gmail.com
02 Nov 2017, 20:29
( Updated at: 23 Jan 2024, 13:16 )
RE:
afhacker said:
Can you give me your email address? I will invite you to our Slack.
[hamidreza.taali@gmail.com]
@hamidreza.taali@gmail.com
... Deleted by UFO ...
afhacker
11 Oct 2017, 22:33 ( Updated at: 23 Jan 2024, 13:16 )
You can use my alert library: [/algos/indicators/show/1425]
@afhacker