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

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

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

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

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

Речь шла про то, чтобы закрывать профитную позицию, например, в 0.1 лота, используя 10 раз частичное закрытие по 0.01 лота.
В этом случае каждая закрываемая позиция в 0.01 лота будет приносить то же самое количество пипов Т.е. в итоге получаем в 10 раз больше пипсов.
Прошу прощения, не понял сразу. Просто обычно речь о минимальном пробеге цены до закрытия как раз о пипсовке. Однако у Вас любопытный вариант, надо будет подумать.
01.11.2015, 17:54
Аватар для AlexeyVik
AlexeyVik AlexeyVik вне форума Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,590
Поблагодарили 3,715 раз(а) / Репутация: 3711
Я вот призадумался. Как реализовать задачу, чтоб если что-то произошло, то следующая операция может происходить только через несколько дней? Желательно, не прибавлять N-секунд, а как-то красивее..)
Типа, щяс( в понедельник ) установили ордер, а через пару дней( в среду в 15.30 ) нужно продолжить торговлю. Т.е. интересует именно функция, которая будет рассчитывать этот отрезок времени.
Имею ввиду, чтоб можно было задать типа через N-дней... а не просто день недели.
Через N-дней от чего? От открытия ордера в понедельник? Так что может быть проще и красивей арифметического действия с PeriodSeconds(PERIOD_D1)?
01.11.2015, 18:15
Аватар для hoz
hoz hoz вне форума Активный участник
Регистрация: 01.04.2011 / Сообщений: 532
Поблагодарили 112 раз(а) / Репутация: 111
  • Отправить сообщение для hoz с помощью ICQ
Через N-дней от чего? От открытия ордера в понедельник? Так что может быть проще и красивей арифметического действия с PeriodSeconds(PERIOD_D1)?
По сути да. Но я эту функцию вообще первый раз вижу, если честно. В разделе "Дата и время" её нет. Зато запихали в "Общие"...
01.11.2015, 19:00
Аватар для AlexeyVik
AlexeyVik AlexeyVik вне форума Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,590
Поблагодарили 3,715 раз(а) / Репутация: 3711
По сути да. Но я эту функцию вообще первый раз вижу, если честно. В разделе "Дата и время" её нет. Зато запихали в "Общие"...
Ты не смотришь что предлагает МЕ когда набираешь что-то??? Ведь если начать набирать Period() то когда наберёшь Per то появляются подсказки... Я увидел что-то новое, открыл документацию и прочёл. А ты как узнаёшь нововведения?
01.11.2015, 19:42
Аватар для hoz
hoz hoz вне форума Активный участник
Регистрация: 01.04.2011 / Сообщений: 532
Поблагодарили 112 раз(а) / Репутация: 111
  • Отправить сообщение для hoz с помощью ICQ
Ты не смотришь что предлагает МЕ когда набираешь что-то??? Ведь если начать набирать Period() то когда наберёшь Per то появляются подсказки... Я увидел что-то новое, открыл документацию и прочёл. А ты как узнаёшь нововведения?
Либо как Вы, либо просто захожу в интересуемый меня раздел. Если это время... то "Дата и в время", если позиции, тогда ищу раздел, связанный с работой с позициями и тд.
Но PeriodSeconds() я не встречал. Хотя встретил вчера пару функций TimeToStruct и MqlDateTime. Собирался уже с их помощью городить метод. И уже даже написал! Но что-то вышло длинновато . Затёр! А вот PeriodSeconds() то что нужно! Можно всё разрулить на порядок проще и гибче без тех громоздких вариантов.

Последний раз редактировалось hoz; 01.11.2015 в 20:13.
03.11.2015, 17:51
Аватар для gush
gush gush вне форума бродяга
Регистрация: 24.01.2011 / Сообщений: 2,521
Поблагодарили 5,293 раз(а) / Репутация: 5509
всем привет, подскажите в целях изучения 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);
  } 
хочется минимум кода сделать, также, как с открытыми ордерами, строчками продолжать кодить лимитки и стоповые.. подскажите.. )))
больше молока получит тот котенок, который больше всех пищит..
03.11.2015, 18:16
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,032 раз(а) / Репутация: 9032
  • Отправить сообщение для eevviill с помощью Skype™
всем привет, подскажите в целях изучения 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);
  } 
gush 
03.11.2015, 18:43
Аватар для gush
gush gush вне форума бродяга
Регистрация: 24.01.2011 / Сообщений: 2,521
Поблагодарили 5,293 раз(а) / Репутация: 5509
Тгода проще в одну сторону, апотом вдругую.
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п., хотелось бы одновременное событие создать, бай закрывается - байстоп открывается..
больше молока получит тот котенок, который больше всех пищит..
03.11.2015, 21:45
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,032 раз(а) / Репутация: 9032
  • Отправить сообщение для eevviill с помощью Skype™
а спред как то можно сюда еще воткнуть? Сминусовать его так, чтобы.. допустим открыт бай с тейком 20п. для установки байстопа степ тоже 20п., хотелось бы одновременное событие создать, бай закрывается - байстоп открывается..
Ну прибавляй или отнимай скольк надо
price=OrderOpenPrice()+Step*Point+MarketInfo(Symbo l(),MODE_SPREAD)*Point;
gush 
05.11.2015, 09:27
Аватар для Gruler
Gruler Gruler вне форума Новичок форума
Регистрация: 13.10.2013 / Сообщений: 12
Поблагодарили 9 раз(а) / Репутация: 10
Уважаемые программисты, можете скинуть наглядный код того как узнать значение 2го хая, вершины ZigZag. Не второго экстремума, а 2й вершины?!
06.11.2015, 05:56
Аватар для vaxa54
vaxa54 vaxa54 вне форума Новичок форума
Регистрация: 31.10.2015 / Сообщений: 187
Поблагодарили 19 раз(а) / Репутация: 20
здравствуйте, можно ли добавить в советник возможность открывать сделки по всем сигналам?? Сейчас открывается только одна сделка и до ее закрытия другие сигналы игнорируются
06.11.2015, 07:30
Аватар для AlexeyVik
AlexeyVik AlexeyVik вне форума Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,590
Поблагодарили 3,715 раз(а) / Репутация: 3711
здравствуйте, можно ли добавить в советник возможность открывать сделки по всем сигналам?? Сейчас открывается только одна сделка и до ее закрытия другие сигналы игнорируются
А как ты считаешь все сигналы?
Вот появился сигнал, потом пропал и только после этого считается следующий сигнал? Или как-то по-другому?
06.11.2015, 10:59
Аватар для сергей киров
сергей киров сергей киров вне форума Почётный гражданин
Регистрация: 09.01.2011 / Сообщений: 1,299
Поблагодарили 383 раз(а) / Репутация: 379
подскажите как соединить два одинаковых советника в один
06.11.2015, 12:48
Аватар для vaxa54
vaxa54 vaxa54 вне форума Новичок форума
Регистрация: 31.10.2015 / Сообщений: 187
Поблагодарили 19 раз(а) / Репутация: 20
А как ты считаешь все сигналы?
Вот появился сигнал, потом пропал и только после этого считается следующий сигнал? Или как-то по-другому?
ну сигналы появляются не чаще одного раза в час (по свечным формациям) и пока открыта сделка (целый день к примеру) другие сделки не открываются хотя сигналы есть
06.11.2015, 15:08
Аватар для gush
gush gush вне форума бродяга
Регистрация: 24.01.2011 / Сообщений: 2,521
Поблагодарили 5,293 раз(а) / Репутация: 5509
Сообщение от: сергей киров
подскажите как соединить два одинаковых советника в один
одинаковых???? Просто в одной сове все настройки умножь на 2
больше молока получит тот котенок, который больше всех пищит..
Ответить

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


Опции темы

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

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



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


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