Можно ли как-то в эксперте достать значения индикаторов с другого
таймфрейма? Спасибо=)
Itchy:
Можно ли как-то в эксперте достать значения индикаторов с другого таймфрейма? Спасибо=)
В редакторе MetaEditor <меню Вид - Навигатор - Словарь - Технические
индикаторы >Можно ли как-то в эксперте достать значения индикаторов с другого таймфрейма? Спасибо=)
double iMA( string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift)
Расчет скользящего среднего.
Параметры:
symbol - Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe - Период. Может быть одним из периодов графика. 0 означает период текущего графика.
period - Период усреднения для вычисления скользящего среднего.
ma_shift - Сдвиг индикатора относительно ценового графика.
ma_method - Метод усреднения. Может быть любым из значений методов скользящего среднего (Moving Average).
applied_price - Используемая цена. Может быть любой из ценовых констант.
shift - Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).
Все нормально печатает.
Не забудьте, что запрашиваемые таймфреймы должны быть загружены в терминал.
Если какого-то таймфрейма еще нет, то ноль, умноженный на другое число, даст ноль.
Не забудьте, что запрашиваемые таймфреймы должны быть загружены в терминал.
Если какого-то таймфрейма еще нет, то ноль, умноженный на другое число, даст ноль.
Itchy:
ну тогда почему код
int start()
{
double ma1=iMA(NULL,PERIOD_M1,14,0,MODE_SMA,PRICE_CLOSE,0);
double ma2=iMA(NULL,PERIOD_M5,14,0,MODE_SMA,PRICE_CLOSE,0);
Print(ma1*ma2);
}
Печатает только 0?
Обязательно нужна подкачка исторических данных. Посмотрите
пример:ну тогда почему код
int start()
{
double ma1=iMA(NULL,PERIOD_M1,14,0,MODE_SMA,PRICE_CLOSE,0);
double ma2=iMA(NULL,PERIOD_M5,14,0,MODE_SMA,PRICE_CLOSE,0);
Print(ma1*ma2);
}
Печатает только 0?
int start() { double ma1 = iMA(NULL, PERIOD_M1, 14, 0, MODE_SMA, PRICE_CLOSE, 0); if(GetLastError() == 4066) { double Lastma1 = ma1; for( int k = 0; k < 5; k++) { Sleep(1000); ma1 = iMA(NULL, PERIOD_M1, 14, 0, MODE_SMA, PRICE_CLOSE, 0); if(Lastma1 == ma1 && GetLastError() == 0) break; Lastma1 = ma1; } } double ma2=iMA(NULL,PERIOD_M5,14,0,MODE_SMA,PRICE_CLOSE,0); if(GetLastError() == 4066) { double Lastma2 = ma2; for( k = 0; k < 5; k++) { Sleep(1000); ma2 = iMA(NULL, PERIOD_M5, 14, 0, MODE_SMA, PRICE_CLOSE, 0); if(Lastma2 == ma2 && GetLastError() == 0) break; Lastma2 = ma2; } } Print(ma1); Print(ma2); Print(ma1*ma2); //---- return(0); }
Itchy:
И еще, как взять индикатор с другого сивола, что писать вместо NULL? спасибо
Обозначение символа в кавычках, например:И еще, как взять индикатор с другого сивола, что писать вместо NULL? спасибо
"NZDUSD"
Данный символ должен присутствовать в окне "Обзор рынка".
Editor:
Обязательно нужна подкачка исторических данных. Посмотрите пример:
Может все таки ввести функцию гарантирующую подкачку заданной
глубины истории?Обязательно нужна подкачка исторических данных. Посмотрите пример:
Пусть даже эта глубина будет ограничена разумным максимальным пределом ..
Тогда весь приведенный код превратился бы в 2 строки.
И просто и всем понятно ...
Спасибо, будем разбираться=))
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь