Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Каким образом распределять тиковый объем по свечке , свеча имеет размах и иногда большой
Не сильно разбираюсь в деталях, но думаю сойдет такой вариант
Допустим минутная свечка имеет размах HL=100п и какое то количество единиц тикового обьема
если возьмем в теории что каждая из них разнонаправленная со случайным порядком то получим к примеру 5 минутную свечку и там уже будут видны распределения по цене с единицей измерения
HL_0бар/тиковый обьем HL_1бар/тиковый обьем HL2бар/тиковый обьем и т д
то есть мы уже оперируем единицей измерения "величина свечи\тиковый объем" . По сути и линия будет отражать величину данного показателя по отношению к другим таким же по вертикали. И уже можно такое использовать на графиках от м5
также и с 15 минутной свечой, состоящей из 15 минутных свеч
понятно что текущее определение не совсем то что хотелоcь изначально, но я сейчас смотрел документацию - там нигде нет истории тиковых графиков, поэтому минимальный свеча- минутка.
добрый день.Мне нужен стандартный RSI с алертом. Можно ли реализовать такую идею для комфортного отслеживания сигналов. Пока натыкался либо на кучу мусора привязанного к RSI либо алерт по факту закрытия свечи (а поезд ушел...)
звуковой сигнал с сообщением должен приходить с указанием пары, на которой происходит событие.
сигнал приходит единожды за время формирования свечи на выбранном тайм фрейме при пересечении верхнего или нижнего уровня соответственно только при пересечении вверх или вниз и именно в момент пересечения уровня, а не по закрытию свечи.
Желательно сделать еще по одному уровню, в момент пересечения которого также происходит единоразовый сигнал.
пример.
на тайм фрейме 5м евро доллар цена идет вниз. в какой то момент, коснувшись уровня RSI 30 (например на 80 секунде свечи) звучит алерт и выходит сообщение, что во столько то времени на паре евор доллар есть предварительный сигнал на покупку.
если за оставшееся время формирования свечи RSI коснется следующего уровня (например 20) звучит алерт и выходит сообщение, что во столько то времени на паре евор доллар есть повторный сигнал на покупку.
Желательно,чтобы в сообщении как то было видно, что сигнал предварительный или уже конкретный (то есть повторный)
чтоб его переписать надо чтобы все включаемые индикаторы тоже были под mql5
B Извините за задержку с ответом, но мне ОЧЕНЬ нужна ваша помощь. Дело в том что я пишу статью и модератор попросил переписать все коды прикреплённых файлов на mql5. Файлов много но они одинаковые, поэтому необходимо переписать только два, остальное я размножу уже на другие файлы.
Был бы очень признателен если бы вы не откладывали бы это в долгий ящик, потому как публикация статьи задерживается именно из за этого. Я в свою очередь обещаю ознакомить вас со своим трактатом. Ещё раз спасибо!
1. Итак что нужно сделать. В индикаторе TDSEQUENTA_by_nikelodeon.mq5 я добавил ещё один буфер, который отвечает за передачу сигнала, где 1 это покупка, а -1 это продажа, тут думаю ошибок не должно быть. Но нужно добавить ещё один буфер, где при формировании синей или красной точки, то есть самого сигнала, записывалось бы в этот буфер количество зелёных точек каждого сигнала. Я уже добавил буфер под номером 7, осталось только организовать в него запись.
2. Индикатор eVOLution-dvoid.1.3 (1).mq5 нужно полностью переписать для MQL5 этот индикатор берёт данные из файлов которые лежат в папке \Files\evolution-dvoid\dvoid-BP.csv. Используется именно csv разрешение, но поскольку форум не поддерживает этот формат выкладываю его в формате txt. После скачивания его необходимо положить в указанную папку и переименовать расширение на csv. И уже с этим файлом должен работать наш индюк.
3. Индикатор BuyVOLDOWNOPNDOWN.mq5 нужно переписать на MQL5 показать как организовывается вызов других индикаторов на примере eVOLution-dvoid.1.3 (1).mq5, он ведь там вызывается.
Что касается файлов семейства Cluster_X, то я поробую их скачать для МТ5, там и посмотрим, как их прикрутить. Но главное сейчас решить вопрос с указанными выше индикаторами. Спасибо Большое!!!
Разрешите поинтересоваться, статья на какую тему будет?
Здравствуйте Yurij Izyumov! Ходя по форумам и задавая этот вопрос, так внятного ответа и не получил... каждый предлагал свое решение но только на словах и не подтверждая это делом, что это будет работать. Хотелось бы увидеть практическую реализацию данного вопроса. А вопрос следующий..
Есть индикатора из СodeBase https://www.mql5.com/ru/docs/series/copybuffer
Проблема в том что при смене таймфрейма во входных параметрах индикатора происходит задержка расчета индикатора до появления нового тика, а это на различных инструментах может достигать до нескольких часов, что мягко говоря не очень удобно.
Есть ли у Вас возможность реализовать данный пробел? Спасибо!
Здравствуйте Yurij Izyumov! Ходя по форумам и задавая этот вопрос, так внятного ответа и не получил... каждый предлагал свое решение но только на словах и не подтверждая это делом, что это будет работать. Хотелось бы увидеть практическую реализацию данного вопроса. А вопрос следующий..
Есть индикатора из СodeBase https://www.mql5.com/ru/docs/series/copybuffer
Проблема в том что при смене таймфрейма во входных параметрах индикатора происходит задержка расчета индикатора до появления нового тика, а это на различных инструментах может достигать до нескольких часов, что мягко говоря не очень удобно.
Есть ли у Вас возможность реализовать данный пробел? Спасибо!
Здравствуйте. Возможно ли сделать стрелку по этим индикаторам?Шаблон и скрины сделок в папке.Извините что так добави инд. не дает папку загрузить
ДЕКОМПИЛЯЦИЯ ЗАПРЕЩЕНА! АРХИВ УДАЛЁН!
Можно принудительно вызвать OnCalculate() нажав кнопку обновить. Также можно все расчеты проводить в OnTimer() или OnBookEvent().
Реализовал при помощи OnTimer() и ничего с этого не получилось. К сожалению при событии onTimer() индикатор не расчитывается и задержка сохраняется, может громкое заявление и я что то сделал не так, поправьте. Спасибо!
//| 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("Таймер");
}
//+------------------------------------------------------------------+