Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 792

 

подскажите в чём ошибка.хочу сделать советника, что бы он открывал определённое количество  байстоп и селлстоп ордеров на определённом расстоянии.

int pendord() 

{
int t = 0;
for(int i=OrdersTotal()-1;i>=0;i--)
  {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
    {
      if( OrderSymbol()!=Symbol() || OrderType() != OP_BUYSTOP ||
    OrderType() != OP_SELLSTOP)continue;
      {
      t++;
 
if(nOrders < t*2)

{
 OrderSend(Symbol(),OP_SELLSTOP,lot,Ask - (opdist + mn)*Point,3,Ask - (opdist + mn)*Point + sl*Point,Ask - (opdist + mn)*Point - sl*Point,"",mn,0,Red);
}
else if(nOrders < t*2)
 OrderSend(Symbol(),OP_BUYSTOP,lot,Bid + (opdist + mn + 1)*Point,3,Bid + (opdist + mn + 1)*Point - sl*Point,Bid + (opdist + mn + 1)*Point + sl*Point,"",mn + 1,0,Blue);
}
mn +1;
}}

return(o);   
}
 
A Ctrl+Alt+M так сложно нажать для вставки кода? По вопросу - в кодобазе навалом советников - сеточников, искать примерно так.
 
evillive:
A Ctrl+Alt+M так сложно нажать для вставки кода? По вопросу - в кодобазе навалом советников - сеточников, искать примерно так.
спасибо большое
 
Vinin:
Изменилось время  формирования свечи
Спасибо, но не совсем понял ответ. Вы имеете в виду

TimeCurrent

https://docs.mql4.com/ru/dateandtime/timecurrent


Ozero.

 
Ozero:
Спасибо, но не совсем понял ответ. Вы имеете в виду

TimeCurrent

https://docs.mql4.com/ru/dateandtime/timecurrent


Ozero.

Имеется в виду время свечи, Time[0] - время открытия текущей свечи. Сравнивать его надо с ранее сохранённым в какой-либо переменной временем свечи, каждый тик. Если по приходу очередного тика значение в переменной меньше, значит появилась новая свеча.

Как-то вот так:

static datetime prevtime=0;                  
void OnInit()
{
   prevtime=Time[0];
}
void OnTick() 
{
{код, исполняемый на каждом тике}

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

{код, исполняемый на открытии нового бара}

}
 
evillive:

Имеется в виду время свечи, Time[0] - время открытия текущей свечи. Сравнивать его надо с ранее сохранённым в какой-либо переменной временем свечи, каждый тик. Если по приходу очередного тика значение в переменной меньше, значит появилась новая свеча.

Как-то вот так:

А зачем static на уровне глобальных переменных?


И ещё не понимаю почему 

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

Ведь если наступил новый бар, то prevtime будет равен Time[1] что всегда будет меньше чем Time[0]

 
evillive:

так и в чём проблема? решение уже вроде выделено жирным шрифтом...

не знаю как функцию переделать под юникод об этом и прошу
 
AlexeyVik:

А зачем static на уровне глобальных переменных?


И ещё не понимаю почему 

Ведь если наступил новый бар, то prevtime будет равен Time[1] что всегда будет меньше чем Time[0]

Статик был вписан годами раньше и не мной, да и вообще конструкция уже несколько лет работает без проблем в неизменном виде, а что работает - трогать не надо, железное правило )))

А насчёт логики во втором вопросе, тут подумайте ещё, что-то вы неправильно поняли, наверное.

 

Дубль два.

Возможно ли на графике в отдельном окне изобразить график баланса, но без привязки к барам?

То есть чтобы рисовалась кривая линия наподобие той, которая рисуется в тестере стратегий, чтобы она вся умещалась в одном окне.  

 

Здравствуйте. Имеется  у меня вот такой индикатор: total power. Я по нему работаю. Я абсолютно далек в программирование, пишу здесь в надежде на помощь а так же в надежде, что мой вопрос для знающего человека  будет простым и не сложным. 

 

Как можно покрасить эти три цифровые значения в свои цвета ( на скрине выделены пунктиром)?  Что бы они не были одним серым цветом. А еще так же хотелось их сделать чуть побольше?

 

 

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