Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1805

 
Можно ли скачать 32 мт4 чтобы установить его на 64 битную ОС систему?
 
Seric29 #:
Можно ли скачать 32 мт4 чтобы установить его на 64 битную ОС систему?
да
 
Seric29 #:
Можно ли скачать 32 мт4 чтобы установить его на 64 битную ОС систему?
Так МТ4 х64 не существует, от слова вообще… А на ОС х64 встаёт любое приложение х32
 
Mihail Matkovskij #:

Я только сейчас заметил

Индекс 1.

В то время как MA у вас с индексом 0! То есть, она гуляет на протяжении всего бара и может выйти за пределы Open и Close. Поэтому, МА лучше сделать также с индексом 1

Тогда все сигналы будут браться исключительно на сформированном баре и робот будет полностью соответствовать торговой системе с сигналами по ценам открытия. Таким образом, роботу будет достаточно отследить момент открытия бара (данный код я уже добавил) и войти по самому новому сформированному бару. Он будет более надежным. И не нужно будет извращаться, как был вынужден сделать Makar из-за изначально неправильного алгоритма входа.

спасибо. я это знаю  и попробую прогнать на истории с "1" свою ТС.

 
MakarFX #:
Артем, там стратегия предусматривает один ордер в рынке пока не закроется по TP или SL.

господа! спасибо всем, не думал однако, то мой вопрос породит столько "споров"))

я сторонник советников, которые - просты как АК-47.

сигнал- вход

стоп/тейк-выход

торговля одним ордером.

Так как я использую чужие куски кода, дописывая свои (с вашей помощью) то не сторонник что то без надобности менять ибо "работает и выглядит просто".

Сейчас озаботился новым вопросом

как сделать отступление точки входа на n- баров? пока написал такое решение:

bool bSignalBuy()
  {
   if(dMA > Open[1] && dMA < Close[1])
     if (TimeCurrent()> iTime(NULL,0,5)) 
      return(true);

   return(false);
  }
//+-----------------------------------------------------------------------------------------------+
//|                                                             Функция поиска сигнала на продажу |
//+-----------------------------------------------------------------------------------------------+
bool bSignalSell()
  {
   if(dMA < Open[1] && dMA > Close[1])
     if (TimeCurrent()> iTime(NULL,0,5))
      return(true);

   return(false);
  }

то есть, предполагаю, что если: 

TimeCurrent - время прихода последней котировки > iTime - где "5"  Сдвиг относительно текущего бара на указанное количество баров назад, то сигнал пошел.

что то где то не правильно сделал. т.к. пока не работает.

 
законопослушный гражданин #:

что то где то не правильно сделал. т.к. пока не работает.

все не правильно сделали

попробуйте подумать - будет ли это условие:

if (TimeCurrent()> iTime(NULL,0,5))

когда-нибудь возвращать false ?

по сабжу - в цикле от бара 1 до бара iBars(NULL,0)  ищите сигнал, если нашли сигнал то верните номер бара где нашли пересечение? или т.п.

если не нашли верните -1 или может INT_MAX .... зависит как хотите обрабатывать ситуацию если не было пересечения

 
Igor Makanu #:

все не правильно сделали

попробуйте подумать - будет ли это условие:

когда-нибудь возвращать false ?

по сабжу - в цикле от бара 1 до бара iBars(NULL,0)  ищите сигнал, если нашли сигнал то верните номер бара где нашли пересечение? или т.п.

если не нашли верните -1 или может INT_MAX .... зависит как хотите обрабатывать ситуацию если не было пересечения

то есть нужно "привязаться" не ко времени а к количеству собственно баров?

 
законопослушный гражданин #:

то есть нужно "привязаться" не ко времени а к количеству собственно баров?

ну почти.... еще раз: пробежите в цикле по сигналам на каждом баре.... объяснил?

for(int i=1;i<Bars;i++)
{
if(dMA < Open[i] && dMA > Close[i]) return(i);
}
return(INT_MAX);
 
Igor Makanu #:

ну почти.... еще раз: пробежите в цикле по сигналам на каждом баре.... объяснил?

да. объяснили, я правда не догоняю пока, для чего мне "перебирать" все бары?

у меня есть бар, выраженный через цену открытия и закрытия. Он дает сигнал на открытие ордера на следующем баре.

я предполагал, что если я выражу "сигнальный бар" через время а не через цену, то смогу просто прибавить к нему нужное количество времени и "сдвинуть" время открытия позы.- нет?

 
законопослушный гражданин #:

да. объяснили, я правда не догоняю пока, для чего мне "перебирать" все бары?

у меня есть бар, выраженный через цену открытия и закрытия. Он дает сигнал на открытие ордера на следующем баре.

я предполагал, что если я выражу "сигнальный бар" через время а не через цену, то смогу просто прибавить к нему нужное количество времени и "сдвинуть" время открытия позы.- нет?

Вы вот определитесь - Вы как вопрос сформулировали?

законопослушный гражданин #:

как сделать отступление точки входа на n- баров? пока написал такое решение:

вот и ищите бар где был последний сигнал - задавать жестко проверку сигнала на баре №5 - это не самый лучший вариант, имхо - ищите в цикле, если хотите, то сделайте цикл не по всем барм, а к например от 1 до N

ЗЫ: бар, кстати, универсальное решение - сейчас Вы захотите на одном ТФ открывать ордер через 15 минут, затем решите, что нужно на старшем ТФ через 2 часа - зная номер бара где был последний сигнал, Вы сразу можете получить и время этого бара