[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 104

 
MaxZ:

Интересная идея. Я бы ещё не скоро к ней пришёл! Спасибо! :D

Только вот Я немного Сам Себя загрузил. Плавающий спред же никак не сможет на это повлиять?


Плавающий спред будет влиять всегда.

Но влиять он будет при окрытии встречного, как он влиял бы при поштучном закрытии. На OrderCloseBy() спред не влияет никак.

 
PapaYozh:


Плавающий спред будет влиять всегда.

Но влиять он будет при окрытии встречного, как он влиял бы при поштучном закрытии. На OrderCloseBy() спред не влияет никак.

Это Я и хотел услышать.

А есть такое, что не все брокеры позволяют закрывать встречные ордера с помощью OrderCloseBy()?

 
MaxZ:

Это Я и хотел услышать.

А есть такое, что не все брокеры позволяют закрывать встречные ордера с помощью OrderCloseBy()?


Во-первых должны быть разрешены встречные.

И во-вторых.

 

Привет

ребят, а как сделать, что бы при общей просадке в 30%, сделки не заключались(перестает работать советник) - ?

может есть ссылки?

Заранее благодарен!

 

Помогите найти ошибку!


avatar
10
mamba5 18.08.2011 14:23

Я пишу советник работающий на основе стратегии «Черный MACD» (Black MACD):


Валютная пара: любая

Таймфрейм: от 15 и выше.

Индикаторы: EMA(3) EMA(18), RSI(14), MACD(12,26,9)

Убираем у индикатора MACD сигнальную линию, все индикаторы применяем к показателю цены Close.

Сигнал входа на покупку: EMA(3) пересекает EMA(18) снизу вверх, ждем когда MACD выйдет в положительную сторону. Если RSI(14) выше уровня 50, то входим на покупку. Стоп-лосс устанавливаем на последний локальный минимум. Выходим из сделки по обратному пересечению EMAили используем свой подход.

Сигнал на продажу: Обратная ситуация: Пересечение EMA(3) EMA(18) сверху вниз, ждем, когда MACDстанет отрицательным. Если RSI(14) ниже уровня 50, то входим на продажу. Стоп-лосс устанавливаем на последний максимум.


При компиляции кода говорит что не хватает скобки. После долгих поисков я казалось нашел где она должна быть, но после исправления ошибки мне выдало еще 20-30 новых косяков. Подскажите где недачет. ))) Код в приложенном файле.

Прикрепленные файлы:
BlackvMACD.mq4 (5.21 KB) удалить
 

Уважаемые !

Подскажите пожалуйста формулу в мат.виде для расчета понятия "ACCELERATION — фактор ускорения" в Параболике. В коде разобраться пока не могу...

 
serg1:

Уважаемые !

Подскажите пожалуйста формулу в мат.виде для расчета понятия "ACCELERATION — фактор ускорения" в Параболике. В коде разобраться пока не могу...


google
 
PapaYozh:


Во-первых должны быть разрешены встречные.

И во-вторых.

Всё стало более менее ясно. Спасибо за Ваши ответы! :))


smartemiy:

Привет

ребят, а как сделать, что бы при общей просадке в 30%, сделки не заключались(перестает работать советник) - ?

может есть ссылки?

Заранее благодарен!

Здравствуй!

Как-то так не подойдёт Вам?

if (AccountProfit() < -0.3*AccountBalance())
   return(0);
 
Добрый день, подскажите пожалуйста, можно ли реализовать алгоритм трейлинг-стопа без использования функии OrderModify? Хотелось бы что бы как только ордер вышел в профит, зафиксировать минимальную прибыль, то есть запомнить уровень, а затем если ордер "пошел" в нужную сторону, то этот уровень двигать всед за ним.
 
Я щас двигаю такой писаниной
//----
 for (i=0; i<OrdersTotal(); i++)
   {
      OrderSelect(i, SELECT_BY_POS );
      if (OrderSymbol() == Symbol()){    //  Alert("i",i,"   ","OrderOpenPrice()",OrderOpenPrice(),"  ","OrderTicket()",OrderTicket());                                                                                                     
      
      
                                           
     if (OrderMagicNumber() == 1000 && OrderType() == OP_BUY  && Bid-OrderOpenPrice() > 30*Point && Bid-OrderStopLoss() > 15*Point)  {
            OrderModify(OrderTicket(), OrderOpenPrice(), Bid-15*Point, OrderTakeProfit(), 0);                                                 Alert("OrderModify-BAY", GetLastError(),"OrderTicket()",OrderTicket(),"Bid-15*Point",Bid-15*Point);                                        }
      if (OrderMagicNumber() == 2000 && OrderType() == OP_SELL && OrderOpenPrice()-Ask > 30*Point && OrderStopLoss()-Ask > 15*Point)  {                                                                    
            OrderModify(OrderTicket(), OrderOpenPrice(), Ask+15*Point, OrderTakeProfit(), 0);  Alert("OrderModify-SELL", GetLastError(),"OrderTicket()",OrderTicket(),"Ask+15*Point",Ask+15*Point);                                       }
                                    }
  }
Стоп движется именно начиная с достижения 30 пунктов профита (минус спред и т.п.), на расстоянии 15 пунктов от цены. ну там допиши уже сам, вероятно использавав функцию
OrderProfit( )
больше ноля, и вообще под себя