Ответ
 
Опции темы
Старый 21.12.2012, 18:24   #721 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3646
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,114
Поблагодарили 3,650 раз(а) в 1,470 сообщениях
Поинты: 2007
Сообщение от Ugar Посмотреть сообщение
Ну так делись. Хитрый какой.
Лично мне интересно, возможно не только мне, какой ДЦ, в чём была проблема и как решил.
Неужели ты до-сих пор хочешь услышать что-то новое, что сам не знаешь??? Такого быть не может...
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (21.12.2012)
Старый 21.12.2012, 19:35   #722 (permalink)
Новичок форума
 
Аватар для king
 
Регистрация: 12.05.2011
Сообщений: 207
Репутация: 29
king
Сказал(а) спасибо: 12
Поблагодарили 29 раз(а) в 17 сообщениях
Поинты: 39
как нужно писать в коде. "после закрытие свеча зеленом цвете"
king на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 21.12.2012, 19:43   #723 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от AlexeyVik Посмотреть сообщение
Неужели ты до-сих пор хочешь услышать что-то новое, что сам не знаешь??? Такого быть не может...
Как не странно, я готов учиться у любого кто знает хоть чуть чуть больше меня. Конечно речь идёт о тематике которая меня интересует профессионально. Кроме того, всех нюансов о всех ДЦ вряд ли кто то может знать. Их развелось как собак не резаных.
Практически любая программная проблема mql4 для меня решаемая. А вдруг кто то решил оптимальнее и проще, почему бы не перенять приёмчик.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (21.12.2012)
Старый 21.12.2012, 19:56   #724 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от king Посмотреть сообщение
как нужно писать в коде. "после закрытие свеча зеленом цвете"
if(Close[1]-Open[1]> 0.9*Point)
{
//прошлая свеча закрылась быком
}
if(Open[1]-Close[1]> 0.9*Point)
{
//прошлая свеча закрылась медведем
}

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (21.12.2012)
Старый 21.12.2012, 20:12   #725 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от Ugar Посмотреть сообщение
if(Close[1]-Open[1]> 0.9*Point)
{
//прошлая свеча закрылась быком
}
if(Open[1]-Close[1]> 0.9*Point)
{
//прошлая свеча закрылась медведем
}
Хмм. По моему чем проще, тем лучше. Ну ты и сам так говорил. Или я не так вопрос понял?

PHP код:
Close[1]>Open[1]   //green
Open[1]>Close[1]   //red
Open[1]==Close[1//yellow 
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 21.12.2012, 20:53   #726 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от eevviill Посмотреть сообщение
Хмм. По моему чем проще, тем лучше. Ну ты и сам так говорил. Или я не так вопрос понял?

PHP код:
Close[1]>Open[1]   //green
Open[1]>Close[1]   //red
Open[1]==Close[1//yellow 
Если не учитывать погрешности хранения данных типа double то можно и так.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (21.12.2012)
Старый 21.12.2012, 22:38   #727 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от Ugar Посмотреть сообщение
Если не учитывать погрешности хранения данных типа double то можно и так.
Ну а что нам до погрешности? Мы же только сравниваем, и никаких расчётов дальше с этими переменными не ведём?
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (22.12.2012)
Старый 22.12.2012, 05:28   #728 (permalink)
Новичок форума
 
Аватар для king
 
Регистрация: 12.05.2011
Сообщений: 207
Репутация: 29
king
Сказал(а) спасибо: 12
Поблагодарили 29 раз(а) в 17 сообщениях
Поинты: 39
Сообщение от Ugar Посмотреть сообщение
Если не учитывать погрешности хранения данных типа double то можно и так.
У меня индикатор есть. Оно показивает движение цены. красным и зеленым цветом. Свечу оно сама крашивает даже если это свеча бычья оно может быть и зеленым и красным. Надо написат кож так чтобы с сигнала индиватора прочиталь а не с цены. коде примерно так панисано
if(MF>0 && MFC> && тут надо указат если предидуший свеча закрылось зеленым цветом )
comment=buy
Тут я вложил скрын по индикатору.
Спасибо
Миниатюры:
Нажмите на изображение для увеличения
Название: SuperIndi.jpg
Просмотров: 13
Размер:	53.2 Кб
ID:	99610  
king на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 22.12.2012, 06:06   #729 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от king Посмотреть сообщение
У меня индикатор есть. Оно показивает движение цены. красным и зеленым цветом. Свечу оно сама крашивает даже если это свеча бычья оно может быть и зеленым и красным. Надо написат кож так чтобы с сигнала индиватора прочиталь а не с цены. коде примерно так панисано
if(MF>0 && MFC> && тут надо указат если предидуший свеча закрылось зеленым цветом )
comment=buy
Тут я вложил скрын по индикатору.
Спасибо
Надо сравнивать значения буферов.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (22.12.2012)
Старый 22.12.2012, 08:20   #730 (permalink)
Новичок форума
 
Аватар для king
 
Регистрация: 12.05.2011
Сообщений: 207
Репутация: 29
king
Сказал(а) спасибо: 12
Поблагодарили 29 раз(а) в 17 сообщениях
Поинты: 39
Сообщение от Ugar Посмотреть сообщение
Надо сравнивать значения буферов.
Да. как на скрыне показано.
king на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 22.12.2012, 08:41   #731 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от king Посмотреть сообщение
Да. как на скрыне показано.
Это не вопрос, а ответ. Там 4 буфера. Одна пара формирует тонкую линию, другая толстую. Цвет линии зависит от разницы в значениях ячеек соответствующей пары буферов. Сравнив значения в паре буферов узнаешь цвет.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (22.12.2012)
Старый 22.12.2012, 10:54   #732 (permalink)
Новичок форума
 
Аватар для king
 
Регистрация: 12.05.2011
Сообщений: 207
Репутация: 29
king
Сказал(а) спасибо: 12
Поблагодарили 29 раз(а) в 17 сообщениях
Поинты: 39
Сообщение от Ugar Посмотреть сообщение
Это не вопрос, а ответ. Там 4 буфера. Одна пара формирует тонкую линию, другая толстую. Цвет линии зависит от разницы в значениях ячеек соответствующей пары буферов. Сравнив значения в паре буферов узнаешь цвет.
Если честно я вообще не понимаю mql4. мне только надо писать в коде после закрытие красным(или голубым) цветом. или dll файл нужен для этого.
Вообщем надо писать советник что будет прояитать с графика и открывать и закрывать позиции. скажем иммется Бай позиция и оно зароеться если свеча изменить свой цвет на красный и закроется и в начале нового свеча откроется Селл. И наоборот.

Последний раз редактировалось king; 22.12.2012 в 11:12.
king на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 22.12.2012, 11:14   #733 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от king Посмотреть сообщение
Если честно я вообще не понимаю mql4. мне только надо писать в коде после закрытие красным(или голубым) цветом. или dll файл нужен для этого.
Нет, dll не нужно. Нужно заказать советник тому кто понимает mql4. В рекламном разделе их много. На любой вкус и кошелёк.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!

Последний раз редактировалось Ugar; 22.12.2012 в 11:40.
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (22.12.2012)
Старый 22.12.2012, 21:44   #734 (permalink)
Новичок форума
 
Аватар для Vseslav
 
Регистрация: 02.12.2012
Адрес: Саратов
Сообщений: 52
Репутация: 22
Vseslav
Сказал(а) спасибо: 67
Поблагодарили 21 раз(а) в 10 сообщениях
Поинты: 72
Отправить сообщение для Vseslav с помощью Skype™

По умолчанию Закрытие ордера в цикле переборки по невидимому Стоп-лоссу


Камрады!
Такой пример. Открыты ордера, по номеру тикета каждому ордеру присваивается значение стоплосса (невидимого) в массив SL[] в формате цены.
0. Бай - SL[1]
1. Бай - SL[2] // достиг стоплосса и закроется в цикле переборки
2. Бай - SL[3]
3. Селл - SL[4]

В цикле переборки ордеров по тикету
for (i=0;i<OrdersTotal();i++)
{
OrderSelect;
if (стоплосс=0, открыт человеком) --> ставим стоплосс в массив SL[];
if (модификация стопа) --> подтягиваем стоп;
if (достигли стопа) --> OrderClose;
Здесь ордер с тикетом 1(второй в позиции, со стоплоссом SL[2] закрывается.
Внимание, вопрос:
Ордера не стало, и когда теперь сместятся тикеты?
Сразу? т.е. надо к OrderClose добавить переборку массива SL[] с целью смещения значений
for (j=i+1;j<OrdersTotal();j++) //- и да, чему сейчас равно OrdersTotal?
SL[j]=SL[j+1];
SL[j]=0;
или вынести переборку за цикл?
или вообще тикеты сместятся с приходом нового тика?
Vseslav вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 23.12.2012, 06:08   #735 (permalink)
::: __,,,^._.^,,,__ :::
 
Аватар для ale002
 
Регистрация: 28.02.2010
Сообщений: 1,246
Репутация: 2528
ale002 ale002 ale002 ale002 ale002 ale002 ale002 ale002 ale002 ale002 ale002
Сказал(а) спасибо: 794
Поблагодарили 2,502 раз(а) в 770 сообщениях
Поинты: 670
Не совсем понятно - этот массив у вас существует постоянно (он глобальный) или формируется заново по каждому тику?

Если второе - удаление строк массива не ваша забота, всё обновится по след тику

Если первое - по новому тику проверяйте наличие ордеров с номерами из вашего массива, несуществующие удаляйте. Закрытие ордеров не привязано к котировкам, может растянуться на несколько тикофф

Но, имхо, много проще и надёжнее обходиться без этого массива. Напр, терминал закроетсо, не ту кнопку нажмете или ещё чего и массив с данными стопов накроетсо. Если стоп - фиксированная цифра, проще по каждому тику перебирать ордера, читать цену открытия каждого и прикидывать сработал стоп или нет
ale002 вне форума   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
eevviill (23.12.2012), Vseslav (23.12.2012)
Старый 23.12.2012, 13:32   #736 (permalink)
Новичок форума
 
Аватар для Vseslav
 
Регистрация: 02.12.2012
Адрес: Саратов
Сообщений: 52
Репутация: 22
Vseslav
Сказал(а) спасибо: 67
Поблагодарили 21 раз(а) в 10 сообщениях
Поинты: 72
Отправить сообщение для Vseslav с помощью Skype™
Благодарю! Массив SL[] формируется каждый тик заново.
Т.е. закрыв один ордер, робот нормально отследит остальные в цикле переборки?
Vseslav вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 23.12.2012, 16:06   #737 (permalink)
::: __,,,^._.^,,,__ :::
 
Аватар для ale002
 
Регистрация: 28.02.2010
Сообщений: 1,246
Репутация: 2528
ale002 ale002 ale002 ale002 ale002 ale002 ale002 ale002 ale002 ale002 ale002
Сказал(а) спасибо: 794
Поблагодарили 2,502 раз(а) в 770 сообщениях
Поинты: 670
OrdersTotal() не изменится быстрее, чем ваш цикл дощёлкает до конца, если вы об этом. Но чтобы наглухо исключить и теоретическую вероятность уберите его из управляющего оператора цикла. Напр:

i = OrdersTotal(); while(i>0) {
i--;
// тут работа цикла
}
ale002 вне форума   Ответить с цитированиемОтветить с цитированием  
3 пользователя(ей) сказали cпасибо:
eevviill (23.12.2012), Vseslav (23.12.2012), Алекc1234 (23.12.2012)
Старый 23.12.2012, 18:01   #738 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3646
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,114
Поблагодарили 3,650 раз(а) в 1,470 сообщениях
Поинты: 2007
Сообщение от Vseslav Посмотреть сообщение
Камрады!
Такой пример. Открыты ордера, по номеру тикета каждому ордеру присваивается значение стоплосса (невидимого) в массив SL[] в формате цены.
0. Бай - SL[1]
1. Бай - SL[2] // достиг стоплосса и закроется в цикле переборки
2. Бай - SL[3]
3. Селл - SL[4]

В цикле переборки ордеров по тикету
for (i=0;i<OrdersTotal();i++)
{
OrderSelect;
if (стоплосс=0, открыт человеком) --> ставим стоплосс в массив SL[];
if (модификация стопа) --> подтягиваем стоп;
if (достигли стопа) --> OrderClose;
Здесь ордер с тикетом 1(второй в позиции, со стоплоссом SL[2] закрывается.
Внимание, вопрос:
Ордера не стало, и когда теперь сместятся тикеты?
Сразу? т.е. надо к OrderClose добавить переборку массива SL[] с целью смещения значений
for (j=i+1;j<OrdersTotal();j++) //- и да, чему сейчас равно OrdersTotal?
SL[j]=SL[j+1];
SL[j]=0;
или вынести переборку за цикл?
или вообще тикеты сместятся с приходом нового тика?
Не надо ставить такие условия в цикл. Лучше сделай переменную int Total = OrdersTotal(); и тогда цикл будет выглядеть так

Код:
int Total = OrdersTotal(); 
for (i = Total; i >= 0; i--)
Это зафиксирует количество ордеров в начале цикла и даже несоответствие не должно волновать, ведь если нет ордера с таким порядковым номером, то цикл просто перейдёт к следующей итерации.
Но даже используя такой подход надо перестраховаться (ИМХО) и повторить итерацию после закрытия ордера. Но предложенный вариант внутреннего перебора в цикле не эффективен. Здесь можно просто увеличить переменную цикла i++; В этом случае будет проверен ордер с предыдущим порядковым номером, а дальше всё пойдёт по-порядку.

Последний раз редактировалось AlexeyVik; 23.12.2012 в 18:03.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
eevviill (23.12.2012), Vseslav (23.12.2012)
Старый 29.12.2012, 16:39   #739 (permalink)
Активный участник
 
Аватар для sochinik
 
Регистрация: 10.05.2012
Адрес: Курск-Краснодар
Сообщений: 326
Репутация: 170
sochinik - sochinik -
Сказал(а) спасибо: 142
Поблагодарили 169 раз(а) в 65 сообщениях
Поинты: 254
Отправить сообщение для sochinik с помощью ICQ Отправить сообщение для sochinik с помощью MSN Отправить сообщение для sochinik с помощью Skype™
Подскажите пожалуйста, почему при копирование кода из Notepad++ в редактор metaeditorа кирилица исчезает и проявляется в виде знаков" ????..."( и это при том, что код брал с редактора МТ4, где кирилица присутствовала), такое же происходило, если копировал функцию с форума в редактор метаэдитора, Есть ли решение этой проблеммы и как её можно устранить.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
У меня сменился SKYPE!!! Ищу своих друзей!

Пишите в личку или в новый SKYPE: sochinik1
sochinik вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 29.12.2012, 17:30   #740 (permalink)
::: __,,,^._.^,,,__ :::
 
Аватар для ale002
 
Регистрация: 28.02.2010
Сообщений: 1,246
Репутация: 2528
ale002 ale002 ale002 ale002 ale002 ale002 ale002 ale002 ale002 ale002 ale002
Сказал(а) спасибо: 794
Поблагодарили 2,502 раз(а) в 770 сообщениях
Поинты: 670
Патамушта копируете из документа открытого в юникод-кодировке, а вставляете в док ASCII-кодировки (или наоборот). Нотом-Плю-Плю не пользуюсь, попробуйте вставить в начало и конец копируемого куска по слову на русском - т.е. он должен начинаться и заканчиваться кириллицей. Иногда в винде это помогает при переносе из одной проги в др. А если нет - открывайте в блокноте док той-же кодировки, что и в редакторе, и тока после этого редактируйте/вставляйте/копируйте
ale002 вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
sochinik (30.12.2012)
Ответ

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

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

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



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


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