[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 1012

 
boris.45:

СПАСИБО

Ну так загрузите данные. Нажмите F2, выберите пару и загрузите всю историю по М1
 

Здравствуйте!

Подскажите пожалуйста, как в советнике реализовать сравнение значений индикатора с ценой различных временных интервалов(таймфрейм???????). Код выкладываю. Поиск ничего не дал, на сколько хватило сил прочитал эту ветку (с 940). Заранее благодарен!!

//+------------------------------------------------------------------+
//|                                        expert SAR_1_5_15 min.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//---- input parameters
extern double    Lots=0.01;
extern int       StopLoss=300;
extern int       TakeProfit=150;
extern int       MagicNumber=123456;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
  
bool CheckOrders(int Type)
{
 bool Result=True;
 for(int i=0;i<OrdersTotal();i++)
  if(OrderSelect(i,SELECT_BY_POS))
   if(OrderMagicNumber()==MagicNumber && OrderSymbol() == Symbol())
      if(OrderType()==Type)
        {
         if(Type==OP_BUY)
           if(!OrderClose(OrderTicket(),OrderLots(),Bid,0))
             Result=False;
         if(Type==OP_SELL)
           if(!OrderClose(OrderTicket(),OrderLots(),Ask,0))
             Result=False;
         } 
        else Result=False;
 return(Result); 
}

// Проверяем наличие закрытой на текущей свече позиции типа Type. Если есть, то возвращает False  
bool CheckExists(int Type)  
{
 bool Result=True;
 for(int i=OrdersHistoryTotal()-1; i>=0;i--)
  if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
   if(OrderMagicNumber()==MagicNumber&&OrderSymbol()==Symbol()&&OrderCloseTime()>=Time[0]&&OrderType()==Type)
    {
     Result=False;
     break;
     }
 return(Result); 
 }
  
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
    // Узнаем уровень стопов и спрэд
    int Spread = MarketInfo(Symbol(), MODE_SPREAD);
    int StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL);

    // Рассчитываем значения Parabolic,на 0-ом, 1-ом и 2-м барах для 1,5-ти,15-ти минутн. графиков
    double sar10 = iSAR(NULL,1,0.02,0.2,0);
    double sar11 = iSAR(NULL,1,0.02,0.2,1);
    double sar50 = iSAR(NULL,5,0.02,0.2,0);
    double sar51 = iSAR(NULL,5,0.02,0.2,1);
    double sar150 = iSAR(NULL,15,0.02,0.2,0);
    double sar151 = iSAR(NULL,15,0.02,0.2,1);
    double sar152 = iSAR(NULL,15,0.02,0.2,2);
        
   //-------------открытие позиции Buy покупка----------------- 
    if(
    (sar10>Open[0])&&    //  SAR 1 // сравниваем с ценой открытия
    (sar11>Close[0+1])&&    // минута и сравниваем с ценой закрытия
    (sar50>Open[0])&&         //  SAR 5
    (sar51>Close[0+1])&&      // минут
    (sar150>Open[0])&&        //  SAR 15
    (sar151>Close[0+1])&&    // минут
    (sar152<Close[0+2])      // начало тренда
    )
     if(CheckOrders(OP_SELL) && CheckExists(OP_BUY))
      {
       if(StopLoss <= StopLevel+Spread)
         double SL = 0;
        else
         SL = Ask - StopLoss*Point;
       if(TakeProfit <= StopLevel-Spread)
         double TP = 0;
        else
         TP = Ask + TakeProfit*Point;
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 10, SL, TP, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
    //-------------------Конец блока покупки -------------------
    
    //-------------Открытие позиции Sell продажа----------------  
    if(
    (sar10<Open[0])&&       //  SAR 1
    (sar11<Close[0+1])&&    // минут
    (sar50<Open[0])&&       //  SAR 5
    (sar51<Close[0+1])&&    // минут
    (sar150<Open[0])&&        //  SAR 15
    (sar151<Close[0+1])&&     // минут
    (sar153>Close[0+2])      // начало тренда
    )
     if(CheckOrders(OP_BUY) && CheckExists(OP_SELL))
      {
       if(StopLoss <= StopLevel+Spread)
         SL = 0;
        else
         SL = Bid + StopLoss*Point;
       if(TakeProfit <= StopLevel-Spread)
         TP = 0;
        else
         TP = Bid - TakeProfit*Point;
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 10, SL, TP, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }

//-----------------конец блока продажи ----------------------
   return(0);
  }
//+------------------------------------------------------------------+
 
Здравствуйте уважаемые программисты!
Есть советник, торгующий по машкам. Проблема в том,что не всегда происходит корректное открытие, закрытие позиций, я думаю из-за проскальзывания. Просьба прикрутить к советнику параметр Slippage. Спасибо
Файлы:
 

Привет всем!

Скажите пожалуйста как настроить этот советник? https://www.mql5.com/ru/code/9434

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

Но где, что менять в параметрах не знаю.

Там есть параметры: profitplus 1.0

profitminus -1.0

profit 1.0

Где что менять?

Спасибо.

 

подскажите ссылкой где можно посмотреть советник который открывает позицию на открытии дневной свечи.

спс. 

 
glasha:
Здравствуйте уважаемые программисты!
Есть советник, торгующий по машкам. Проблема в том,что не всегда происходит корректное открытие, закрытие позиций, я думаю из-за проскальзывания. Просьба прикрутить к советнику параметр Slippage. Спасибо
Файлы:
 
igrok2008:

Здравствуйте!

Подскажите пожалуйста, как в советнике реализовать сравнение значений индикатора с ценой различных временных интервалов(таймфрейм???????). Код выкладываю. Поиск ничего не дал, на сколько хватило сил прочитал эту ветку (с 940). Заранее благодарен!!

Насколько я понял здесь и сравнивается. Если ошибаюсь пусть поправят.

if(
(sar10>Open[0])&& // SAR 1 // сравниваем с ценой открытия
(sar11>Close[0+1])&& // минута и сравниваем с ценой закрытия
(sar50>Open[0])&& // SAR 5
(sar51>Close[0+1])&& // минут
(sar150>Open[0])&& // SAR 15
(sar151>Close[0+1])&& // минут
(sar152<Close[0+2]) // начало тренда
)

 

1. как согласовывается программа в различных тф на реале или тестере.

пример: на часовых смотрим и выискиваем тренд, на получасовых и ниже (.) входа\выхода .

спасибо.

 
Доброго времени суток народ подскажите пожалуйста как мне вот этот индикатор EMA crossover signal сделать так чтобы он при каждом пересечении издавал не один звуковой сигнал а сколько я захочю?
 
x8profit:
Доброго времени суток народ подскажите пожалуйста как мне вот этот индикатор EMA crossover signal сделать так чтобы он при каждом пересечении издавал не один звуковой сигнал а сколько я захочю?

Код не смотрел, но первое, что в голову пришло: в том месте кода, где выдаётся один звуковой сигнал, сделайте цикл и количество его итераций выведите в экстерн. Сигнал будет выдан столько раз, сколько зададите в настройках...

Хотя... это будет пауза в работе индюшка продолжительностью в длину сигнала*количество итераций цикла.

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