Необходима помощь, устал самостоятельно разбираться :о)

 
В прикрепленном файле советник точнее кусочек идеи, которую пытаюсь реализовать. Вроде бы как все нормально и логично сделал, компилируется, но не работает. Кусочек идеи заключается в том, что если предположить, что движение цены хаотично, то должны быть моменты которые двигают цену в ту или иную сторону, то есть временно появляется "правильное" направленное движение или изменение (общего) движения на противоположное. Так вот если ставить именно в эти моменты и затем тралить эквити, то может что-нибудь получится. В общем не судите строго. Помогите кто может.
Файлы:
ops.mq4  4 kb
 
nkeshka писал(а) >>
... если предположить, что движение цены хаотично, то ... может что-нибудь получится...

Если предположить, что движение цены абсолютно хаотично, то... ничего не получится. Математический факт.

Код, кстати, почти не чтабелен. Никакой структуры, отступов...

И к чему это "ау"? 12 минут без ответов - уже терпения не хватает?

 
nkeshka писал(а) >>
Ау-ууууууу!!!!!!!!!!!!!!!!!

Ууаааа!!!! Бред у Вас там. Вроде пытаетесь работать с тиками, при этом в начале функции start стоит отсечка для работы по открытию бара, return каждые две строки, один безусловный перед условием открытий, взаимоисключения в условиях

if(prevtime == Time[0]) return(0);
prevtime = Time[0]; 

  double bid = Bid;        // Локальная перемен.
  tik++;                           // Счётчик тиков   
  if (0<tik<5) return(0);   //Условие составлено не правильно, и по семантике и по смыслу. До 5 тиков вылетаем тут, ниже пытаемся ловить условия при тик 1, 2, 3, 4...
  if  (tik==1) 
bid1=Bid ;
  if  (tik==2)
bid2=Bid ;
  if  (tik==3)
bid3=Bid ;
  if  (tik==4)
bid4=Bid ;
  return;   // Тут просто вылетаем полюбому

   if (bid1<bid2&&bid2<bid3&&bid3>=bid4)SellOp=true;
   
   if (bid1>bid2&&bid2>bid3&&bid3<=bid4)BuyOp=true;
 
Ну, что?... Твёрдая двойка по чистописанию кода?...:-))
 
Спасибо, бред уберу. Читабельным не сделал, думал, что для четырех функций нет необходимости. Без бреда тоже не работает....
 
nkeshka писал(а) >>
Спасибо, бред уберу. Читабельным не сделал, думал, что для четырех функций нет необходимости. Без бреда тоже не работает....

Я бы поправил, просто опишите словами, что Вы хотите, мне это неочевидно...)

 
Код совершенно не структурированный и соответственно не читабельный. из замеченного - зачем три ретурна на одну функцию старт?
 

Берем последние четыре тика. Если происходит постоянное увеличение цены то ставим Бай,

если уменьшение, тоже постоянное, то Селл.

Затем необходима задержка по времени, чтоб не ставил бесконечно.

В варианте, которыйя предоставил мысль такая, то что Реже проиходит разворот

bid1<bid2<bid3>=bid4

Таким образом я уходил от необходимости установки задержки по времени установки следующего ордера

 
xrust >>:
Код совершенно не структурированны й и соответственно не читабельный. из замеченного - зачем три ретурна на одну функцию старт?

Я перелопатил уже сотни советников, разбираясь по мере своих возможностей в принципах их работы. return-ов в одной фунции старт видел и побольше :)

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

Для того, чтобы ЭТО принесло хотя бы один пункт прибыли, нужно, чтобы за первыми тремя тиками роста было ещё spread+1 тик роста.

Ловля виртуальных блох.

Количество return-ов не добавляет надёжности выхода из функции. Незачем повторять чужие ошибки.

Причина обращения: