А давайте сделаем из этого "мультик" (мультивалютник) - страница 8

 
ALex2008 >>:

Ачто именно непонятно? При входе в функцию он нулевой. Может я чего не понимаю....


//-------Вычисление стопа и установка
void SetStop(){
      RefreshRates();
      b0=iLow(NULL,PERIOD_H4,0)-10*Point;
      b1=iLow(NULL,PERIOD_H4,1)-10*Point;
      s0=iHigh(NULL,PERIOD_H4,0)+(Ask-Bid)+10*Point;
      s1=iHigh(NULL,PERIOD_H4,1)+(Ask-Bid)+10*Point;
            
         if(Type==0){
//StopLoss=0;
            if(Bid-StopLoss<StopLevel-0.5*Point) StopLoss=MathMin(b0,b1);
// StopLoss=0;
            if(Bid-StopLoss>StopLevel-0.5*Point) StopLoss=MathMax(b0,b1);
//StopLoss=MathMax(b0,b1);
            OrderModify(OrderTicket(),OrderOpenPrice(),StopLoss,OrderTakeProfit(),0,Red);
         }
         if(Type==1){
//StopLoss=0;
            if(StopLoss-Ask<StopLevel-0.5*Point) StopLoss=MathMax(s0,s1);
//StopLoss=MathMax(s0,s1);
            if(StopLoss-Ask>StopLevel-0.5*Point) StopLoss=MathMin(s0,s1);
//StopLoss=MathMin(s0,s1);
            OrderModify(OrderTicket(),OrderOpenPrice(),StopLoss,OrderTakeProfit(),0,Red);
         }
   }

ерунда получаеться.

надо проверить StopLoss, чтоб не было ошибки 130

и надо таки определиться, что должен делать советник, если Stop слишком близко)

 

Сорри...Замучал человека.. Ужасно туплю....)

Теперь запутался. где + а где - 0.5*Point

...
if(Ask<=Enter-StopLevel+0.5*Point){
...
if(Bid>=Enter+StopLevel-0.5*Point){
...
..да и везде по коду...
 
Swan >>:

три варианта:

Тока дошло блин...

 
ALex2008 >>:

Теперь запутался. где + а где - 0.5*Point

тоже путаюсь :)

0.5*Point вычитается из StopLevel.

if(Ask<=Enter-StopLevel+0.5*Point)
if(Bid>=Enter+StopLevel-0.5*Point)

= лишнее.

if(Enter-Ask>StopLevel-0.5*Point)
if(Bid-Enter>StopLevel-0.5*Point)

так понятней.

если расстояние больше StopLevel-0.5*Point (больше или равно StopLevel) - ставиться отложенник


со стопами сейчас вроде фсё правильно)

 

Проверка кажется лишней..

if(StopLoss-Ask<StopLevel-0.5*Point) StopLoss=Ask+StopLevel;

т.к. перед установкой отложенника она же проверяется!)

Хотя с другой стороны может быть резкий скачек после открытия ордера.... например новости.. и тогда этот вариант поможет выставить стоп.. Вроде как страховка..

 
Пробовал в тестере прогонять? Что получилось?
 
RomanS >>:
Пробовал в тестере прогонять? Что получилось?

Да тест это тест) надо на демке проверять...

Прикрепил тест с 01.2008 по вчерашний день.. 300$ депо, лот 0,1.


Файлы:
clitesymbol.rar  80 kb
 
ALex2008 >>:

Да тест это тест) надо на демке хоть проверить...

Прикрепил тест с 01.2008 по вчерашний день.. 300$ депо, лот 0,1.. с 01,2008 по 07,2009


Не хило... поздравляю!!!

На первый взгляд отличный результат, картинка супер.

Сколько пипсов берет/сливает за сделку?

 
ALex2008 писал(а) >>

Да тест это тест) надо на демке проверять...

Прикрепил тест с 01.2008 по вчерашний день.. 300$ депо, лот 0,1.

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

 
RomanS >>:

Не хило... поздравляю!!!

Да поздравлять нечего.... один советник будет только нервы мотать.. нужен контроль) т.е. запускать его и отключать когда надо) Для этого и делаю)

На первый взгляд отличный результат, картинка суппер.

Уже не раз меня ставили на место с такими результатами теста, так-что я теперь на них не особо смотрю) 

Сколько пипсов берет/сливает за сделку?

Посмотри в тестинге... всегда по разному.. в коде стоп всегда разный, а профит удален на 300 пп. или закрывает по обратному сигналу..