I installed all components as they should. However, I am getting signals allover the place. Also, the zigzag indicator showing annoying arrows. What is wrong? I need to replicate your result ( as it shown above in the picture)
I installed all components as they should. However, I am getting signals allover the place. Also, the zigzag indicator showing annoying arrows. What is wrong? I need to replicate your result ( as it shown above in the picture)
Thank you very much for your interest in my developments!
I have added additional checks to the indicators. If some indicator is not found, then you will receive an alert. In addition, I have added significant improvements to the ZigZag+ indicator.
How could it be done or do I have to create different signal collections in different charts?
Hello! All of the above can be added to one collection of signals. Describe the logic of all the signals that you want to add, I will help you do it correctly.
Hello! All of the above can be added to one collection of signals. Describe the logic of all the signals that you want to add, I will help you do it correctly.
Hi I did the test that way, but only the RSI appears on the Dashboard, how could the others be seen?
Hello! I added all the indicators as in your first screenshot. Study my code and comments inside. Use "Config" with ready input parameters for the signal panel.
If you need two or more indicators, then you need to follow certain rules.
More details about this.
//--------------------------------------------------------------------#property indicator_chart_window#property indicator_buffers6// The number of indicator buffers. Two for one indicator.#property indicator_label1"RSI"#property indicator_type1DRAW_ARROW#property indicator_color1clrDeepSkyBlue#property indicator_style1STYLE_SOLID#property indicator_width12#property indicator_label2"RSI"#property indicator_type2DRAW_ARROW#property indicator_color2clrRed#property indicator_style2STYLE_SOLID#property indicator_width22#property indicator_label3"EMA"#property indicator_type3DRAW_ARROW#property indicator_color3clrDeepSkyBlue#property indicator_style3STYLE_SOLID#property indicator_width32#property indicator_label4"EMA"#property indicator_type4DRAW_ARROW#property indicator_color4clrRed#property indicator_style4STYLE_SOLID#property indicator_width42#property indicator_label5"Stoch"#property indicator_type5DRAW_ARROW#property indicator_color5clrDeepSkyBlue#property indicator_style5STYLE_SOLID#property indicator_width52#property indicator_label6"Stoch"#property indicator_type6DRAW_ARROW#property indicator_color6clrRed#property indicator_style6STYLE_SOLID#property indicator_width62//--------------------------------------------------------------------
Each individual indicator requires two separate indicator buffers. One indicator buffer is for the up arrow, and the second one is for the down arrow.
//--------------------------------------------------------------------double bf0[],bf1[], // Arrays for indicator buffers.
bf2[],bf3[],
bf4[],bf5[];
//--------------------------------------------------------------------
In order for everything to work, arrays are needed to bind to indicator buffers.
intOnInit()
{
//---SetIndexBuffer(0,bf0); // We associate arrays with indicator buffers.SetIndexBuffer(1,bf1);
SetIndexBuffer(2,bf2);
SetIndexBuffer(3,bf3);
SetIndexBuffer(4,bf4);
SetIndexBuffer(5,bf5);
SetIndexArrow(0,217); // Assign different arrows to distinguish the signals.
SetIndexArrow(1,218);
SetIndexArrow(2,241);
SetIndexArrow(3,242);
SetIndexArrow(4,225);
SetIndexArrow(5,226);
IndicatorDigits(Digits);
//---return(INIT_SUCCEEDED);
}
It is necessary to link arrays and indicator buffers. To distinguish the arrows, you need to assign a code for each arrow.
if(prev_calculated==0)
{
s=rates_total-2;
if(Limit>0 && s>(int)Limit-1) s=(int)Limit-1;
for(i=rates_total-1; i>s; --i)
{
bf0[i]=EMPTY_VALUE; // We reset all the values that are on the left.
bf1[i]=EMPTY_VALUE;
bf2[i]=EMPTY_VALUE;
bf3[i]=EMPTY_VALUE;
bf4[i]=EMPTY_VALUE;
bf5[i]=EMPTY_VALUE;
}
}
else s=rates_total-prev_calculated;
By adding multiple indicators, buffers need to be maintained. Now we are resetting all the values that are located on the left.
for(i=s; i>=0; --i)
{
bf0[i]=EMPTY_VALUE; // We reset the values that we will calculate now.
bf1[i]=EMPTY_VALUE;
bf2[i]=EMPTY_VALUE;
bf3[i]=EMPTY_VALUE;
bf4[i]=EMPTY_VALUE;
bf5[i]=EMPTY_VALUE;
In the main loop of our signal collection, we will reset all the values that we are calculating now.
//-----------------------------RSI---------------------------------if(iRSI(NULL,0,14,PRICE_CLOSE,i)>30.0 &&
iRSI(NULL,0,14,PRICE_CLOSE,i+1)<=30.0) bf0[i]=low[i]; // We have a separate pair of arrays for each indicator.elseif(iRSI(NULL,0,14,PRICE_CLOSE,i)<70.0 &&
iRSI(NULL,0,14,PRICE_CLOSE,i+1)>=70.0) bf1[i]=high[i];
//-----------------------------EMA---------------------------------if(close[i]>iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,i) &&
close[i+1]<=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,i+1)) bf2[i]=low[i];
elseif(close[i]<iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,i) &&
close[i+1]>=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,i+1)) bf3[i]=high[i];
//-----------------------------Stochastic--------------------------if(iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,i)>20.0 &&
iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,i+1)<=20.0) bf4[i]=low[i];
elseif(iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,i)<80.0 &&
iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,i+1)>=80.0) bf5[i]=high[i];
We calculate all the indicators. Each indicator uses its own pair of arrays.
Boris Sedov #: r everything to work, arrays are needed to bind to indicator buffers
ok nice job, another query, if there are 3 indicators in the same temporality and same pair, does the dashboard show it to you, example RSI/STOCASTIC/MA (enlarging the module)?
second query. Could a programmable robot read (Buffers) the dash board to put, for example, only long or only short?
ok nice job, another query, if there are 3 indicators in the same temporality and same pair, does the dashboard show it to you, example RSI/STOCASTIC/MA (enlarging the module)?
second query. Could a programmable robot read (Buffers) the dash board to put, for example, only long or only short?
You can program all this in the signal collection.
For example, in order for the panel to show when three indicators give a signal at the same time, you need to add two more separate buffers. You will receive such a signal separately. It will turn out not three indicators, but three + one more combined of three at the same time, only four.
Only the up or down arrows, you also program this in the signal collection.
You can put the switch in the input parameters of the signal collection, but you need to follow the rule — the input variable "Limit" should be the first in the list. Only below the "Limit" variable can you add your own new input variables.
The signal panel checks whether there is an arrow or not.
But we can program this arrow as we need. If we need an arrow when the conditions of several different indicators coincide at once, then we do so. Let us have such an arrow. The panel will see this arrow and say — a combined signal has been received.
But we can program this arrow as we need. If we need an arrow when the conditions of several different indicators coincide at once, then we do so. Let us have such an arrow. The panel will see this arrow and
I was able to integrate the ichimoku, but I need to improve.
If you need the moment of intersection of two lines, then it is done the same way as other indicators.
First, we check that one line is higher than the other on the i-th candle, and on the i+1st candle, the same line is lower or equal to the other. This is for purchase. For sale, everything is exactly the opposite.
All components should be running in one window.
I installed all components as they should. However, I am getting signals allover the place. Also, the zigzag indicator showing annoying arrows. What is wrong? I need to replicate your result ( as it shown above in the picture)
I installed all components as they should. However, I am getting signals allover the place. Also, the zigzag indicator showing annoying arrows. What is wrong? I need to replicate your result ( as it shown above in the picture)
Thank you very much for your interest in my developments!
I have added additional checks to the indicators. If some indicator is not found, then you will receive an alert.
In addition, I have added significant improvements to the ZigZag+ indicator.
In order for the updates to take effect, you need to compile after copying the new files.
In order for the updates to take effect, you need to compile after copying the new files.
Good job Boris, can you combine several indicators in the same dashboard?
I want to add ichimoku, plus rsi, plus moving average, plus stochastic, plus rsi, plus CCI, and let me summarize the strength of the signalHow could it be done or do I have to create different signal collections in different charts?
How could it be done or do I have to create different signal collections in different charts?
Hello!
All of the above can be added to one collection of signals.
Describe the logic of all the signals that you want to add, I will help you do it correctly.
Hello!
All of the above can be added to one collection of signals.
Describe the logic of all the signals that you want to add, I will help you do it correctly.
Hi I did the test that way, but only the RSI appears on the Dashboard, how could the others be seen?
How could the others be seen?
Hello!
I added all the indicators as in your first screenshot. Study my code and comments inside.
Use "Config" with ready input parameters for the signal panel.
More details about this.
Each individual indicator requires two separate indicator buffers. One indicator buffer is for the up arrow, and the second one is for the down arrow.
In order for everything to work, arrays are needed to bind to indicator buffers.
It is necessary to link arrays and indicator buffers.
To distinguish the arrows, you need to assign a code for each arrow.
By adding multiple indicators, buffers need to be maintained.
Now we are resetting all the values that are located on the left.
In the main loop of our signal collection, we will reset all the values that we are calculating now.
We calculate all the indicators.
Each indicator uses its own pair of arrays.
That's all!
r everything to work, arrays are needed to bind to indicator buffers
ok nice job, another query, if there are 3 indicators in the same temporality and same pair, does the dashboard show it to you, example RSI/STOCASTIC/MA (enlarging the module)?
second query. Could a programmable robot read (Buffers) the dash board to put, for example, only long or only short?
ok nice job, another query, if there are 3 indicators in the same temporality and same pair, does the dashboard show it to you, example RSI/STOCASTIC/MA (enlarging the module)?
second query. Could a programmable robot read (Buffers) the dash board to put, for example, only long or only short?
You can program all this in the signal collection.
For example, in order for the panel to show when three indicators give a signal at the same time, you need to add two more separate buffers. You will receive such a signal separately. It will turn out not three indicators, but three + one more combined of three at the same time, only four.
Only the up or down arrows, you also program this in the signal collection.
You can put the switch in the input parameters of the signal collection, but you need to follow the rule — the input variable "Limit" should be the first in the list. Only below the "Limit" variable can you add your own new input variables.
ok, thank you very much, I'm doing some tests
ideally the indicators can be seen in the same temporality, I do not know how to do it
I was able to integrate the ichimoku, but I need to improve (At the moment there is the cross in each candle)I was able to integrate the ichimoku, but I need to improve.
If you need the moment of intersection of two lines, then it is done the same way as other indicators.
First, we check that one line is higher than the other on the i-th candle, and on the i+1st candle, the same line is lower or equal to the other. This is for purchase. For sale, everything is exactly the opposite.
How does it work?
If TENKANSEN i-th is higher than KIJUNSEN i-th and
TENKANSEN i+1st is lower or equal to KIJUNSEN i+1st, then bf6[i]=low[i]
Also for bf7[i]=high[i], but the signs — (< and >=) change.
I tried use with neuroshell indicator but it wrong every time.
Could you help with this?