Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
MQL4 Добавление индикатора на график из советника
Алена Верлейен, 2016.02.13 11:39
Привет всем
Приведенный выше код работает в эксперте, как мне использовать приведенные выше коды в индикаторе?
пожалуйста, помогите.
Возможно ли в MT4 удалить индикатор с графика с помощью советника? Можно ли написать некоторый код в функции OnDenit().
Удаляет индикатор с указанным именем из указанного окна графика. Команда добавляется в очередь сообщений графика и выполняется только после обработки всех предыдущих команд.
boolChartIndicatorDelete(
longchart_id,// идентификатор графика
intsub_window,// номер подокна
const stringindicator_shortname// краткое название индикатора
);
Параметры
chart_id
[in] Идентификатор графика. 0 обозначает текущий график.
подокно
[in] Номер подокна графика. 0 обозначает подокно основного графика.
const indicator_shortname
[in] Краткое имя индикатора, которое задается всвойстве INDICATOR_SHORTNAME функциейIndicatorSetString()*. Для получения короткого имени индикатора используйте функциюChartIndicatorName()-.
Возвращаемое значение
Возвращает true, если команда была добавлена в очередь графиков, иначе false. Для полученияинформации об ошибке используйте функциюGetLastError().
Всем привет!
Я хотел бы поблагодарить Георгия Лященко, и поделиться своей обновленной версией его кода, который добавляет индикатор прямо на график сAutomaticallyAcceptDefaults (когда он установлен на "true").
Надеюсь, это поможет некоторым людям, которым нужно вставлять индикаторы из эксперта.
Примечание: Я работаю для пользовательских индикаторов, в противном случае измените название окна.
Примечание2: Не используйте индикаторы с более чем 15 символами (до ".ex4").
Здравствуйте, у меня следующее
Невозможно вызвать 'user32.dll::RegisterWindowMessageW', 'user32.dll' не загружен
Может ли кто-нибудь помочь мне?
У меня нет этой проблемы (с кодом, который я разместил).
Проверьте, что значение hWnd отлично от 0.
Вы также можете попробовать увеличить значение sleep до 50 или 100.
Уважаемая Алена,
Я использовал ваш код для добавления одного индикатора на все открытые графики. но он добавляется только на тот график, на котором я запускаю советника.
Вот код, не могли бы вы изменить ваш код, чтобы добавить тот же индикатор на все открытые графики?
пожалуйста, помогите
BTW (я пробовал его как советник и как скрипт, оба добавили индикатор только на один график) :)
рекомендую,
#import "user32.dll"
int RegisterWindowMessageW(string MessageName);
int PostMessageW(int hwnd,int msg,int wparam,uchar &Name[]);
#import
#define INDICATOR_NAME "CCI_FILTER6C"
int NOS ;
string suffix="";
string symbol[30];
long chartid[30];
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int OnStart()
{
NOS=10;
suffix="c";
символ[0] = "AUDCAD" + суффикс ;
символ[1] = "AUDCHF" + суффикс ;
символ[2] = "AUDJPY" + суффикс;
символ[3] = "AUDNZD" + суффикс;
символ[4] = "AUDUSD" + суффикс ;
символ[5] = "CADJPY" + суффикс ;
символ[6] = "CHFJPY" + суффикс;
символ[7] = "EURAUD" + суффикс ;
символ[8] = "EURCAD" + суффикс ;
символ[9] = "EURCHF" + суффикс;
for(int is=0;is<NOS;is++)
{
int hWnd=WindowHandle(symbol[is],PERIOD_M30);
StartCustomIndicator(hWnd,INDICATOR_NAME);
}
return(0);
}
void StartCustomIndicator(int hWnd,string IndicatorName,bool AutomaticallyAcceptDefaults=true)
{
uchar name2[];
StringToCharArray(IndicatorName,name2,0,StringLen(IndicatorName));
int MessageNumber=RegisterWindowMessageW("MetaTrader4_Internal_Message");
int r=PostMessageW(hWnd,MessageNumber,15,name2);
Sleep(100);
}
Здравствуйте, у меня не получается загрузить 2 индикатора из одного советника, используя один и тот же код.
тоже ищу это - кто-нибудь разобрался, как добавить несколько индикаторов из одного советника?
я хочу добавить 2https://docs.mql4.com/indicators/ima из одного советника.
спасибо