Ответ
 
Опции темы
Старый 31.10.2015, 07:15   #4341 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Я вот призадумался. Как реализовать задачу, чтоб если что-то произошло, то следующая операция может происходить только через несколько дней? Желательно, не прибавлять N-секунд, а как-то красивее..)
Типа, щяс( в понедельник ) установили ордер, а через пару дней( в среду в 15.30 ) нужно продолжить торговлю. Т.е. интересует именно функция, которая будет рассчитывать этот отрезок времени.
Имею ввиду, чтоб можно было задать типа через N-дней... а не просто день недели.

Последний раз редактировалось hoz; 31.10.2015 в 07:18.
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 31.10.2015, 08:44   #4342 (permalink)
Активный участник
 
Аватар для iii237
 
Регистрация: 03.04.2013
Адрес: Тольятти
Сообщений: 79
Репутация: 94
iii237
Сказал(а) спасибо: 419
Поблагодарили 93 раз(а) в 20 сообщениях
Поинты: 48
Сообщение от vlad_123 Посмотреть сообщение

Меньше переделок - это по сравнению со стандартной функцией MQL4?
Ну-ну
Меньше переделок - в существующем коде пациента.
__________________________________________________
Сообщение от vlad_123 Посмотреть сообщение
Паходу - я тут раздумывал, как можно побольше пипсов насобирать, закрывая одни и те же позиции...
Сподвигло меня на это изменение требований MyFxBook'а к AutoTrade провайдерам, а именно - если раньше они требовали >10пипов на профитную сделку, то теперь Avg пипов на трейд - не менее 3. И если раньше мой сов подходил, то теперь нет.
Ну, в общем-то, и решение - закрывать убыточные сделки по возможности меньшим количеством операция (я раньше закрывал по 0.01 лота), а вот профитные - наоборот, закрывать по возможности наименьшими лотами.
Ну, и как результат - сегодня +6400 пипов
Пипсовка всегда была одним из самых выгодных вариантов. Именно этим занимаются взрослые дяди со стаканАми у взрослых брокеров. Именно поэтому она всегда была просто-напросто запрещена на всех кухнях. Сегодня кухни потихоньку сдают свои позиции, уж больно им хочется походить на взрослых. Вы просто молодец, что смогли этим воспользоваться. Поздравляю.
iii237 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 31.10.2015, 08:53   #4343 (permalink)
Активный участник
 
Аватар для iii237
 
Регистрация: 03.04.2013
Адрес: Тольятти
Сообщений: 79
Репутация: 94
iii237
Сказал(а) спасибо: 419
Поблагодарили 93 раз(а) в 20 сообщениях
Поинты: 48
Сообщение от hoz Посмотреть сообщение
Я вот призадумался. Как реализовать задачу, чтоб если что-то произошло, то следующая операция может происходить только через несколько дней? Желательно, не прибавлять N-секунд, а как-то красивее..)
Типа, щяс( в понедельник ) установили ордер, а через пару дней( в среду в 15.30 ) нужно продолжить торговлю. Т.е. интересует именно функция, которая будет рассчитывать этот отрезок времени.
Имею ввиду, чтоб можно было задать типа через N-дней... а не просто день недели.
Вам в любом случае придется определять момент, от которого нужно плясать. Либо Вы будете хранить его в какой-то переменной, что рискованно: в случае сбоя эти данные могут пропасть.
Надежней определять момент каждый раз по истории, либо по закрытым ордерам, либо по индикаторам, либо просто по свечкам. А потом прибавлять к нему секунды, никуда не деться от этого.
Если Вы так не любите секунды, то можете задать часы и умножить на 3600 например.
iii237 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 31.10.2015, 14:18   #4344 (permalink)
Местный знаток
 
Аватар для vlad_123
 
Регистрация: 29.01.2013
Сообщений: 334
Репутация: 824
vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 -
Сказал(а) спасибо: 29
Поблагодарили 820 раз(а) в 327 сообщениях
Поинты: 388
Сообщение от iii237 Посмотреть сообщение
Пипсовка всегда была одним из самых выгодных вариантов. Именно этим занимаются взрослые дяди со стаканАми у взрослых брокеров. Именно поэтому она всегда была просто-напросто запрещена на всех кухнях. Сегодня кухни потихоньку сдают свои позиции, уж больно им хочется походить на взрослых. Вы просто молодец, что смогли этим воспользоваться. Поздравляю.
Вдумчиво вчитайтесь в мое сообщение - где там идет речь про пипсовку??? Если верить Myfxbook, то Avg. Trade Length: 1d.

Речь шла про то, чтобы закрывать профитную позицию, например, в 0.1 лота, используя 10 раз частичное закрытие по 0.01 лота.
В этом случае каждая закрываемая позиция в 0.01 лота будет приносить то же самое количество пипов Т.е. в итоге получаем в 10 раз больше пипсов.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Мониторинг советников: http://www.myfxbook.com/members/vlad_123/

На заказ не программирую.
vlad_123 вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
DomovenokBrest (01.11.2015)
Старый 01.11.2015, 13:40   #4345 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от iii237 Посмотреть сообщение
Вам в любом случае придется определять момент, от которого нужно плясать. Либо Вы будете хранить его в какой-то переменной, что рискованно: в случае сбоя эти данные могут пропасть.
Надежней определять момент каждый раз по истории, либо по закрытым ордерам, либо по индикаторам, либо просто по свечкам. А потом прибавлять к нему секунды, никуда не деться от этого.
Если Вы так не любите секунды, то можете задать часы и умножить на 3600 например.
То что нужно учесть рестарт терминала - очевидно. Я спрашивал вариант максимально компактной реализации. У меня есс-но есть свои варианты. Но не такие краткие возможно, как могли быть. Хотя... может я чересчур придирчив в качеству кода.
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 01.11.2015, 17:35   #4346 (permalink)
Активный участник
 
Аватар для iii237
 
Регистрация: 03.04.2013
Адрес: Тольятти
Сообщений: 79
Репутация: 94
iii237
Сказал(а) спасибо: 419
Поблагодарили 93 раз(а) в 20 сообщениях
Поинты: 48
Сообщение от vlad_123 Посмотреть сообщение
Вдумчиво вчитайтесь в мое сообщение - где там идет речь про пипсовку??? Если верить Myfxbook, то Avg. Trade Length: 1d.

Речь шла про то, чтобы закрывать профитную позицию, например, в 0.1 лота, используя 10 раз частичное закрытие по 0.01 лота.
В этом случае каждая закрываемая позиция в 0.01 лота будет приносить то же самое количество пипов Т.е. в итоге получаем в 10 раз больше пипсов.
Прошу прощения, не понял сразу. Просто обычно речь о минимальном пробеге цены до закрытия как раз о пипсовке. Однако у Вас любопытный вариант, надо будет подумать.
iii237 вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
vlad_123 (02.11.2015)
Старый 01.11.2015, 17:54   #4347 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,516
Репутация: 3643
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,109
Поблагодарили 3,647 раз(а) в 1,468 сообщениях
Поинты: 2002
Сообщение от hoz Посмотреть сообщение
Я вот призадумался. Как реализовать задачу, чтоб если что-то произошло, то следующая операция может происходить только через несколько дней? Желательно, не прибавлять N-секунд, а как-то красивее..)
Типа, щяс( в понедельник ) установили ордер, а через пару дней( в среду в 15.30 ) нужно продолжить торговлю. Т.е. интересует именно функция, которая будет рассчитывать этот отрезок времени.
Имею ввиду, чтоб можно было задать типа через N-дней... а не просто день недели.
Через N-дней от чего? От открытия ордера в понедельник? Так что может быть проще и красивей арифметического действия с PeriodSeconds(PERIOD_D1)?
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
DomovenokBrest (01.11.2015)
Старый 01.11.2015, 18:15   #4348 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от AlexeyVik Посмотреть сообщение
Через N-дней от чего? От открытия ордера в понедельник? Так что может быть проще и красивей арифметического действия с PeriodSeconds(PERIOD_D1)?
По сути да. Но я эту функцию вообще первый раз вижу, если честно. В разделе "Дата и время" её нет. Зато запихали в "Общие"...
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 01.11.2015, 19:00   #4349 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,516
Репутация: 3643
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,109
Поблагодарили 3,647 раз(а) в 1,468 сообщениях
Поинты: 2002
Сообщение от hoz Посмотреть сообщение
По сути да. Но я эту функцию вообще первый раз вижу, если честно. В разделе "Дата и время" её нет. Зато запихали в "Общие"...
Ты не смотришь что предлагает МЕ когда набираешь что-то??? Ведь если начать набирать Period() то когда наберёшь Per то появляются подсказки... Я увидел что-то новое, открыл документацию и прочёл. А ты как узнаёшь нововведения?
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 01.11.2015, 19:42   #4350 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от AlexeyVik Посмотреть сообщение
Ты не смотришь что предлагает МЕ когда набираешь что-то??? Ведь если начать набирать Period() то когда наберёшь Per то появляются подсказки... Я увидел что-то новое, открыл документацию и прочёл. А ты как узнаёшь нововведения?
Либо как Вы, либо просто захожу в интересуемый меня раздел. Если это время... то "Дата и в время", если позиции, тогда ищу раздел, связанный с работой с позициями и тд.
Но PeriodSeconds() я не встречал. Хотя встретил вчера пару функций TimeToStruct и MqlDateTime. Собирался уже с их помощью городить метод. И уже даже написал! Но что-то вышло длинновато . Затёр! А вот PeriodSeconds() то что нужно! Можно всё разрулить на порядок проще и гибче без тех громоздких вариантов.

Последний раз редактировалось hoz; 01.11.2015 в 20:13.
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
AlexeyVik (02.11.2015)
Старый 03.11.2015, 17:51   #4351 (permalink)
бродяга
 
Аватар для gush
 
Регистрация: 24.01.2011
Сообщений: 2,520
Репутация: 5506
gush gush gush gush gush gush gush gush gush gush gush
Сказал(а) спасибо: 8,488
Поблагодарили 5,290 раз(а) в 1,871 сообщениях
Поинты: 1124
всем привет, подскажите в целях изучения mql, мне чайнику...
пробую написать свой собственный простой скрипт открытия сетки..
логика проста, сначала открываются бай селл противоположные..
а потом хочу, лимитки и стоповые вкрутить...
но хочется сделать так, чтобы выставлялись байстопы и байлимитки от цены открытия баевого ордера, а селлстопы и селлимиты выставлялись от цены открытого селлового ордера..
вот что я накодил пока... тока не смейтесь:
PHP код:
int start()
  {
//----
int ticket1=-1;
  while(
ticket1<0)
    {
    
ticket1=OrderSend(Symbol(),OP_BUY,lot_b,Ask,10,0,0,NULL,Magic,0,CLR_NONE);
    
ticket1=OrderSend(Symbol(),OP_SELL,lot_s,Bid,10,0,0,NULL,Magic,0,CLR_NONE);    
    if(
ticket1<0)Print("Ошибка при открытии позиции (",ErrorDescription(GetLastError()),")");
    }
//----
   
return(0);
  } 
хочется минимум кода сделать, также, как с открытыми ордерами, строчками продолжать кодить лимитки и стоповые.. подскажите.. )))

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
больше молока получит тот котенок, который больше всех пищит..
gush вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 03.11.2015, 18:16   #4352 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,681
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от gush Посмотреть сообщение
всем привет, подскажите в целях изучения mql, мне чайнику...
пробую написать свой собственный простой скрипт открытия сетки..
логика проста, сначала открываются бай селл противоположные..
а потом хочу, лимитки и стоповые вкрутить...
но хочется сделать так, чтобы выставлялись байстопы и байлимитки от цены открытия баевого ордера, а селлстопы и селлимиты выставлялись от цены открытого селлового ордера..
вот что я накодил пока... тока не смейтесь:
PHP код:
int start()
  {
//----
int ticket1=-1;
  while(
ticket1<0)
    {
    
ticket1=OrderSend(Symbol(),OP_BUY,lot_b,Ask,10,0,0,NULL,Magic,0,CLR_NONE);
    
ticket1=OrderSend(Symbol(),OP_SELL,lot_s,Bid,10,0,0,NULL,Magic,0,CLR_NONE);    
    if(
ticket1<0)Print("Ошибка при открытии позиции (",ErrorDescription(GetLastError()),")");
    }
//----
   
return(0);
  } 
хочется минимум кода сделать, также, как с открытыми ордерами, строчками продолжать кодить лимитки и стоповые.. подскажите.. )))
Тгода проще в одну сторону, апотом вдругую.
PHP код:
int start()
  {
//----
int ticket1=-1;
  while(
ticket1<0)
    {
    
ticket1=OrderSend(Symbol(),OP_BUY,lot_b,Ask,10,0,0,NULL,Magic,0,CLR_NONE);
       
    if(
ticket1<0)Print("Ошибка при открытии позиции (",ErrorDescription(GetLastError()),")");
else 
if(
OrderSelect(ticket1,SELECT_BY_TICKET))
{
price=OrderOpenPrice()+Step*Point;

for(
int i=0;i<OrderPend;i++)
{
if(
OrderSend(...,OP_BUYSTOP,...,price,...))
price+=Step*Point;
}
}
    }
//----
   
return(0);
  } 
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
gush (03.11.2015)
Старый 03.11.2015, 18:43   #4353 (permalink)
бродяга
 
Аватар для gush
 
Регистрация: 24.01.2011
Сообщений: 2,520
Репутация: 5506
gush gush gush gush gush gush gush gush gush gush gush
Сказал(а) спасибо: 8,488
Поблагодарили 5,290 раз(а) в 1,871 сообщениях
Поинты: 1124
Сообщение от eevviill Посмотреть сообщение
Тгода проще в одну сторону, апотом вдругую.
PHP код:
int start()
  {
//----
int ticket1=-1;
  while(
ticket1<0)
    {
    
ticket1=OrderSend(Symbol(),OP_BUY,lot_b,Ask,10,0,0,NULL,Magic,0,CLR_NONE);
       
    if(
ticket1<0)Print("Ошибка при открытии позиции (",ErrorDescription(GetLastError()),")");
else 
if(
OrderSelect(ticket1,SELECT_BY_TICKET))
{
price=OrderOpenPrice()+Step*Point;

for(
int i=0;i<OrderPend;i++)
{
if(
OrderSend(...,OP_BUYSTOP,...,price,...))
price+=Step*Point;
}
}
    }
//----
   
return(0);
  } 
а спред как то можно сюда еще воткнуть? Сминусовать его так, чтобы.. допустим открыт бай с тейком 20п. для установки байстопа степ тоже 20п., хотелось бы одновременное событие создать, бай закрывается - байстоп открывается..

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
больше молока получит тот котенок, который больше всех пищит..
gush вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 03.11.2015, 21:45   #4354 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,681
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от gush Посмотреть сообщение
а спред как то можно сюда еще воткнуть? Сминусовать его так, чтобы.. допустим открыт бай с тейком 20п. для установки байстопа степ тоже 20п., хотелось бы одновременное событие создать, бай закрывается - байстоп открывается..
Ну прибавляй или отнимай скольк надо
price=OrderOpenPrice()+Step*Point+MarketInfo(Symbo l(),MODE_SPREAD)*Point;
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
gush (04.11.2015)
Старый 05.11.2015, 09:27   #4355 (permalink)
Новичок форума
 
Аватар для Gruler
 
Регистрация: 13.10.2013
Сообщений: 12
Репутация: 10
Gruler
Сказал(а) спасибо: 17
Поблагодарили 9 раз(а) в 9 сообщениях
Поинты: 6
Уважаемые программисты, можете скинуть наглядный код того как узнать значение 2го хая, вершины ZigZag. Не второго экстремума, а 2й вершины?!
Миниатюры:
Нажмите на изображение для увеличения
Название: ScreenShot.png
Просмотров: 14
Размер:	16.2 Кб
ID:	224639  
Gruler вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 06.11.2015, 05:56   #4356 (permalink)
Новичок форума
 
Аватар для vaxa54
 
Регистрация: 31.10.2015
Сообщений: 187
Репутация: 19
vaxa54
Сказал(а) спасибо: 14
Поблагодарили 18 раз(а) в 10 сообщениях
Поинты: 32
здравствуйте, можно ли добавить в советник возможность открывать сделки по всем сигналам?? Сейчас открывается только одна сделка и до ее закрытия другие сигналы игнорируются
vaxa54 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 06.11.2015, 07:30   #4357 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,516
Репутация: 3643
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,109
Поблагодарили 3,647 раз(а) в 1,468 сообщениях
Поинты: 2002
Сообщение от vaxa54 Посмотреть сообщение
здравствуйте, можно ли добавить в советник возможность открывать сделки по всем сигналам?? Сейчас открывается только одна сделка и до ее закрытия другие сигналы игнорируются
А как ты считаешь все сигналы?
Вот появился сигнал, потом пропал и только после этого считается следующий сигнал? Или как-то по-другому?
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 06.11.2015, 10:59   #4358 (permalink)
Почётный гражданин
 
Аватар для сергей киров
 
Регистрация: 09.01.2011
Сообщений: 1,297
Репутация: 376
сергей киров - сергей киров - сергей киров - сергей киров -
Сказал(а) спасибо: 42
Поблагодарили 380 раз(а) в 216 сообщениях
Поинты: 123
подскажите как соединить два одинаковых советника в один
сергей киров вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 06.11.2015, 12:48   #4359 (permalink)
Новичок форума
 
Аватар для vaxa54
 
Регистрация: 31.10.2015
Сообщений: 187
Репутация: 19
vaxa54
Сказал(а) спасибо: 14
Поблагодарили 18 раз(а) в 10 сообщениях
Поинты: 32
Сообщение от AlexeyVik Посмотреть сообщение
А как ты считаешь все сигналы?
Вот появился сигнал, потом пропал и только после этого считается следующий сигнал? Или как-то по-другому?
ну сигналы появляются не чаще одного раза в час (по свечным формациям) и пока открыта сделка (целый день к примеру) другие сделки не открываются хотя сигналы есть
vaxa54 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 06.11.2015, 15:08   #4360 (permalink)
бродяга
 
Аватар для gush
 
Регистрация: 24.01.2011
Сообщений: 2,520
Репутация: 5506
gush gush gush gush gush gush gush gush gush gush gush
Сказал(а) спасибо: 8,488
Поблагодарили 5,290 раз(а) в 1,871 сообщениях
Поинты: 1124
Сообщение от сергей киров Посмотреть сообщение
подскажите как соединить два одинаковых советника в один
одинаковых???? Просто в одной сове все настройки умножь на 2

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
больше молока получит тот котенок, который больше всех пищит..
gush вне форума   Ответить с цитированиемОтветить с цитированием  
Ответ

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


Опции темы

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

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



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


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