How to Refresh Signals - Plotted Signals Arrows are still showing even the condition false.

Created at 11 Aug 2020, 15:14
How’s your experience with the cTrader Platform?
Your feedback is crucial to cTrader's development. Please take a few seconds to share your opinion and help us improve your trading experience. Thanks!
VA

vamsi.rc

Joined 05.05.2020

How to Refresh Signals - Plotted Signals Arrows are still showing even the condition false.
11 Aug 2020, 15:14


Hi Team,

I have an indicator which gives signal and the same plots on chart. The problem I am facing is, if the condition is false, still the signal is showing on the chart. How to refresh the indicator or signal before making any calculations or placing an order based on signal? In simple words, its showing Buy arrow when condition is true, but its not removing Buy arrow even condition is false (on tick data).

Here, condition like, while candle is running, its possible to crossover, but after closing the candle, its also possible that 2 MA didn't cross each other. In this scenario, Buy signal arrow should not appear and then Sell signal should continue. 

Kindly help.

Thanks 

R C Vamsi Vardhan


@vamsi.rc
Replies

PanagiotisCharalampous
11 Aug 2020, 15:15

Hi Vamsi,

Can you share the source code of this indicator?

Best Regards,

Panagiotis 

Join us on Telegram

 


@PanagiotisCharalampous

vamsi.rc
11 Aug 2020, 15:18

RE:

Same Indicator and cBot as mentioned here. I am working and referring to this same Indicator and cBot.

PanagiotisCharalampous said:

Hi Vamsi,

Can you share the source code of this indicator?

Best Regards,

Panagiotis 

Join us on Telegram

 

 


@vamsi.rc

vamsi.rc
11 Aug 2020, 16:16 ( Updated at: 21 Dec 2023, 09:22 )

RE: RE:

This is the exact issue which I am referring to.

1. Indicator applied on cBot - Before Reapply Indicator:

2. Indicator applied on cBot - After Reapply Indicator:

3. Indicator applied on Chart Window:

If you observe above 3 screenshots, Last Signal Index is same in all three, but difference in plotting signals, in chart no.1 it plots somewhere which is not related to either 2 or 3. I am considering the signal arrows which is creating the problem while placing orders. 

Hope this help to understand the exact issue. Kindly let me know, if you need more information.

Thanks 

R C Vamsi Vardhan

 

vamsi.rc said:

Same Indicator and cBot as mentioned here. I am working and referring to this same Indicator and cBot.

PanagiotisCharalampous said:

Hi Vamsi,

Can you share the source code of this indicator?

Best Regards,

Panagiotis 

Join us on Telegram

 

 

 


@vamsi.rc

PanagiotisCharalampous
11 Aug 2020, 16:44

Hi Vamsi,

It seems that you are drawing arrows when the signal becomes bullish or bearish but you are not removing them when the signal becomes false

            if (IsBullish)
            {
                SignalIndex = index;
                DisplayArrows(index, "Buy");
                lastsignaltime = Bars.OpenTimes.Last(SignalIndex);
                signal = "Buy";
                SignalsData[index] = 1;
                SignalsIndexData[index] = index;
            }

            if (IsBearish)
            {
                SignalIndex = index;
                DisplayArrows(index, "Sell");
                lastsignaltime = Bars.OpenTimes.Last(SignalIndex);
                signal = "Sell";
                SignalsData[index] = 2;
                SignalsIndexData[index] = index;
            }

Try adding an else condition to remove the arrows and reset any relevant information.

Best Regards,

Panagiotis 

Join us on Telegram


@PanagiotisCharalampous

vamsi.rc
11 Aug 2020, 16:58

RE:

Thanks for your support Panagiotis. Let me check this way. But not sure, it will resolve the issue.

PanagiotisCharalampous said:

Hi Vamsi,

It seems that you are drawing arrows when the signal becomes bullish or bearish but you are not removing them when the signal becomes false

            if (IsBullish)
            {
                SignalIndex = index;
                DisplayArrows(index, "Buy");
                lastsignaltime = Bars.OpenTimes.Last(SignalIndex);
                signal = "Buy";
                SignalsData[index] = 1;
                SignalsIndexData[index] = index;
            }

            if (IsBearish)
            {
                SignalIndex = index;
                DisplayArrows(index, "Sell");
                lastsignaltime = Bars.OpenTimes.Last(SignalIndex);
                signal = "Sell";
                SignalsData[index] = 2;
                SignalsIndexData[index] = index;
            }

Try adding an else condition to remove the arrows and reset any relevant information.

Best Regards,

Panagiotis 

Join us on Telegram

 


@vamsi.rc