Ответ
 
Опции темы
Старый 16.12.2012, 16:18   #701 (permalink)
Активный участник
 
Аватар для mogul
 
Регистрация: 20.04.2009
Сообщений: 12
Репутация: 0
mogul
Сказал(а) спасибо: 8
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 20
спасибо, все отлично работает. только все же цену бы ввести, т.к. в индикаторе они уже есть, т.е. у меня они находятся так там:

H=ObjectGet(name,OBJPROP_PRICE1);
L=ObjectGet(name,OBJPROP_PRICE2);

вот мне бы их к вашему коду эти H и L
приделать, что бы вручную даты не вводить.
mogul вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 16.12.2012, 16:55   #702 (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
Сообщение от mogul Посмотреть сообщение
спасибо, все отлично работает. только все же цену бы ввести, т.к. в индикаторе они уже есть, т.е. у меня они находятся так там:

H=ObjectGet(name,OBJPROP_PRICE1);
L=ObjectGet(name,OBJPROP_PRICE2);

вот мне бы их к вашему коду эти H и L
приделать, что бы вручную даты не вводить.
Не надо к времени приплетать цену, если для этого нет надобности. Если индикатор ставит объект на High и Low баров, то в нём уже есть номера этих баров. Достаточно найти их в коде и вычесть один из другого.
Если объекты ставятся вручную, то не факт что вообще существует бар у которого High совпадает с ценой линии. Тем более что линия может находиться между пунктами, в таком случае, бара у которого High или Low будет совпадать с значением линии существовать не может.

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

Последний раз редактировалось Ugar; 16.12.2012 в 16:59.
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (16.12.2012)
Старый 16.12.2012, 17:59   #703 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от AlexeyVik Посмотреть сообщение
А это уже вообще ни в какие рамки не лезет...
Как можно открывать OP_BUYLIMIT и OP_SELLLIMIT, а модифицировать OP_BUY и OP_SELL
Не удивительно что не работает...
Это не не понимание, а больше некоторая невнимательность, рассредоточен бываю, вот и ..
Впредь, буду внимательнее писать код и отвечать на форуме. По крайне мере постараюсь. Сам вижу, что бывает пишу не то что нужно совсем.
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 17.12.2012, 17:58   #704 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от eevviill Посмотреть сообщение
Рекомендую тебе модифицировать ордер сразу после открытия. Таким образом не надо будет проверять стопы на каждом тике.

Скрытый текст

PHP код:
int ticket_op=-1;
 
 while(
IsTradeContextBusy()) Sleep(1000);
 
ticket_op=OrderSend(Symbol(),OP_BUYLIMIT,NormalizeDouble(Lot_*K_Lot+PlusLot,Lot_digits),NormalizeDouble(price_b-Step*point,Digits),slippage,0,0,comment,mag,0,Green);
 
Sleep(500);
 if(
ticket_op>-1) {OrderSelect(ticket_op,SELECT_BY_TICKET); OrderModify(ticket_op,OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(price_b-Step*point+prof*point,Digits),CLR_NONE);}                    
 } 
[свернуть]
Я вот тока щяс подумал по этому поводу и вернулся, дабы наверстать.
Если счёт есн, то сразу стопы и тейки нельзя же ставить ни на лимитники ни на рыночные ордера, я верно понимаю?

Получается, если я, например, с пользовательской ф-ункции так так ты eevviill указал буду модифицировать ордер сразу, то он скорее всего не откроется т.е. не станет рыночным, а оно так и будет, если ордер лимитный или стоповый. Таким образом, мы будем модифицировать НЕ рыночный ордер, который ещё когда откроется сразу тейк и стоп не получит, т.к. счёт есн.
Выходит, условия нужно как-то изменить, так?
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (17.12.2012)
Старый 17.12.2012, 18:30   #705 (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™
Сообщение от hoz Посмотреть сообщение
Я вот тока щяс подумал по этому поводу и вернулся, дабы наверстать.
Если счёт есн, то сразу стопы и тейки нельзя же ставить ни на лимитники ни на рыночные ордера, я верно понимаю?

Получается, если я, например, с пользовательской ф-ункции так так ты eevviill указал буду модифицировать ордер сразу, то он скорее всего не откроется т.е. не станет рыночным, а оно так и будет, если ордер лимитный или стоповый. Таким образом, мы будем модифицировать НЕ рыночный ордер, который ещё когда откроется сразу тейк и стоп не получит, т.к. счёт есн.
Выходит, условия нужно как-то изменить, так?
Не правильно. В той функции открытие ордера, а потом модификация. Открывается без стопов. Записываем тикет(если ордер открылся) и модифицируем его.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
hoz (17.12.2012)
Старый 17.12.2012, 19:57   #706 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от eevviill Посмотреть сообщение
Не правильно. В той функции открытие ордера, а потом модификация. Открывается без стопов. Записываем тикет(если ордер открылся) и модифицируем его.
Хотя да.. Если в рынке висит лимитник, то он ещё не сработал, а значит его тикет равен 0. А значит и модифицировать не будет попыток..
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (17.12.2012)
Старый 17.12.2012, 20:18   #707 (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™
Сообщение от hoz Посмотреть сообщение
Хотя да.. Если в рынке висит лимитник, то он ещё не сработал, а значит его тикет равен 0. А значит и модифицировать не будет попыток..
Ну у меня проверка больше -1, так что будет модификация. Но не пойму в чём проблема. Ты хочешь чтобы лимитник не модифицировался? На ЕСН отложка может быть не только потом модифицирована, но и сразу выставлена со стопами.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
alexshell (17.12.2012)
Старый 17.12.2012, 20:54   #708 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от eevviill Посмотреть сообщение
На ЕСН отложка может быть не только потом модифицирована, но и сразу выставлена со стопами.
Уверен? Т.е. только рыночные ордера без стопов посылаются, а отложки со стопами можно?
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
alexshell (18.12.2012)
Старый 17.12.2012, 21:03   #709 (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™
Сообщение от hoz Посмотреть сообщение
Уверен? Т.е. только рыночные ордера без стопов посылаются, а отложки со стопами можно?
Да.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
alexshell (18.12.2012)
Старый 17.12.2012, 21:14   #710 (permalink)
Местный житель
 
Аватар для Алекc1234
 
Регистрация: 24.03.2011
Сообщений: 697
Репутация: 276
Алекc1234 Алекc1234 Алекc1234
Сказал(а) спасибо: 391
Поблагодарили 276 раз(а) в 176 сообщениях
Поинты: 0
Сообщение от hoz Посмотреть сообщение
Уверен? Т.е. только рыночные ордера без стопов посылаются, а отложки со стопами можно?
Я торгую на демо есн счёте и выставляю отложки со стопами...
Алекc1234 вне форума   Ответить с цитированиемОтветить с цитированием  
3 пользователя(ей) сказали cпасибо:
alexshell (18.12.2012), eevviill (17.12.2012), hoz (17.12.2012)
Старый 17.12.2012, 21:19   #711 (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™
Сообщение от hoz Посмотреть сообщение
Уверен? Т.е. только рыночные ордера без стопов посылаются, а отложки со стопами можно?
И даже если бы было не так, то в моём примере стопы выставлялись ПОСЛЕ открытия(выставления) ордера.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
alexshell (18.12.2012)
Старый 18.12.2012, 06:29   #712 (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
Сообщение от hoz Посмотреть сообщение
Хотя да.. Если в рынке висит лимитник, то он ещё не сработал, а значит его тикет равен 0. А значит и модифицировать не будет попыток..
.
hoz, запомни раз и на всегда, ТИКЕТ ОРДЕРА НИКОГДА НЕ МОЖЕТ БЫТЬ РАВНЫМ НУЛЮ!!!
Равным нулю может быть только переменная которой присваивается тикет ордера во время открытия.

Если у какого-то ДЦ лимитники открываются со стопами, это не значит, что так у всех. И даже могут открываться на демке и в тестере, но на реале не откроется. И тем-более не запрещается ставить ордер без стопов, а потом модифицировать ордер на любом типе счёта.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (18.12.2012)
Старый 18.12.2012, 07:50   #713 (permalink)
Прохожий
 
Аватар для Сумасшедший Гарри
 
Регистрация: 18.12.2012
Сообщений: 2
Репутация: 3
Сумасшедший Гарри
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 1 сообщении
Поинты: 2
Помогите, уперся в следующую проблему.
Дц, для которого я пишу советника, при свопировании меняет номер ордера и цену открытия ордера. Таким образом, через несколько дней я не могу определить первоначальную цену открытия, а для меня это критично.
И шо теперь делать? Как ее проклятую вытащить?
Сумасшедший Гарри вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 18.12.2012, 08:52   #714 (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™
Сообщение от Сумасшедший Гарри Посмотреть сообщение
Помогите, уперся в следующую проблему.
Дц, для которого я пишу советника, при свопировании меняет номер ордера и цену открытия ордера. ...Как ее проклятую вытащить?
Них себе брокер! Если он и тикет меняет и цену открытия, то это жесть!
1) По идеи можно записать цену ордера в переменную и потом пользоватся.
2) Лучше поменять брокера.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
alexshell (20.12.2012)
Старый 18.12.2012, 12:18   #715 (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 Посмотреть сообщение
Них себе брокер! Если он и тикет меняет и цену открытия, то это жесть!
1) По идеи можно записать цену ордера в переменную и потом пользоватся.
2) Лучше поменять брокера.
То что брокер производит переоткрытие позиции каждую ночь, ещё не означает что он плохой. Это особенность которую надо учитывать программисту. Особенно те которые зарегистрированы в России и вынуждены работать по соответствующему законодательству.
Может Сумасшедший Гарри по каким то причинам не хочет работать с ДЦ зарегистрированными в оффшорах.

Можно конечно цену открытия писать в переменную, но лучше в GV. А если понадобятся не только цена открытия ордера, лучше писать в GV тикет. Тогда в любой момент можно выбрать ордер по тикету и узнать любые его параметры.
Так же можно найти первый открытый ордер в цепочке переоткрытых. Часто такие ДЦ где то сообщают тикет прошлого ордера. Гдето надо посмотреть, например в комменте ордера. Там может быть тикет вчерашнего ордера. У вчерашнего тикет позавчерашнего... Так можно добраться до ордера который был открыт первоначально.

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

Последний раз редактировалось Ugar; 18.12.2012 в 12:21.
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
alexshell (20.12.2012), eevviill (18.12.2012)
Старый 18.12.2012, 12:23   #716 (permalink)
Местный житель
 
Аватар для Алекc1234
 
Регистрация: 24.03.2011
Сообщений: 697
Репутация: 276
Алекc1234 Алекc1234 Алекc1234
Сказал(а) спасибо: 391
Поблагодарили 276 раз(а) в 176 сообщениях
Поинты: 0
Сообщение от AlexeyVik Посмотреть сообщение
.


Если у какого-то ДЦ лимитники открываются со стопами, это не значит, что так у всех. И даже могут открываться на демке и в тестере, но на реале не откроется. И тем-более не запрещается ставить ордер без стопов, а потом модифицировать ордер на любом типе счёта.
Ну на моём ДЦ клятвенно обещают, что условия демо счёта и реального абсолютно идентичны.

Последний раз редактировалось Алекc1234; 18.12.2012 в 12:25.
Алекc1234 вне форума   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
alexshell (20.12.2012), eevviill (18.12.2012)
Старый 19.12.2012, 22:51   #717 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Чё та странно выходит. Вот моя ф-ция открытия короткой позиции:

PHP код:
//+-------------------------------------------------------------------------------------+
//| Открытие короткой позиции                                                           |
//+-------------------------------------------------------------------------------------+
bool OpenSell()
{
  
int ticket = -1;
  
string myNote "Сов шортанул";
  
  
double price Low[1] - i_thresholdFromInput*pt;
  
double SL High[0] + i_thresholdFromBasedSL*pt;
  
  
ticket OrderSend(Symbol(),OP_SELLSTOP,0.1,NormalizeDouble(price,Digits),i_slippage,0,0,myNote,i_myMagic,TimeCurrent() + 400,Red);
  
  if(
ticket && OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
    if(!
OrderModify(ticket,OrderOpenPrice(),NormalizeDouble(SL,Digits),NormalizeDouble(Low[1] - i_tp*pt,Digits),0,Red))
    return(
false);
    
  return(
true);

Всё прекрасно работало, до тех пор, пока я не добавил экспирацию в посыл ордера. Вот как экспирацию добавил т.е. TimeCurrent() + 400 Ордера перестали посылаться, и постоянно выскакивает ошибка 3 в журнале.

Почему так?
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 20.12.2012, 05:51   #718 (permalink)
Элитный участник
 
Аватар для alexshell
 
Регистрация: 29.10.2010
Сообщений: 650
Репутация: 1669
alexshell alexshell alexshell alexshell alexshell alexshell alexshell alexshell alexshell alexshell alexshell
Сказал(а) спасибо: 918
Поблагодарили 1,667 раз(а) в 584 сообщениях
Поинты: 339
Сообщение от hoz Посмотреть сообщение

Всё прекрасно работало, до тех пор, пока я не добавил экспирацию в посыл ордера. Вот как экспирацию добавил т.е. TimeCurrent() + 400 Ордера перестали посылаться, и постоянно выскакивает ошибка 3 в журнале.

Почему так?
Как не странно,но метод тыка пока ещё работает. Потыкал и выяснил,что експирация начинает работать с 600 секунд.Видать есть ограничения по времени.(по крайней мере у ДЦ где я тестировал.) Попробуй у себя.

Последний раз редактировалось alexshell; 20.12.2012 в 06:07.
alexshell на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
eevviill (20.12.2012), hoz (20.12.2012)
Старый 21.12.2012, 12:14   #719 (permalink)
Прохожий
 
Аватар для Сумасшедший Гарри
 
Регистрация: 18.12.2012
Сообщений: 2
Репутация: 3
Сумасшедший Гарри
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 1 сообщении
Поинты: 2
Ugar, eevviill - спасибо за участие.
Придумал свой, хитрый и простой способ.
Сумасшедший Гарри вне форума   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
alexshell (21.12.2012), eevviill (21.12.2012)
Старый 21.12.2012, 15:18   #720 (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
Сообщение от Сумасшедший Гарри Посмотреть сообщение
Ugar, eevviill - спасибо за участие.
Придумал свой, хитрый и простой способ.
Ну так делись. Хитрый какой.
Лично мне интересно, возможно не только мне, какой ДЦ, в чём была проблема и как решил.

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

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


Опции темы

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

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



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


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