Советники: e-PSI@Multi_Scalper v.27.08.2012 - страница 2

 
mydone: Извините, а что сделать чтобы индикатор был полегче. У меня он терминал вешает почти полностью. Спасибо.

Странно, индикатор при запуске немножко подвешивает терминал, но потом работает на начале бара, правда, каждый раз по приходу нового бара пересчитывает 300 последних баров. Конечно, это немножко страннова-то. Но так задумал автор индюкатора.

Можно попробовать в этом цикле пересчёта заменить строчку:

    for (int i = 300; i >= 0; i--)
    {

на такую:

    for (int i = lia_Bars[0]; i >= 0; i--)
    {

Моё мнение: чтобы делать серьёзные изменения в чужом коде (а в данном случае автор использует несколько циклов перебора массивов данных), нужно разобраться с этим кодом. А разбираться с чужим кодом в котором присутствует декомпилят - задача НЕТРИВИАЛЬНАЯ. Исходя из этого я не делал серьёзных правок индикатора.

Сами с заменой справитесь?

 
Да, спасибо.
 
mydone:
Извините, а что сделать чтобы индикатор был полегче. У меня он терминал вешает почти полностью. Спасибо.
Если ОС семёрка - запускайте терминал от имени администратора.
 
excelf:
а нельзя было стрелочки оставить в индикаторе, сделав так что бы они не перерисовывались ?

А у меня, а у меня по две стрелочки ресует, а когда рынок меняется красно -синяя или зелено-синняяяяяяяяяя. И через сутки заработали все валюты. Дяденька, так вы обещали одну валюту. По поводу советника ни чего не услышал, а он работает.Правдо на демо счете.На реал не кидал.Остальных прошу узнать в поисковике, что такое скальпинг, чтобы не кидать грязь в адрес автора. Лучше бы рсмотрели Mgh автор вылажил зерно. А все остольное не интересно. "Сабака лает, караван идет"
 

Вопрос к автору по поводу функции Dinamic_STOPs, что это такое и как должно работать в советнике? Если можно, достаточно подробно.

 
260593LV: Вопрос к автору по поводу функции Dinamic_STOPs, что это такое и как должно работать в советнике? Если можно, достаточно подробно.

Это массив таймфреймов:

int lia_Periods[] = {1,5,15,30,60,240,1440,10080,43200};

Например, Вы установили:

extern int    TF_Indicator             = 15;               // Период индикатора

В массиве это третий по счёту период. Добавляем к 3+2 = 5 (таймфрейм H1) - c текущего H1 берём экстремумы (High\Low) и на момент открытия ордера высчитываем расстояния от текущей цены до каждого экстремума, а затем СТОПы формируем по максимальному значению (от цены до экстремума или заданное значение):

    ar_STOPs[0] = MathMax (MathAbs (fd_Price - ar_STOPs[0]), gd_SL * gda_Point[fi_IND]);
    ar_STOPs[1] = MathMax (MathAbs (fd_Price - ar_STOPs[1]), gd_TP * gda_Point[fi_IND]);

где gd_SL и gd_TP - это заданные в настройках СТОПы (StopLoss, TakeProfit), приведённые к нужной разрядности.

 
TarasBY:
260593LV: Вопрос к автору по поводу функции Dinamic_STOPs, что это такое и как должно работать в советнике? Если можно, достаточно подробно.

Это массив таймфреймов:

int lia_Periods[] = {1,5,15,30,60,240,1440,10080,43200};

Например, Вы установили:

extern int    TF_Indicator             = 15;               // Период индикатора

В массиве это третий по счёту период. Добавляем к BarControl

TarasBY:
260593LV: Вопрос к автору по поводу функции Dinamic_STOPs, что это такое и как должно работать в советнике? Если можно, достаточно подробно.

Это массив таймфреймов:

int lia_Periods[] = {1,5,15,30,60,240,1440,10080,43200};

Например, Вы установили:

extern int    TF_Indicator             = 15;               // Период индикатора

В массиве это третий по счёту период. Добавляем к 3+2 = 5 (таймфрейм H1) - c текущего H1 берём экстремумы (High\Low) и на момент открытия ордера высчитываем расстояния от текущей цены до каждого экстремума, а затем СТОПы формируем по максимальному значению (от цены до экстремума или заданное значение):

    ar_STOPs[0] = MathMax (MathAbs (fd_Price - ar_STOPs[0]), gd_SL * gda_Point[fi_IND]);
    ar_STOPs[1] = MathMax (MathAbs (fd_Price - ar_STOPs[1]), gd_TP * gda_Point[fi_IND]);

где gd_SL и gd_TP - это заданные в настройках СТОПы (StopLoss, TakeProfit), приведённые к нужной разрядности.



Спасибо, но есть еще вопросы. В формуле 3+2 = 5, цифра 2 это параметр BarControl = 2;? Или что-то другое? Не совсем понятно как берутся параметры High\Low ? По предыдущей свече или за предыдущие сутки? И почему параметр BarControl не может быть меньше 2, например = 0? Можно ли работать на TF = H1? В этом случае откуда будут браться параметры High/Low?
 
260593LV:
Спасибо, но есть еще вопросы. В формуле 3+2 = 5, цифра 2 это параметр BarControl = 2;? Или что-то другое? Не совсем понятно как берутся параметры High\Low ? По предыдущей свече или за предыдущие сутки? И почему параметр BarControl не может быть меньше 2, например = 0? Можно ли работать на TF = H1? В этом случае откуда будут браться параметры High/Low?
Я в своём объяснении упоминал про BarControl??? Я для Вас привёл пример, в надежде, что с примером будет проще разобраться - не сработало. Тогда техническое объяснение: Экстремумы берутся с текущего бара таймфрейма на два порядка выше, чем таймфрейм индикатора (TF_Indicator). Высчитываются на момент открытия ордера расстояния до экстремумов (Delta[2]) и нормализуются (берётся максимум из двух значений: Delta и STOP).
 
Обновляю ссылку на индикатор.
 
TarasBY:
260593LV:
Спасибо, но есть еще вопросы. В формуле 3+2 = 5, цифра 2 это параметр BarControl = 2;? Или что-то другое? Не совсем понятно как берутся параметры High\Low ? По предыдущей свече или за предыдущие сутки? И почему параметр BarControl не может быть меньше 2, например = 0? Можно ли работать на TF = H1? В этом случае откуда будут браться параметры High/Low?
Я в своём объяснении упоминал про BarControl??? Я для Вас привёл пример, в надежде, что с примером будет проще разобраться - не сработало. Тогда техническое объяснение: Экстремумы берутся с текущего бара таймфрейма на два порядка выше, чем таймфрейм индикатора (TF_Indicator). Высчитываются на момент открытия ордера расстояния до экстремумов (Delta[2]) и нормализуются (берётся максимум из двух значений: Delta и STOP).

Спасибо за разьяснения, с моей точки зрения, полезность динамического Стопа в советнике несколько сомнительна. Возможно, вертуальный ТР был бы не хуже для скальпинга.
Причина обращения: