
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
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).
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!!!
May I ask what the topic of the article will be?
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!
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!
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!
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("Таймер");
}
//+------------------------------------------------------------------+