АвторСообщение



Сообщение: 2
Зарегистрирован: 12.03.13
Репутация: 0
ссылка на сообщение  Отправлено: 12.03.13 10:54. Заголовок: Индикаторы уровней


Уважаемый, Scriptong.Помогите мне пожалуйста подготовить 2 индикатора к использованию в генераторе по созданию советника.Суть вопроса:Вывести численные значения ТП и СЛ Bay i Sell в отдельные буферы из которых можно будет считать конкретные величины при генерировании советника.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 27 , стр: 1 2 All [только новые]







Сообщение: 51
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 1
ссылка на сообщение  Отправлено: 25.03.13 11:00. Заголовок: set пишет: http://z..


set пишет:

 цитата:
http://zalil.ru/upload/34378903


Спасибо, скачал.
Но вновь огорчу Вас. Это, опять-таки, декомпилированная версия. Посмотрел в сети - везде лежат такие же версии. Полной нет нигде.
Отправил запрос на почту автору индикатора. Как он ответит, так и будем поступать.

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 55
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 1
ссылка на сообщение  Отправлено: 27.03.13 17:13. Заголовок: Scriptong пишет: От..


Scriptong пишет:

 цитата:
Отправил запрос на почту автору индикатора. Как он ответит, так и будем поступать.


От автора индикатора получен следующий ответ:
"Здраствуйте, Игорь.
У меня, действительно нет желания распространять исходный код данного индикатора. Это исходит из личных побуждений и предпочтений."

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 7
Зарегистрирован: 05.03.13
Репутация: 0
ссылка на сообщение  Отправлено: 03.04.13 14:21. Заголовок: Здравствуйте, Script..


Здравствуйте, Scriptong.
В одном из кодов индикатора увидел вот такие строки:
...............
extern int UpdateSek = 60;
int time = 1;

............................
int start()
{
int hwnd =WindowHandle(Symbol(),Period());
if(hwnd != 0 && (time==0 || TimeCurrent()-time>UpdateSek))
{
PostMessageA(hwnd, WM_COMMAND, 33324, 0);
Print("Обнавились");
time=TimeCurrent();
}


int counted_bars=IndicatorCounted();
далее идет код индикатора.

Автор утверждает, что этот блок отвечает за то, чтобы индик перерисовывался каждые
заданные секунды( UpdateSek).
Тогда можно вставлять в советники перерисовывающиеся индикаторы
и советники будут работать корректно.
А каково ваше мнение ?Можно ли вообще такое сделать и есть ли смысл с этим возиться?
С уважением.

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 66
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 1
ссылка на сообщение  Отправлено: 04.04.13 10:41. Заголовок: anatolyp пишет: Авт..


anatolyp пишет:

 цитата:
Автор утверждает, что этот блок отвечает за то, чтобы индик перерисовывался каждые
заданные секунды( UpdateSek).


Автор прав, но Вы его неправильно поняли. Речь идет о том, чтобы разбудить индикатор. Индикаторы, как известно, срабатывают по тикам. Так вот, если тики не приходят, то, запустив приведенный код в цикле, можно быть уверенным, что индикатор будет обновлять свои данные с заданной периодичностью, не дожидаясь тиков. Хотя это имеет смысл только с некоторыми особенными индикаторами, меняющих свои показания не только от изменения цены, но и от изменения времени. Для стандартных индикаторов МТ4 такой финт ничего не изменит в их показаниях.

С перерисовывающимися индикаторами все остается по-старому - толку от них нет. Ну какой толк в том, чтобы по прошествии какого-то времени увидеть, что два часа назад нужно было открывать Buy вместо Sell, который виделся на то время по индикатору?

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 11
Зарегистрирован: 12.03.13
Репутация: 0
ссылка на сообщение  Отправлено: 10.04.13 08:51. Заголовок: я так понял что тема..


я так понял что тема закрыта и ничего не будет, я прав?


Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 12
Зарегистрирован: 12.03.13
Репутация: 0
ссылка на сообщение  Отправлено: 10.04.13 11:28. Заголовок: свои варианты никто ..


свои варианты никто не предложит?


Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 13
Зарегистрирован: 12.03.13
Репутация: 0
ссылка на сообщение  Отправлено: 11.04.13 08:05. Заголовок: Уважаемые, можно ли ..


Уважаемые, можно ли вас попросить не рыбу, а удочку. Проведите со мной легкое обучение по созданию буферов в индикаторах и правильной записи параметров для вывода информации.Заранее благодарен за ваше решение


Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 75
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 1
ссылка на сообщение  Отправлено: 11.04.13 08:50. Заголовок: set пишет: Уважаемы..


set пишет:

 цитата:
Уважаемые, можно ли вас попросить не рыбу, а удочку. Проведите со мной легкое обучение по созданию буферов в индикаторах и правильной записи параметров для вывода информации.Заранее благодарен за ваше решение


В разделе MQLabs выложена ссылка на статью о создании индикатора.

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 14
Зарегистрирован: 12.03.13
Репутация: 0
ссылка на сообщение  Отправлено: 15.04.13 09:34. Заголовок: Здравствуйте , уважа..


Здравствуйте , уважаемый! статью прочитал, но ответов к решению моей задачи не нашел, вопрос 1:как задать буферу информацию, что там на каждом тике хранится только число от конкретного расчета по определенной формуле, 2:как убирать информацию от предыдущих расчетов, 3:как подготовить значения с необходимой точностью знаков после запятой и до нее для разных инструментов торговли.С уважением , рядовой и ученик


Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 77
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 1
ссылка на сообщение  Отправлено: 18.04.13 08:29. Заголовок: Добрый день. set пи..


Добрый день.

set пишет:

 цитата:
1:как задать буферу информацию, что там на каждом тике хранится только число от конкретного расчета по определенной формуле, 2:как убирать информацию от предыдущих расчетов, 3:как подготовить значения с необходимой точностью знаков после запятой и до нее для разных инструментов торговли.



Отвечаю по пунктам:
1. Если буферу соответствует массив, к примеру g_buffer, то выглядит это просто как присваивание некоторого значения нужному элементу массива:

 цитата:
g_buffer[index] = <формула расчет значения>;


index - это порядковый номер бара, на котором необходимо рассчитать значение. Нумерация баров в MQL4 производится "задом наперед". Так, нулевой бар - это всегда текущий формирующийся бар. Слева от него по графику - бар №1 и т. д. В момент формирования нового бара предыдущий нулевой бар получает индекс 1, а предыдущий бар №1 - становится баром №2.

2. В момент присваивания нового значения старое значение автоматически пропадает. Если нужно просто стереть значение, чтобы на графике ничего не отображалось, то можно выполнить следующее присваивание:

 цитата:
g_buffer[index] = EMPTY_VALUE;



3. В индикаторе можно задать точность представления информации для всех его значений:

 цитата:
IndicatorDigits(<кол-во знаков после запятой>);


Также при подготовке значений можно производить их округление до заданной точности:

 цитата:
double value = NormalizeDouble(prevValue, <кол-во знаков после запятой>);



P. S. Заданные Вами вопросы являются достаточно сложными моментами. Поэтому, если на данный момент Вы прочли только указанные мною статьи, то, скорее всего, мои ответы, приведенные выше, не дадут необходимой информации. В этом случае Вам нужно, все же, начать с нуля - почитать Учебник. Если по ходу его прочтения возникнут вопросы, то, конечно же, задавайте их здесь.

Спасибо: 1 
ПрофильЦитата Ответить



Сообщение: 15
Зарегистрирован: 12.03.13
Репутация: 0
ссылка на сообщение  Отправлено: 24.04.13 10:20. Заголовок: Здравствуйте уважаем..


Здравствуйте уважаемый! Ваша помощь мне очень помогла . У меня возникла некая проблема при написании советника. После закрытия ордера по ТП, полученному из уровня индикатора на следующем тике открывается новый ордер в том же направлении, тк тех анализ показывает на возможность открытия ордера.Мне же в моей тактике не нужен этот ордер, в крайнем случае пока цена не уйдет в том или ином направлении от точки закрытия ордера(допустим на величину +М или -N). Моя попытка ввести дополнительное требование в начальные условия не открывать ордер в диапазоне М-ТП-N привела к полному запрету открытия ордеров.Может это связано с тем что весь теханализ идет на тике, а данный на баре?Помогите разобраться.Привожу часть теханализа относительно уровня ТП.С уважением Set
{
if ((Bid > iCustom(NULL, NULL, "+++",2,1)+M) && (Bid < iCustom(NULL, NULL, "+++",2,1)-N))
{
IfOrderDoesNotExist32();

}
}


Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 88
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 1
ссылка на сообщение  Отправлено: 29.04.13 20:11. Заголовок: set пишет: Здравств..


set пишет:

 цитата:
Здравствуйте уважаемый! Ваша помощь мне очень помогла . У меня возникла некая проблема при написании советника. После закрытия ордера по ТП, полученному из уровня индикатора на следующем тике открывается новый ордер в том же направлении, тк тех анализ показывает на возможность открытия ордера.Мне же в моей тактике не нужен этот ордер, в крайнем случае пока цена не уйдет в том или ином направлении от точки закрытия ордера(допустим на величину +М или -N). Моя попытка ввести дополнительное требование в начальные условия не открывать ордер в диапазоне М-ТП-N привела к полному запрету открытия ордеров.Может это связано с тем что весь теханализ идет на тике, а данный на баре?Помогите разобраться.Привожу часть теханализа относительно уровня ТП.С уважением Set


Добрый день.
Это распространенная проблема, которую можно решать несколькими способами:

1. Ввести ограничение: 1 свеча - 1 сделка. В итоге, если советник обнаружил, что на текущей свече уже открывалась сделка (OpenOrderTime() >= Time[0]), то новую сделку не открывать.
2. Чередовать сигналы покупки и продажи. После сигнала покупки никакие сигналы покупки не воспринимаются. Ждем сигнал продажи. Не очень хорошее решение, но для переворотных стратегий - то, что нужно.
3. Наилучший способ - решать такие вещи для каждой стратегии индивидуально. К примеру, почему ордер закрывается по профиту, если еще действует сигнал открытия? В этом случае либо профит не должен быть установлен, либо сигнал уже должен перестать действовать. Возможно, стоит разобраться в самом алгоритме стратегии.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 27 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  2 час. Хитов сегодня: 0
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет