![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Привет всем...
кто-нибудь может показать мне, как начать кодировать индикаторы и советников?
Привет всем... кто-нибудь может показать мне, как начать кодировать индикаторы и советники?
Привет,
Смотрите здесь: https://www.mql5.com/en/forum/172969/page2
Привет всем... кто-нибудь может показать мне, как начать кодировать индикаторы и советники?
Прочитайте эту тему (первое сообщение): https://www.mql5.com/en/forum/178706
и эту тему: https://www.mql5.com/en/forum/173290
Привет всем... кто-нибудь может показать мне, как начать кодировать индикаторы и советников?
Есть много информации как здесь, так и на FF. Вы также можете воспользоваться поиском в Google.
Для простого введения в программирование EA посмотрите ссылку в моем sig. Это хорошее место для начинающего программиста.
Удачи!
Lux
Индикатор к советнику
Привет всем,
Я хотел бы попросить помощи у всех, кто может сделать советника из прилагаемого индикатора Waddah Attar Explosion.
С нетерпением жду ответа.
Спасибо.
-s-
ea universal Ma 2 cross
Привет, друзья!
Я ищу, чтобы модифицировать ea этого Fireave's (с этого форума).
ea называется "universal ma cross ea".
Я хочу создать ea, которая будет входить на 2 подтвержденных креста (например, пара ema 2 & 4 и другая пара ema 5 & 20).
вот основной код, что я должен сделать?
if(ConfirmedOnEntry==true)
{
if(CheckTime==iTime(NULL,TimeFrame,0)) return(0); else CheckTime = iTime(NULL,TimeFrame,0);
FastMACurrent = iMA(NULL,TimeFrame,FastMAPeriod,FastMAshift,FastMAType,FastMAPrice,1);
SlowMACurrent = iMA(NULL,TimeFrame,SlowMAPeriod,SlowMAshift,SlowMAType,SlowMAPrice,1);
}
else
{
FastMACurrent = iMA(NULL,TimeFrame,FastMAPeriod,FastMAshift,FastMAType,FastMAPrice,0);
SlowMACurrent = iMA(NULL,TimeFrame,SlowMAPeriod,SlowMAshift,SlowMAType,SlowMAPrice,0);
}
CrossDirection = subCrossDirection(FastMACurrent,SlowMACurrent);Я перепробовал все, но не нашел решения... пожалуйста, помогите мне ради здоровья этого сообщества
, мне нужно что-то похожее на это:
if(ConfirmedOnEntry==true)
{
if(CheckTime==iTime(NULL,TimeFrame,0)) return(0); else CheckTime = iTime(NULL,TimeFrame,0);
FastMACurrent = iMA(NULL,TimeFrame,2,FastMAshift,FastMAType,FastMAPrice,1);
SlowMACurrent = iMA(NULL,TimeFrame,4,SlowMAshift,SlowMAType,SlowMAPrice,1);
FastMACurrent2 = iMA(NULL,TimeFrame,5,FastMAshift,FastMAType,FastMAPrice,1);
SlowMACurrent2 = iMA(NULL,TimeFrame,20,SlowMAshift,SlowMAType,SlowMAPrice,1);
}
else
{
FastMACurrent = iMA(NULL,TimeFrame,2,FastMAshift,FastMAType,FastMAPrice,0);
SlowMACurrent = iMA(NULL,TimeFrame,4,SlowMAshift,SlowMAType,SlowMAPrice,0);
FastMACurrent2 = iMA(NULL,TimeFrame,5,FastMAshift,FastMAType,FastMAPrice,0);
SlowMACurrent2 = iMA(NULL,TimeFrame,20,SlowMAshift,SlowMAType,SlowMAPrice,0);
}
CrossDirection = subCrossDirection(FastMACurrent,SlowMACurrent && FastMACurrent2,SlowMACurrent2);Что не так с моим индикатором? Сообщение об ошибке
Здравствуйте,
Вот код из моего индикатора:
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LightSeaGreen
#property indicator_color2 Blue
extern string Timeframe_Momentum = "PERIOD_H1";
extern int Periode_Momentum = 500;
extern int Periode_MA_Momentum = 8;
double Buffer_Mom[];
double Buffer_Ma[];
int init()
{
//---- индикаторы
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(0,Buffer_Mom);
SetIndexBuffer(1,Buffer_Ma);
//----
SetIndexEmptyValue(0,0.0);
SetIndexEmptyValue(1,0.0);
SetIndexDrawBegin(0,100);
SetIndexDrawBegin(1,100);
//----
return(0);
}
int deinit()
{
//----
return(0);
}
void start()
{
int counted_bars=IndicatorCounted();
int limit=Считанные_бары;
if(counted_bars>0) limit++;
//----
for(int i=0; i<limit; i++)
{
Buffer_Mom=iMomentum(NULL,Timeframe_Momentum,Periode_Momentum,PRICE_CLOSE,i);
Buffer_Ma=iMAOnArray(Buffer_Mom,0,Periode_MA_Momentum,0,MODE_SMA,i);
}
return(0);
}
Вот код, который я использую в основной программе:
double GMI1 = iCustom(NULL,0, "GMI",Timeframe_Momentum,Periode_Momentum,Periode_MA_Momentum, 0,1);
double GMI2 = iCustom(NULL,0, "GMI",Timeframe_Momentum,Periode_Momentum,Periode_MA_Momentum, 1,2);
Теперь мои проблемы:
Я получаю следующее сообщение об ошибке: EURUSD,M5: invalid integer number as parameter 2 for Indicator call function
И на моем графике нет Buffer_Ma! Что не так с моим кодом?!
Здравствуйте
Как вычислить стандартное отклонение между Open и High предыдущего бара?
Любая помощь была бы очень кстати.
Спасибо
Бено
PERIOD_H1 является интергерентным макросом, попробуйте изменить эту строку на
extern int TimeFrame_Momentum = PERIOD_H1;
или просто замените PERIOD_H1 на 60 и попробуйте так.
Привет,
вот код из моего индикатора:
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LightSeaGreen
#property indicator_color2 Blue
extern string Timeframe_Momentum = "PERIOD_H1";
extern int Periode_Momentum = 500;
extern int Periode_MA_Momentum = 8;
double Buffer_Mom[];
double Buffer_Ma[];
int init()
{
//---- индикаторы
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(0,Buffer_Mom);
SetIndexBuffer(1,Buffer_Ma);
//----
SetIndexEmptyValue(0,0.0);
SetIndexEmptyValue(1,0.0);
SetIndexDrawBegin(0,100);
SetIndexDrawBegin(1,100);
//----
return(0);
}
int deinit()
{
//----
return(0);
}
void start()
{
int counted_bars=IndicatorCounted();
int limit=Считанные_бары;
if(counted_bars>0) limit++;
//----
for(int i=0; i<limit; i++)
{
Buffer_Mom=iMomentum(NULL,Timeframe_Momentum,Periode_Momentum,PRICE_CLOSE,i);
Buffer_Ma=iMAOnArray(Buffer_Mom,0,Periode_MA_Momentum,0,MODE_SMA,i);
}
return(0);
}
Вот код, который я использую в основной программе:
double GMI1 = iCustom(NULL,0, "GMI",Timeframe_Momentum,Periode_Momentum,Periode_MA_Momentum, 0,1);
double GMI2 = iCustom(NULL,0, "GMI",Timeframe_Momentum,Periode_Momentum,Periode_MA_Momentum, 1,2);
Теперь мои проблемы:
Я получаю следующее сообщение об ошибке: EURUSD,M5: invalid integer number as parameter 2 for Indicator call function
И на моем графике нет Buffer_Ma! Что не так с моим кодом?!