logut: видимо мне здесь ни кто не поможет! все только тыкают на учебник. это равносильно тому что ученик спрашивает учителя чтоб помог изучить тему которую он не понимает а тот ему говорит смотри в книгу. возникает вопрос зачем учитель также этот форум и эта тема!!!
Ветка очень хорошая и полезная. Здесь много добрых людей. Повторите мне Ваш вопрос.
ikatsko: На одном ноутбуке стоИт два терминала МТ4: один с 4-мя знаками после запятой, второй - с 5-тью знаками. За одно и то же время трафик на первом 105/0 kb, на втором 3450/0 kb. Первый грухит процессор на 6%, второй - на 39%. В чем проблема? Это вообще норма?
За шесть лет можно было понять что на котировки с лишним знаком нужно больше ресурсов. Если конечно они чаще приходят и меньше различаются.
Vinin: За шесть лет можно было понять что на котировки с лишним знаком нужно больше ресурсов. Если конечно они чаще приходят и меньше различаются.
Спасибо. Я Вас тоже давно знаю.
Про трафик, конечно, объяснение принимается и "за шесть лет", в принципе, я это понял.
А что можно сказать о загрузке процессора? Не уж то общение терминала с инетом (с целью обеспечения инфой/трафиком/котировками) так сильно влияют на загрузку процессора терминалом? (напомню, 4-х значный грузит на 6%, 5-ти значный на 39%. Заранее уточню, ноут Samsung X15, процессор 1400 МГц)
Про трафик, конечно, объяснение принимается и "за шесть лет", в принципе, я это понял.
А что можно сказать о загрузке процессора? Не уж то общение терминала с инетом (с целью обеспечения инфой/трафиком/котировками) так сильно влияют на загрузку процессора терминалом? (напомню, 4-х значный грузит на 6%, 5-ти значный на 39%. Заранее уточню, ноут Samsung X15, процессор 1400 МГц)
Похоже просто индикаторы кушают ресурсы. Расчетов стало больше. Хотя - ну не нужны они особо, но требуют
int ticket=OrderSend(Symbol(),OP_BUYLIMIT,lots,Ask,3,Ask +stoploss* Point, Ask + takeprofit* Point,NULL,123,120,CLR_NONE);
return(0);
}
нужна подсказка как написать советник с отложкой я в этом деле новичок месяц голову ломаю есть набросок
Вам давали наводку на документацию.
Отложка срабатывает при достижении какого-то уровня (отклонения от текущей цены). А Вы пытаетесь использовать текущую. Поищите в поиске гридеры или сеточники
Т.е. управляющая система считает, что буфер был посчитан полностью?
Необходимо отметить связь между значением, возвращаемым функцией OnCalculate() и вторым входным параметром prev_calculated. Параметр prev_calculated при вызове функции содержит значение, которое вернула функция OnCalculate() на предыдущем вызове. Это позволяет реализовать экономные алгоритмы расчета пользовательского индикатора с тем, чтобы избежать повторных расчетов для тех баров, которые не изменились с предыдущего запуска этой функции.
Для этого обычно достаточно вернуть значение параметра rates_total, которое содержит количество баров при текущем вызове функции.
Задача - сделать "постепенный" расчёт индикатора, чтобы не тормозить приложение в момент его запуска.
Vinin: Вы уверены что ArraySetAsSeries()возвращает то что Вам надо. Или думаете то что нужно. Может до расчета и дело не доходит
Расчёт происходит, Alert никогда не срабатывает, все вызовы ArraySetAsSeries() возвращают True. Отображаются только последние бары в количестве BarsAtOnce, а дальше, после первого возврата из функции OnCalculate, терминал думает, что посчитаны все бары (в соответствии с журналом).
Решение простое - завести свою переменную, аналогичную prev_calculated, но однако, интересно, почему не работает штатная?
Эффект наблюдается на 711 и 745 версиях (других в наличии нет)
Vinin: Похоже просто индикаторы кушают ресурсы. Расчетов стало больше. Хотя - ну не нужны они особо, но требуют
Закрыл все окна графиков кроме одного. Удалил все индикаторы. Перезапустил пустой терминал (без индикаторов и советников) и одним графиком. - Не помогает! Загрузка процессора та же - 29%.
видимо мне здесь ни кто не поможет! все только тыкают на учебник. это равносильно тому что ученик спрашивает учителя чтоб помог изучить тему которую он не понимает а тот ему говорит смотри в книгу. возникает вопрос зачем учитель также этот форум и эта тема!!!
Ветка очень хорошая и полезная. Здесь много добрых людей. Повторите мне Ваш вопрос.
На одном ноутбуке стоИт два терминала МТ4: один с 4-мя знаками после запятой, второй - с 5-тью знаками. За одно и то же время трафик на первом 105/0 kb, на втором 3450/0 kb. Первый грухит процессор на 6%, второй - на 39%. В чем проблема? Это вообще норма?
За шесть лет можно было понять что на котировки с лишним знаком нужно больше ресурсов. Если конечно они чаще приходят и меньше различаются.
Спасибо. Я Вас тоже давно знаю.
Про трафик, конечно, объяснение принимается и "за шесть лет", в принципе, я это понял.
А что можно сказать о загрузке процессора? Не уж то общение терминала с инетом (с целью обеспечения инфой/трафиком/котировками) так сильно влияют на загрузку процессора терминалом? (напомню, 4-х значный грузит на 6%, 5-ти значный на 39%. Заранее уточню, ноут Samsung X15, процессор 1400 МГц)
Ветка очень хорошая и полезная. Здесь много добрых людей. Повторите мне Ваш вопрос.
return(0);
}
Спасибо. Я Вас тоже давно знаю.
Про трафик, конечно, объяснение принимается и "за шесть лет", в принципе, я это понял.
А что можно сказать о загрузке процессора? Не уж то общение терминала с инетом (с целью обеспечения инфой/трафиком/котировками) так сильно влияют на загрузку процессора терминалом? (напомню, 4-х значный грузит на 6%, 5-ти значный на 39%. Заранее уточню, ноут Samsung X15, процессор 1400 МГц)
мне input double lots = 0.01;
return(0);
}
Вам давали наводку на документацию.
Отложка срабатывает при достижении какого-то уровня (отклонения от текущей цены). А Вы пытаетесь использовать текущую. Поищите в поиске гридеры или сеточники
Здравствуйте, вопрос такой: всегда ли параметр prev_calculated в индикаторах передаётся правильно?
Вот простейший пример: (здесь Extern Int BarsAtOnce = 3)
Результат:
Т.е. управляющая система считает, что буфер был посчитан полностью?
Необходимо отметить связь между значением, возвращаемым функцией OnCalculate() и вторым входным параметром prev_calculated. Параметр prev_calculated при вызове функции содержит значение, которое вернула функция OnCalculate() на предыдущем вызове. Это позволяет реализовать экономные алгоритмы расчета пользовательского индикатора с тем, чтобы избежать повторных расчетов для тех баров, которые не изменились с предыдущего запуска этой функции.
Для этого обычно достаточно вернуть значение параметра rates_total, которое содержит количество баров при текущем вызове функции.
Задача - сделать "постепенный" расчёт индикатора, чтобы не тормозить приложение в момент его запуска.
Здравствуйте, вопрос такой: всегда ли параметр prev_calculated в индикаторах передаётся правильно?
Вот простейший пример: (здесь Extern Int BarsAtOnce = 3)
Результат:
Т.е. управляющая система считает, что буфер был посчитан полностью?
Задача - сделать "постепенный" расчёт индикатора, чтобы не тормозить приложение в момент его запуска.
Вы уверены что ArraySetAsSeries() возвращает то что Вам надо. Или думаете то что нужно. Может до расчета и дело не доходит
Расчёт происходит, Alert никогда не срабатывает, все вызовы ArraySetAsSeries() возвращают True. Отображаются только последние бары в количестве BarsAtOnce, а дальше, после первого возврата из функции OnCalculate, терминал думает, что посчитаны все бары (в соответствии с журналом).
Решение простое - завести свою переменную, аналогичную prev_calculated, но однако, интересно, почему не работает штатная?
Эффект наблюдается на 711 и 745 версиях (других в наличии нет)
Похоже просто индикаторы кушают ресурсы. Расчетов стало больше. Хотя - ну не нужны они особо, но требуют