![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я нашел хорошую скальпинг систему и шаблон, но после установки этой системы она работает так медленно. Может кто-то сможет посмотреть и определить, что может быть причиной.
Шаблон и индикаторы:
1m_alf_scalp.zipПохоже, что проблема в индикаторе цвета свечи(IT_Candles). Кто-нибудь понимает, что не так с этим кодом, что MT4 работает медленно?
//+------------------------------------------------------------------+
#property indicator_chart_window
#include
#property indicator_buffers 2
extern color UpColor = LimeGreen;
extern color DnColor = Red;
extern int Width = 5;
extern double alpha = 0.09;
double ev=EMPTY_VALUE,Trend,Trigger,ALF;
double Up[];
double Dn[];
int init()
{
IndicatorBuffers(2);
SetIndexStyle(0,DRAW_HISTOGRAM,0,Width,UpColor);
SetIndexBuffer(0,Up);
SetIndexStyle(1,DRAW_HISTOGRAM,0,Width,DnColor);
SetIndexBuffer(1,Dn);
return(0);
}
int deinit()
{
return(0);
}
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1); //---- check for possible errors
if(counted_bars>0) counted_bars--; //---- last counted bar will be recounted
int limit = Bars-counted_bars;
for (int i=limit;i>=0;i--)
{
Up = ev;
Dn = ev;
Trend = iCustom(NULL,0,"Instant_Trendline",alpha,0,i);
Trigger = iCustom(NULL,0,"Instant_Trendline",alpha,1,i);
ALF = iCustom(NULL,0,"ALF",0,i+1);
if (Trigger > Trend && Close > Open && Close > ALF)
{
Up = MathMax(Open,Close);
Dn = MathMin(Open,Close);
}
if (Trigger < Trend && Close < Open && Close < ALF)
{
Dn = MathMax(Open,Close);
Up = MathMin(Open,Close);
}
}
}
Похоже, что проблема в индикаторе цвета свечи(IT_Candles). Кто-нибудь понимает, что не так с этим кодом, что MT4 работает медленно?
//+------------------------------------------------------------------+
#property indicator_chart_window
#include
#property indicator_buffers 2
extern color UpColor = LimeGreen;
extern color DnColor = Red;
extern int Width = 5;
extern double alpha = 0.09;
double ev=EMPTY_VALUE,Trend,Trigger,ALF;
double Up[];
double Dn[];
int init()
{
IndicatorBuffers(2);
SetIndexStyle(0,DRAW_HISTOGRAM,0,Width,UpColor);
SetIndexBuffer(0,Up);
SetIndexStyle(1,DRAW_HISTOGRAM,0,Width,DnColor);
SetIndexBuffer(1,Dn);
return(0);
}
int deinit()
{
return(0);
}
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1); //---- check for possible errors
if(counted_bars>0) counted_bars--; //---- last counted bar will be recounted
int limit = Bars-counted_bars;
for (int i=limit;i>=0;i--)
{
Up = ev;
Dn = ev;
Trend = iCustom(NULL,0,"Instant_Trendline",alpha,0,i);
Trigger = iCustom(NULL,0,"Instant_Trendline",alpha,1,i);
ALF = iCustom(NULL,0,"ALF",0,i+1);
if (Trigger > Trend && Close > Open && Close > ALF)
{
Up = MathMax(Open,Close);
Dn = MathMin(Open,Close);
}
if (Trigger < Trend && Close < Open && Close < ALF)
{
Dn = MathMax(Open,Close);
Up = MathMin(Open,Close);
}
}
}
triip
Проверьте, есть ли у вас в папке indicators индикаторы "Instant_Trendline" и "ALF" (оба необходимы для правильной работы индикатора). Если их нет, извлеките файлы ex4 из этого zip архива и индикатор будет работать нормально (если их там нет, он будет работать очень медленно).
triip Проверьте, есть ли у вас индикаторы "Instant_Trendline" и "ALF" в папке indicators (оба необходимы для правильной работы этого индикатора). Если у вас их нет, извлеките файлы ex4 из этого zip архива и индикатор будет работать нормально (если у вас их нет, он будет работать очень медленно).
Да, я поставил на график и другие индикаторы, но как только я добавляю IT_Candles, MT4 тормозит, особенно тормозит переключение таймфреймов...
Да, я поставил на график и другие индикаторы, но как только я добавляю IT_Candles, MT4 тормозит, особенно тормозит переключение таймфреймов...
triip
Они не обязательно должны быть на графике. Но они должны существовать (именно с такими именами) в папке indicators. Самый простой способ проверить - перейти на вкладку experts в терминале и посмотреть, нет ли там какой-нибудь ошибки (как на картинке).
triip Они не обязательно должны быть на графике. Но они должны существовать (именно под такими именами) в папке indicators. Самый простой способ проверить - перейти на вкладку experts терминала и посмотреть, есть ли там какая-нибудь ошибка (как на картинке).
Ошибок нет.
Но я заметил, что ALF.ex4 не сильно тормозит, а ALF-MTF.ex4 тормозит полностью. У меня есть подпапка в папке indicators, где хранятся все эти упомянутые индикаторы. Может мне стоит переустановить чистый МТ4?
Ошибок там нет.
Но я заметил, что ALF.ex4 не сильно тормозит, а ALF-MTF.ex4 тормозит полностью. У меня есть подпапка в папке indicators, где хранятся все эти упомянутые индикаторы. Может мне стоит переустановить чистый MT4?
Переместить их из подпапки в основную папку indicators и попробовать.
Переместите их из подпапки в основную папку индикаторов и попробуйте.
Намного лучше, работает как шарм
Спасибо mladen!!!
Привет,
У меня всегда возникают проблемы с написанием текстовых объектов поверх баров на моем графике.
Например
ObjectCreate ("Xh", OBJ_TEXT,0,Time[0],High[0]+1*pips2dbl);
ObjectSetText("Xh","1",10,"Tahoma",Orange);
ObjectCreate ("X", OBJ_TEXT,0,Time[0],Low[0]-1*pips2dbl);
ObjectSetText("Xl","1",10,"Tahoma",Orange);
Это работает нормально с текстовыми объектами под моими барами, потому что мой объект шрифта закреплен "на голове" моего текста.
Но если я хочу написать текст над баром, то я не знаю, сколько пунктов занимает мой текст с размером шрифта 10, поэтому он записывается в бары.
Есть также проблема, когда я пишу текст на больших таймфреймах, например, "H1", "D1" или "W1", потому что там я должен изменить расстояние шрифта на высокое или низкое значение.
Я знаю, что могу повернуть текст на 90°, но я не хочу этого делать.
Так знаете ли вы решение этой проблемы?Для начала попробуйте использовать ATR вместо 1*pips2dbl (так он будет подстраиваться под разные таймфреймы и символы).
Также попробуйте настроить точку привязки (OBJPROP_ANCHOR) текста на ANCHOR_LOWER для текстового объекта, который отображается над максимумом.
Регулируемыми частями должны быть размер лота и баланс счета, к которому применяется лот. Например, параметры могут быть такими: A = 0.01, B = $5000, или: A = 1.00, B = $10000.
В этом случае необходимо иметь несколько значений параметров, используемых для сравнения.
Вы можете определить параметры следующим образом: extern double accountBalanceA = 5000; и затем использовать эти параметры для сравнения в том коде, который делал то же самое без параметров.
jbozman
индикатор macd не нуждается в изменении (он будет рассчитывать только 1 или 2 бара в 99.99% случаев).
Индикатор hilo ищет значения очень сложным способом. Лучше использовать какой-нибудь другой индикатор, который выполняет эту задачу гораздо более простым способом (нет необходимости делать его таким сложным).Привет, Младен. Я искал и не смог найти high/low, который имел бы предыдущий день, неделю и месяц в одном, который рисует простые отрезки линий и не делает беспорядок на графике.
Я знаю, что вы сказали попробовать найти другой, но я действительно искал и не смог. Я также разместил запрос на форуме mql4. Но ответа не получил.
Проще говоря, я готов заплатить кому-то (вам) за модификацию этого индикатора.
Я хотел бы добавить "Количество дней", так как этот индикатор строит графики за каждый предыдущий день. На EUR/USD и GBP/USD история моих графиков начинается с 1996 года или даже больше, поэтому он занимает слишком много памяти со всеми этими линиями.
Если вы не нанимаетесь на работу (может быть, кто-то другой согласится?), не слишком ли сложно просто добавить "Количество дней" к текущему графику? Я могу продолжать использовать его, пока не найду другой или не найду кого-то, кто изменит его. Если эта просьба отнимает много времени, я полностью понимаю и благодарю вас за помощь во всем.
jbozman