[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 198
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Посмотрите здесь .
Большое спасибо SK, Vinin!
прекрасный пример для workaraund.
наверное, стоило труда так изощриться. :-)
Похоже, в MQL4 знают как "хорошо" засадить время програмиста. :-)
Посмотрите здесь .
Спасибо, очень полезная статья.
Большое спасибо SK, Vinin!
Спасибо, очень полезная статья.
Если Вас интересует эта тема, то посмотрите ещё эту статью http://www.forextrade.ru/mqlabs/sozdaniie-indikatora-kaghi
Там рассматривается масса подробностей для горизонт. линий, показано техн. решение (чередование).
Вертикальные тоже получились. Но некоторые правила их построения я так и не смог постичь. Например, достаточно поменять чётность инд. буферов, как изображение кочевряжится (блок 4-5, поменять номера буф с 6 и 7 на 5 и 6, а 5й сделать 7м).
Каков порядок выполнения индикаторов и экспертов?
У меня на одном графике 2 индикатора.
Причем в совокупности время их выполнения иногда значительно превышает время между тиками.
Какой индикатор выполняется первым?
Если они работают не параллельно, то возможно есть смысл разместить их на разных графиках, если конечно на разных графиках нет очередности выполнения.
Что выполняется раньше индикатор или эксперт, если они на одном графике, и если они на разных графиках?
x[i]=(Open[i]-Close[i]);
MomBuffer[i]=x[i];
Не работает.:(
Подскажите пожалуйста, что сделать. Сломал голову уже.
x[i]=(Open[i]-Close[i]);
MomBuffer[i]=x[i];
Не работает.:(
Подскажите пожалуйста, что сделать. Сломал голову уже.
Что делать? Показать весь код!
Что делать? Показать весь код!
//+------------------------------------------------------------------+
//| Momentum.mq4 |
//| Copyright © 2004, MetaQuotes Software Corp. |
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net/"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
//---- input parameters
extern int MomPeriod=14;
int ret;
double x[];
//---- buffers
double MomBuffer[];
double ocfor[];
double octen[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,MomBuffer);
//---- name for DataWindow and indicator subwindow label
short_name="Mom("+MomPeriod+")";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name);
//----
SetIndexDrawBegin(0,MomPeriod);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Momentum |
//+------------------------------------------------------------------+
int start()
{
int i,counted_bars=IndicatorCounted();
//----
if(Bars<=MomPeriod) return(0);
//----
i=Bars;
while(i>=0)
{
x[i]=(Open[i]-Close[i]);
MomBuffer[i]=x[i];
i--;
}
return(0);
}
//+------------------------------------------------------------------+
Если заменить Double x[]; на Double x; то всё рабоет но смысл имено в том что бы присвоить mombuffer[i]= x[i]
.
.
int start()
{
int i,counted_bars=IndicatorCounted();
//----
if(Bars<=MomPeriod) return(0);
//----
i=Bars;
ArrayResize(x, i+1);
while(i>=0)
{
x[i]=(Open[i]-Close[i]);
MomBuffer[i]=x[i];
i--;
}
return(0);
}
Если заменить Double x[]; на Double x; то всё рабоет но смысл имено в том что бы присвоить mombuffer[i]= x[i]
Вы объявили массив, но не выделили память под него.
Vinin дал один вариант выделения памяти, Можете использовать второй, через фунцию ArrayResize()