Ответить
14.07.2012, 15:22
Аватар для saenko
saenko saenko вне форума Интересующийся
Регистрация: 29.04.2011 / Сообщений: 26
Поблагодарили 3 раз(а) / Репутация: 4
ну а как вы определяете?
14.07.2012, 15:33
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,032 раз(а) / Репутация: 9032
  • Отправить сообщение для eevviill с помощью Skype™
ну а как вы определяете?
3.1)После функции iCustom где нибудь в конце пишем строчку
Alert(arrow_up," ",arrow_down). Это делается для того чтобы узнать что(какое значение) нам возвращает индикатор.
3.2)Заходим в тестер. Запускаем советник с визуализацией. После окончания тестирования заходим в вкладку журнал тестера и смотрим что там нам Алерт писал.
3.3)Итак. Когда стрелок нет Алерт выдаёт (0 0). Вывод (0-стрелки вверх нету 0-стрелки вниз нету).
Если (1.2345 0). Вывод. Ага! Если появилась стрелка вверх, то индикатор возвпащает цену где появилась. Ну и наоборот.
Конечный итог. 0=нету сигнала. >0 есть сигнал.
14.07.2012, 15:35
Аватар для saenko
saenko saenko вне форума Интересующийся
Регистрация: 29.04.2011 / Сообщений: 26
Поблагодарили 3 раз(а) / Репутация: 4
пасиб попробую...
17.07.2012, 03:43
Аватар для admtw
admtw admtw вне форума Интересующийся
Регистрация: 22.11.2011 / Сообщений: 3
Поблагодарили 0 раз(а) / Репутация: 1
здравствуйте, извините за глупый вопрос, не покажете урок с условиями?

Как сделать чтоб при запуске советника при первичной установке отложек не исполнялось условия
PHP код:
if (Bid>=Open[0] ) 
а после первичной установки ордеров это условие подключалось?
хотел сначала функцию "return" но не получилось.
просто если так оставить ,при первоначальном запуске советника пока это условие не выполнится, ордера не поставятся
PHP код:
void SetOrders() {
double ldStop=0ldTake=0;
double pBid=Open[0]-DistanceSet*Point;

if (
Bid>=Open[0] )
  {
  if (!
ExistOrder(1)){ 
    
SetOrder(OP_SELLSTOP ,pBidldStopldTake4);
  }

17.07.2012, 07:07
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,032 раз(а) / Репутация: 9032
  • Отправить сообщение для eevviill с помощью Skype™
здравствуйте, извините за глупый вопрос, не покажете урок с условиями?

Как сделать чтоб при запуске советника при первичной установке отложек не исполнялось условия
PHP код:
if (Bid>=Open[0] ) 
а после первичной установки ордеров это условие подключалось?
хотел сначала функцию "return" но не получилось.
просто если так оставить ,при первоначальном запуске советника пока это условие не выполнится, ордера не поставятся
PHP код:
void SetOrders() {
double ldStop=0ldTake=0;
double pBid=Open[0]-DistanceSet*Point;
 
if (
Bid>=Open[0] )
  {
  if (!
ExistOrder(1)){ 
    
SetOrder(OP_SELLSTOP ,pBidldStopldTake4);
  }

Не знаю или я правильно понял.
Полистайте пару страниц назад. Там похожее было.
Сначало добавляй функцию подсчёта ордеров.
Выйдет что то похожее на
PHP код:
if(buy_stop>&& sell_stop>0)
{
if (
Bid>=Open[0]);

18.07.2012, 13:12
Аватар для romaks
romaks romaks вне форума Местный житель
Регистрация: 06.02.2011 / Сообщений: 260
Поблагодарили 179 раз(а) / Репутация: 178
Не знаю или я правильно понял.
Полистайте пару страниц назад. Там похожее было.
Сначало добавляй функцию подсчёта ордеров.
Выйдет что то похожее на
PHP код:
if(buy_stop>&& sell_stop>0)
{
if (
Bid>=Open[0]);

Добрый день уважаемый Еevviill! Спасибо за труд. Вы правы, любой трейдер должен для саморазвития хоть малость изучить MQL4. Продолжайте. Ждём новых уроков.
20.07.2012, 15:49
Аватар для saenko
saenko saenko вне форума Интересующийся
Регистрация: 29.04.2011 / Сообщений: 26
Поблагодарили 3 раз(а) / Репутация: 4
eevviill...что нужно добавить в советник чтобы он не открывал ордера на каждой свече?
20.07.2012, 15:58
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,032 раз(а) / Репутация: 9032
  • Отправить сообщение для eevviill с помощью Skype™
eevviill...что нужно добавить в советник чтобы он не открывал ордера на каждой свече?
Наверно надо не добавлять, а правильно условие на вход написать.
20.07.2012, 16:01
Аватар для romaks
romaks romaks вне форума Местный житель
Регистрация: 06.02.2011 / Сообщений: 260
Поблагодарили 179 раз(а) / Репутация: 178
Наверно надо не добавлять, а правильно условие на вход написать.
Добрый вечер Еevviill! Я вот что подумал, многие на форумах говорят про перерисовку индикаторов, запаздывание. Может сделаете урок по этой теме, а то всё советники и советники.
20.07.2012, 16:09
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,032 раз(а) / Репутация: 9032
  • Отправить сообщение для eevviill с помощью Skype™
Добрый вечер Еevviill! Я вот что подумал, многие на форумах говорят про перерисовку индикаторов, запаздывание. Может сделаете урок по этой теме, а то всё советники и советники.
Хмм. Ну а что ж там расказывать? С тех что я пробовал 94% пере или дорисовывались. Сигнал именно где появляется в советник не вставишь. Только по направлению.
20.07.2012, 16:14
Аватар для romaks
romaks romaks вне форума Местный житель
Регистрация: 06.02.2011 / Сообщений: 260
Поблагодарили 179 раз(а) / Репутация: 178
Хмм. Ну а что ж там расказывать? С тех что я пробовал 94% пере или дорисовывались. Сигнал именно где появляется в советник не вставишь. Только по направлению.
И всёж подумайте над этим. Рассказали бы почему может в индюке быть перерисовка, почему запаздывание на примерах. Ясен пень, что нет 100 % вещей, но какие-то варианты решения этих моментов. Было бы интересно. Жалко будет если умрёт ветка. Подумайте.
21.07.2012, 06:38
Аватар для saenko
saenko saenko вне форума Интересующийся
Регистрация: 29.04.2011 / Сообщений: 26
Поблагодарили 3 раз(а) / Репутация: 4
Наверно надо не добавлять, а правильно условие на вход написать.
Ну а как проверить к-во ордеров если оно больше 0, то больше не открывать?
21.07.2012, 06:43
Аватар для saenko
saenko saenko вне форума Интересующийся
Регистрация: 29.04.2011 / Сообщений: 26
Поблагодарили 3 раз(а) / Репутация: 4
eevviill сделайте урок на тему индикаторы и методы их описания в советнике...
хотябы несколько пользовательских и основных...
21.07.2012, 07:21
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,032 раз(а) / Репутация: 9032
  • Отправить сообщение для eevviill с помощью Skype™
Ну а как проверить к-во ордеров если оно больше 0, то больше не открывать?
17 урок
http://forexsystemsru.com/yazyk-programmirovaniya-mql4/67073-mql4-uroki-ot-eevviill-9.html#post463359
21.07.2012, 07:22
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,032 раз(а) / Репутация: 9032
  • Отправить сообщение для eevviill с помощью Skype™
eevviill сделайте урок на тему индикаторы и методы их описания в советнике...
хотябы несколько пользовательских и основных...
Уважаемый saenko. Если тебе лень читать мои уроки, то мне лень тебе объяснять.
21.07.2012, 14:11
Аватар для saenko
saenko saenko вне форума Интересующийся
Регистрация: 29.04.2011 / Сообщений: 26
Поблагодарили 3 раз(а) / Репутация: 4
Уважаемый saenko. Если тебе лень читать мои уроки, то мне лень тебе объяснять.
eevviill мне не лень читать, просто не могу все и сразу прочитать и понять...
21.07.2012, 14:20
Аватар для saenko
saenko saenko вне форума Интересующийся
Регистрация: 29.04.2011 / Сообщений: 26
Поблагодарили 3 раз(а) / Репутация: 4
можно вопрос по 17 уроку?
Какое условие нужно поставить чтобы ордер открывался единыжды...
Например: открылся ордер по сигналу индикатора, потом он закрылся по стопу, но тут же открывается другой ордер в эту же сторону...что мне нужно сделать что бы этого не произошло?
22.07.2012, 05:48
Аватар для e-partner
e-partner e-partner вне форума Местный знаток
Регистрация: 29.09.2010 / Адрес: Москва / Сообщений: 690
Поблагодарили 553 раз(а) / Репутация: 554

По умолчанию Re: Урок 3 - разделительные знаки и операции

1) Разделительные знаки.
1.1) , (запятая) - применяется для отделения названий свойств некоторой операции. Может не понятно объяснил, но по примеру поймёте.
Пример
PHP код:
MarketInfo(Symbol(),MODE_LOTSTEP);
1.2) ; (точка с запятой) - используеться для завершения какого то расчётаСмысл примерно такой как точка в конце предложения.
1.3) {} (квадратные скобки) - применяются для начала фунции и конца.
1.4) () (скобки) - в них(не всегдазаписываются свойства операции.
1.5" " (не знаю как называются) - то что в них не используется в самых расчётахно можна выводить на экран или в настройки.
1.6// или /* */ - используются для коментирования кода. 
Если // в начале строки то всё что дальше закрасится в серый цвет и експертом вообще не будет применятся.
Если надо больше одной строкито в начале /* и в конце */ надо поставить
2) Операции.

Арифметические операции.
+Сумма величинx + 2 -Вычитание величин или изменение знакаx — 3, y = — y *Умножение величин3 * x /Частное от деленияx / 5 %Остаток от деленияminutes = time % 60 ++Добавление 1 к значению переменнойy++y = y + 1--Вычитание 1 из значения переменной
(+,-,*,/) - это все знают.
% Остаток от деления
++ Добавление 1 к значению переменной - тоесть x=6. Если х++, то х=7
-- Отнемание 1 из значения переменной

Операции присваивания
= Присваивание значения x=6
+= Увеличение значения переменной x+=3 значит x+3
-= Уменьшение значения переменной
*= Умножение значения переменной
/= Деление значения переменной
%= Остаток от деления значения переменной

Операции отношения
== Истина, если x равно y x == y
!= Истина, если x не равно y x != y
< Истина, если x меньше y x < y
> Истина, если x больше y x > y
<= Истина, если x меньше или равно y x <= y
>= Истина, если x больше или равно y x >= y

Логические операции
! (логическое отрицание)
|| (ИЛИ)
&& (И)


P.S. Завтра вечером будем писать простенький скрипт.
Эвил, привет!

Можешь перепостить этот пост, если не трудно, с пробелами где надо, знаками препинания и абзацами, чтобы знаки препинания в тексте не мешались с переменными и символами mql-языка. Т.к. непонятно какой символ что обозначает, только в 50% разобрался. Да и другим понятнее будет. Люблю порядок, и лень разбираться в непорядке)))

Тоже скоро примкну к твоей ветке ненадолго! =) ..Ненадолго - потому что я быстро учусь: в школе информатика - любимый предмет был...; html-язык с нуля самостоятельно за 1,5-2 мес. на 90% выучил и сайт заказчику сделал нормальный. =) (Сам себя не похвалишь - никто не похвалит ).
22.07.2012, 08:32
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,032 раз(а) / Репутация: 9032
  • Отправить сообщение для eevviill с помощью Skype™
Эвил, привет!

Можешь перепостить этот пост, если не трудно, с пробелами где надо, знаками препинания и абзацами, чтобы знаки препинания в тексте не мешались с переменными и символами mql-языка. Т.к. непонятно какой символ что обозначает, только в 50% разобрался. Да и другим понятнее будет. Люблю порядок, и лень разбираться в непорядке)))

Тоже скоро примкну к твоей ветке ненадолго! =) ..Ненадолго - потому что я быстро учусь: в школе информатика - любимый предмет был...; html-язык с нуля самостоятельно за 1,5-2 мес. на 90% выучил и сайт заказчику сделал нормальный. =) (Сам себя не похвалишь - никто не похвалит ).
Там всё красиво разложено. Только арифметические операции криво вышли.

PHP код:
Арифметические операции.
+
Сумма величинx  +
-Вычитание величин или изменение знакаx — 3— y 
*Умножение величин 3*
/Частное от деленияx /
%Остаток от деления  minutes=time%60 
++Добавление 1 к значению переменной y++y=y+1
--Вычитание 1 из значения переменной
(+,-,*,/) - это все знают.
Остаток от деления
++ Добавление 1 к значению переменной тоесть x=6. Если х++, то х=7
-- Отнемание 1 из значения переменной 
22.07.2012, 08:52
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,032 раз(а) / Репутация: 9032
  • Отправить сообщение для eevviill с помощью Skype™
можно вопрос по 17 уроку?
Какое условие нужно поставить чтобы ордер открывался единыжды...
Например: открылся ордер по сигналу индикатора, потом он закрылся по стопу, но тут же открывается другой ордер в эту же сторону...что мне нужно сделать что бы этого не произошло?
1)Если индикатор пере или дорисовывается, то сигнал на вход мы можем ставить только по направлению индикатора, а не именно по сигналу. В этом случае надо заглядывать в историю и смотреть какой ордер был закрыт. Проверка перед кодом с открытием ордера. Тоесть если последний ордер был бай, то бай не открываем и наоборот.
PHP код:
bool new_open_buy=true;
bool new_open_sell=true;
 
OrderSelect(0,SELECT_BY_POS,MODE_HISTORY);
 {
 if(
OrderMagicNumber()==magic)
 {
 if(
OrderType()==OP_BUYnew_open_buy=false
 if(
OrderType()==OP_SELLnew_open_sell=false;
 }
 } 
2)Если индикатор не пере/дорисовывается, то проще. Надо правильно написать условие на вход.
Тоесть цена на позапрошлом баре меньше МА, а на прошлом больше.
PHP код:
MA1=iMA(...,1);
MA2=iMA(...,2);
 
Close[2]<MA2 && Close[1]>MA1
saenko 
Ответить


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 16:35. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO