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

 

Вчера полчача, и полчаса сегодня, и в форуме полчаса, пока дошло!!!!!!!!  Спасибо!!!!!!!!!! 

...можно ещё так:   -ну да, спасибо. У меня и так хорошо, понятная и простая функция!

 
Trendy:
Добрый день, сейчас изучаю учебник по MQL4  Сергея Ковалева и пока не нашел как обращаться к массивам-таймсериям других валютных пар. Т.е. необходимо, чтобы в один советник подгружались массивы-таймсерии нескольких валютных пар. Знаю, что к некоторым данным можно обращаться с помощью функции MarketInfo(), только проблема в том, что в идентификаторах запроса нет ни close, ни других параметров ценовых рядов. Подскажите где можно почитать способы организации работы (если есть) с массивами-таймсерияи нескольких инструментов или, может как возможно обойти это ограничение.
double iClose( string symbol, int timeframe, int shift)
Возвращает значение цены закрытия указанного параметром shift бара с соответствующего графика (symbol, timeframe). В случае ошибки функция возвращает 0. Для получения дополнительной информации об ошибке необходимо вызвать функцию GetLastError().
Для текущего графика информация о ценах закрытия находится в предопределенном массиве Close[].
Параметры:
symbol   -   Символьное имя инструмента. NULL означает текущий символ.
timeframe   -   Период. Может быть одним из периодов графика. 0 означает период текущего графика.
shift   -   Индекс получаемого значения из таймсерии (сдвиг относительно текущего бара на указанное количество периодов назад).
Пример:
  Print("Current bar for USDCHF H1: ",iTime("USDCHF",PERIOD_H1,i),", ",  iOpen("USDCHF",PERIOD_H1,i),", ",
                                      iHigh("USDCHF",PERIOD_H1,i),", ",  iLow("USDCHF",PERIOD_H1,i),", ",
                                      iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));

Как-то так.
 

Есть скомпилированный в ex4 индикатор, который представляет собой

полоску из синих и красных точек, как сигнал для покупки или продажи.

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

Буду очень признателен, даже за наброски. 

 
Здравствуйте, друзья. Возникла необходимость такую вещь реализовать: стохастик пересекает некое некий уровень сверху вниз n-ное колличество раз и при условии, что это происходит за определенный временной интервал переменной присваивается значение (+). Ну если, например, за 30 минут стохасти три раза пересек 80 сверху вниз. Заранее спасибо)
 

Приветствую всех!

Пользуюсь данным индикатором, но он имеет свойство зависать, после каждого, вновь открывшегося бара. Думаю, что от большого количества пересчитываемых баров. Пробовал прописать ограничение на количество баров, но не выходит - индикатор меняет внешний вид. Может, кто-то поможет с данной функцией? Буду весьма признателен!

Файлы:
 
Integer:

Попробовал. ЕМА на mql и в dll.

Вполне заметно. Если вычисления будут посложнее, будет заметнее. 


Я отпишусь. У меня там куча циклов к тому же.
 

Здравствуйте! В советнике единственным фиксатором прибыли является Trailing Stop, который эффективно закрывает сделки. Отдельных СтопЛосса и ТэйкПрофита нет.  

Конечно бывают ситуации когда эксперт открывается в одну сторону, в то время как рынок уходит в другую.

В таких случаях сделки закрываются с минимальной прибылью, но 2 сделки за тестовый период закрываются с убытком в -2,40 и -2,50.

В результатах проверки СтопЛосс выставляется на несколько пунктов выше цены открытия сделки или даже ниже.

Привожу код Трейлинга из MacdSample ниже. Пожалуйста помогите разобраться!  

//-------------------------Trailing Stop----------------------------------+
for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL &&   // check for opened position 
         OrderSymbol()==Symbol())  // check for symbol
        {
         if(OrderType()==OP_BUY)   // long position is opened
           {
            // check for trailing stop
            if(TrailingStop>0)  
              {                 
               if(Bid-OrderOpenPrice()>Point*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-Point*TrailingStop)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
                     return(0);
                    }
                 }
              }
           }
         else // go to short position
           {
            // check for trailing stop
            if(TrailingStop>0)  
              {                 
               if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
                 {
                  if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
                     return(0);
                    }
                 }
              }
           }
        }
     }
   return(0);
 
skyjet:

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


Наверно своп.
 
Integer:

Наверно своп.


   Дело в том, что у меня не получается разобраться, почему ТрэйлингСтоп вообще закрывает сделку до того как расстояние между настоящей ценой и ценой открытия превысила величину TS, после движения цены в противоположную открытию сторону и последующему возврату к цене открытия?

    

 
Доброго времени суток.
На счету 12,93$ хочу открыть ордер с объемом 0,01 ,стоп лосс и тейк профит по 0,но программа пишет недостаточно средств-почему? что не так и где что нужно исправить?