Как получить цвет из массива ? INDICATOR_COLOR_INDEX
Собственно вопрос как получить эти цвета
#property indicator_color1 clrBlue, clrRed
Не индексы а именно цвета, что бы использовать в графических обьектах ?
Если это в одном индикаторе, то это не составляет никакого труда. В документации есть пример иного задания цвета. С созданием своего массива цветов.
- www.mql5.com
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Как в индикаторе узнать текущий цвет индикаторной линии?
fxsaber, 2016.08.31 23:35
#property strict #property indicator_chart_window #property indicator_buffers 2 #define PATH "MQL4\\indicators\\" string GetIndicatorName( void ) { const string StrName = ::MQLInfoString(MQL_PROGRAM_PATH); const int Pos = ::StringFind(StrName, PATH) + ::StringLen(PATH); return(::StringSubstr(StrName, Pos, ::StringLen(StrName) - Pos - 4)); } void SeekToString( const int handle, const string Str ) { while (!::FileIsEnding(handle)) if (::FileReadString(handle) == Str) break; return; } struct BUFFER_STRUCT { int Shift; int Type; color Color; ENUM_LINE_STYLE Style; int Width; }; #define STRUCT_DEFINE(A,B) struct A##2 { B Data[sizeof(A) / sizeof(B)]; } const BUFFER_STRUCT GetBufferProperties( const uint Num = 0, const bool FlagSave = true ) { STRUCT_DEFINE(BUFFER_STRUCT, int) Res = {0}; const string FileName = ::WindowExpertName() + ".tpl"; if (FlagSave ? ::ChartSaveTemplate(0, "..\\MQL4\\Files\\" + FileName) : true) { const int handle = ::FileOpen(FileName, ::FILE_READ|::FILE_CSV); if (handle > 0) { ::SeekToString(handle, "name=" + ::GetIndicatorName()); if (Num == 0) ::SeekToString(handle, "</expert>"); else { const string TmpStr = "weight_" + (string)(Num - 1); while (!::FileIsEnding(handle)) if (::StringFind(::FileReadString(handle), TmpStr) == 0) break; } if (!::FileIsEnding(handle)) { static const string Property[] = {"shift", "draw", "color", "style", "weight"}; const string StrNum = "_" + (string)Num + "="; for (int i = 0; i < ::ArraySize(Property); i++) Res.Data[i] = (int)::StringToInteger(::StringSubstr(::FileReadString(handle), ::StringLen(Property[i] + StrNum))); } ::FileClose(handle); } } return((BUFFER_STRUCT)Res); } void OnInit() { string Str = "Colors:"; for (int i = 0; i < indicator_buffers; i++) Str += " " + (string)i + "-" + (string)::GetBufferProperties(i).Color; Alert(Str); } void start() { }
Если это в одном индикаторе, то это не составляет никакого труда. В документации есть пример иного задания цвета. С созданием своего массива цветов.
Благодарю, получилось ...
Если это в одном индикаторе, то это не составляет никакого труда. В документации есть пример иного задания цвета. С созданием своего массива цветов.
Есть новая проблема, при смене таймфрейма цвета индикатора устанавливаются из настроек....
То есть по умолчанию стоят Крассный и Синий меняем на любые другие цвета применяем все отлично, но как только меняем период графика цвета слетают на те что по умолчанию...
Скорее всего это баг...Есть новая проблема, при смене таймфрейма цвета индикатора устанавливаются из настроек....
То есть по умолчанию стоят Крассный и Синий меняем на любые другие цвета применяем все отлично, но как только меняем период графика цвета слетают на те что по умолчанию...
Скорее всего это баг...Откуда эти красный синий? Давайте полный код для понимания.
Откуда эти красный синий? Давайте полный код для понимания.
Вот тема с описание бага и с кодом из справки https://www.mql5.com/ru/forum/278253
- 2018.09.09
- www.mql5.com
Вот тема с описание бага и с кодом из справки https://www.mql5.com/ru/forum/278253
У меня почему-то нет желания, да и возможности сейчас скомпилировать указанный код и экспериментировать.
Давайте на словах с картинками...
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Как получить цвет из массива ? INDICATOR_COLOR_INDEX
Собственно вопрос как получить эти цвета
#property indicator_color1 clrBlue, clrRed
Не индексы а именно цвета, что бы использовать в графических обьектах ?