Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хотя вы опубликовали TMA_Extreme_line_indicator некоторое время назад, я только что обнаружил его... И он мне нравится!!!
Я пытаюсь использовать его для автоматизации некоторых операций, используя iCustom для заполнения массива и получения значений средней линии в некоторые переменные.
Однако, я не могу получить значения средней линии в режиме "redraw INPUT_YES". Я могу получить значения только в режиме "redraw INPUT_NO", даже когда я представляю индикатор в INPUT_YES.
Вот код, который я использую:
enum ENUM_INPUT_YES_NO
{
INPUT_YES = 1, // Yes
INPUT_NO = 0 // No
};
input TMAPeriods = 20
input TMA_ATRPeriods = 20
input TMA_ATRWidth = 3
input ENUM_INPUT_YES_NO InpRedraw = INPUT_YES; // Redraw
double TMA[];
int TMAControlPanel;
double TMA_1, TMA_2, TMA_3;
int OnInit()
{
ArraySetAsSeries(SlowTMADATA,true);
TMAControlPanel = iCustom(_Symbol, PERIOD_CURRENT, "TMA_Extreme_line_indicator", TMAPeriods, TMA_ATRPeriods, TMA_ATRWidth, INPUT_YES);
}
void OnDeinit(const int reason)
{
IndicatorRelease(TMAControlPanel);
}
void OnTick()
{
CopyBuffer(TMAControlPanel, 0, 0, 5, TMADATA);
TMA_1 = NormalizeDouble(TMADATA[1],6);
TMA_2 = NormalizeDouble(TMADATA[2],6);
TMA_3 = NormalizeDouble(TMADATA[3],6);
}
Будьте добры, сообщите мне, если я что-то упускаю в коде, чтобы получить возможность заполнить переменные TMA_1, TMA_2 и TMA_3 значениями "redraw INPUT_YES"?
Или можно ли переписать индикатор так, чтобы эти значения стали доступны?
Большое спасибо.
}
void OnTick()
{
CopyBuffer(TMAControlPanel, 0, 0, 5, TMADATA);
TMA_1 = NormalizeDouble(TMADATA[1],6);
TMA_2 = NormalizeDouble(TMADATA[2],6);
TMA_3 = NormalizeDouble(TMADATA[3],6);
}
Будьте добры, сообщите мне, если я что-то упускаю в коде, чтобы получить возможность заполнить переменные TMA_1, TMA_2 и TMA_3 значениями "redraw INPUT_YES"?
Или можно ли переписать индикатор так, чтобы эти значения стали доступны?
Большое спасибо.
При использовании этого индикатора с Redraw, установленным на YES, он прекрасно рисует линии. Но я пишу советника, и CopyBuffer() всегда возвращает значения, как если бы он был установлен на Redraw NO.
Кто-нибудь еще сталкивался с этой проблемой?
Будьте здоровы, Пит
INPUT_YES = 1, // Да
INPUT_NO = 0 // Нет
Долго смотрел на этот красивый канальный индикатор. Аж загляденье, как он канал определяет. Глянул код - упс. Индикатор считается на только на исторических данных, но если есть возможность смотрит вперёд на размер TMA. Мда, вот это ход :))