I will write the indicator for free - page 18

 
Yurij Izyumov:
How to distribute the tick volume on a candlestick, the candlestick has a range and sometimes a big one

I don't know much about the details, but I think this will work

Let's assume that a 1-minute candlestick has a range of HL=100 points and some amount of tick volume units

If we take the theory that each of them is multidirectional with random order, we get, for example, a 5 minute candlestick and we will see the distribution of price with

HL_0bar/antic volume HL_1bar/antic volume HL2bar/antic volume etc.

i.e. we already operate with the "candlestick value/antic volume" unit. In fact, the line will reflect the value of this indicator in relation to other similar ones vertically. And we can use it on m5 charts

the same with the 15-minute candlestick, which consists of 15-minute candlesticks

It is clear that the current definition is not quite what we wanted initially, but I've just looked at the documentation - there is no tick chart history anywhere, so the minimum candle is a minute.

 

Good afternoon.I need a standard RSI with an alert. Is it possible to implement such an idea to comfortably track signals. So far I have come across either a bunch of rubbish tied to RSI or an alert when a candle closes (and the train has left...)

A beep with a message should come with an indication of a pair, on which the event occurs.

The signal comes once during the formation of a candle in the selected time frame when crossing the top or bottom level, respectively, only when crossing up or down and only at the moment of crossing, not when the candle closes.

It is desirable to make one more level, at the moment of its crossing, there is also a one-time signal.

Example.

In the 5M time frame, the EUR/USD price goes down. At some moment, having crossed the RSI 30 level (e.g., on the 80th second of a candle), an alert is generated, and a message is displayed saying that the EUR/USD pair has a preliminary buy signal at a certain time.

If in the remaining time of formation of a candle RSI touches the next level (for example 20), an alert sounds and goes out the message that at a certain time on the pair eVor dollar there is a second signal to buy.

Preferably, the message should somehow show that the signal is preliminary or already a specific one (i.e. repeated).

 
Yurij Izyumov:

In order to rewrite it, all indicators to be included should also be under mql5

B Sorry for the delay in replying, but I REALLY need your help. I am writing an article and the moderator has asked me to rewrite all the codes of attached files for mql5. I need to rewrite only two of them. The rest of the codes will be replicated for other files.

I would be very grateful if you could not procrastinate, because the publication of the article is delayed precisely because of it. I, in turn, promise to let you know about my treatise. Thanks again!

1. So, what you need to do. In the indicator TDSEQUENTA_by_nikelodeon.mq5 I have added another buffer that is responsible for the signal transmission, where 1 is Buy and -1 is Sell, I think there should be no error here. But it is necessary to add one more buffer, where at formation of a blue or red point, i.e. the signal itself, the number of green dots of each signal would be written into this buffer. I have already added a buffer number 7, the only thing left is to organize writing to it.

2. eVOLution-dvoid.1.3 (1).mq5 indicator should be completely rewritten for MQL5 this indicator takes data from files that are in the folder\Files\evolution-dvoid\dvoid-BP.csv. I use csv format, but since this format is not supported on the forum, I will paste it in txt format. After downloading it should be put in the specified folder and rename the extension to csv. Our indicator should work with this file.

The BuyVOLDOWNNOPDOWN.mq5 indicator must be rewritten in MQL5 to show how other indicators are called on the example of eVOLution-dvoid.1.3 (1).mq5, it is called there.

As for the Cluster_X family files, I will try to download them for MT5 and then we will see how to attach them. But the most important thing now is to solve the issue with the above indicators. Thank you very much!!!

 
Mihail Marchukajtes:
May I ask what the topic of the article will be?
 
Alexey Kozitsyn:
May I ask what the topic of the article will be?
Artificial Intelligence Systems
 
Good afternoon. I'm on the Delta_RSI indicator, it keeps drawing (see screenshot) histo in both directions at the same time (look for error). And is it possible to colour the no signal colour for above/below zero. Thanks.
 

HelloYurij Izyumov! Wandering around the forums and asking this question, I did not get a clear answer... everyone offered their solution, but only in words and without confirming that it would work. I would like to see the practical implementation of the issue. And the question is as follows...

There is an indicator from CodyBase https://www.mql5.com/ru/docs/series/copybuffer

The problem is that when you change the timeframe in the input parameters of the indicator, the delay of indicator calculation until the appearance of a new tick, and it may take up to several hours for different instruments.

Do you have the possibility to implement this gap? Thank you!

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyBuffer
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyBuffer
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyBuffer - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Tango_X:

HelloYurij Izyumov! Wandering around the forums and asking this question, I did not get a clear answer... everyone offered their solution, but only in words and without confirming that it would work. I would like to see the practical implementation of the issue. And the question is as follows...

There is an indicator from CodyBase https://www.mql5.com/ru/docs/series/copybuffer

The problem is that when you change the timeframe in the input parameters of the indicator, the delay of indicator calculation until the appearance of a new tick, and it may take up to several hours for different instruments.

Do you have the possibility to implement this gap? Thank you!

You can forcefully call OnCalculate() by pressing the refresh button. You can also make all calculations in OnTimer() or OnBookEvent().
 

Hello. Is it possible to make an arrow on these indicators? Template and screenshots of trades in the folder.Sorry to add so ind. does not give the folder to load

DECOMPILING IS FORBIDDEN! ARCHIVE REMOVED!

 
Alexey Kozitsyn:
You can forcefully call OnCalculate() by pressing the refresh button. You can also do all calculations in OnTimer() or OnBookEvent().

I implemented it with OnTimer() and nothing came out of it. Unfortunately the onTimer() event doesn't calculate the indicator and the delay is saved, maybe a loud statement and I've done something wrong, please correct. Thanks!

//+------------------------------------------------------------------+
//|                                              TestCopyBuffer3.mq5 |
//|                        Copyright 2009, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2009, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1
//---- plot MA
#property indicator_label1  "MA"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- input parameters
bool               AsSeries=true;
int                period=15;
input ENUM_TIMEFRAMES    TimeFrame=PERIOD_CURRENT; //Период графика
ENUM_MA_METHOD     smootMode=MODE_EMA;
ENUM_APPLIED_PRICE price=PRICE_CLOSE;
int                shift=0;
//--- indicator buffers
double                   MABuffer[];
int                      ma_handle;
int to_copy;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,MABuffer,INDICATOR_DATA);
   Print("Параметр AsSeries = ",AsSeries);
   Print("Индикаторный буфер после SetIndexBuffer() является таймсерией = ",
         ArrayGetAsSeries(MABuffer));
//--- set short indicator name
   IndicatorSetString(INDICATOR_SHORTNAME,"MA("+period+")"+AsSeries);
//--- set AsSeries (depends on input parameter)
   ArraySetAsSeries(MABuffer,AsSeries);
   Print("Индикаторный буфер после ArraySetAsSeries(MABuffer,true); является таймсерией = ",
         ArrayGetAsSeries(MABuffer));
//---
   ma_handle=iMA(Symbol(),TimeFrame,period,shift,smootMode,price);
   EventSetTimer(1);
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//--- check if all data calculated
   if(BarsCalculated(ma_handle)<rates_total) return(0);
//--- we can copy not all data
   //int to_copy;
   if(prev_calculated>rates_total || prev_calculated<=0) to_copy=rates_total;
   else
     {
      to_copy=rates_total-prev_calculated;
      //--- last value is always copied
      to_copy++;
     }
//--- try to copy
  
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
//---
   CopyBuffer(ma_handle,0,0,to_copy,MABuffer);
   Print("Таймер");
  }
//+------------------------------------------------------------------+
Reason: