Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 99

 

хочу сделать цыкал чтобы считал профит через каждых 5 ордеров. вроде как считает, но есть ошибка     " 4051 Недопустимое значение параметра функции"  почему?


input int input_step=5;
int step=input_step;

void start()
{
int h, history=OrdersHistoryTotal();
double orderProfit=0;
 if(history==step)
  {
   for(h=history; h<=history; h--)
    {
    if(OrderSelect(h,SELECT_BY_POS,MODE_HISTORY)==true)
      {
      orderProfit=orderProfit+OrderProfit();
      Print("profit=",orderProfit);
      } 
    }
    step=step+input_step;
  }
  return;
}



 

Здравствуйте уважаемые ГУРУ ...

Прокручивал данные в окне терминала > История ... 

... и каким то образом переместил расположение окна Терминала над окнами графиков ... 

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


Буду очень БЛАГОДАРЕН.

 
Yaroslav Nykula:

Здравствуйте уважаемые ГУРУ ...

Прокручивал данные в окне терминала > История ... 

... и каким то образом переместил расположение окна Терминала над окнами графиков ... 

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


Буду очень БЛАГОДАРЕН.


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

 

Добрый день! Подскажите пожалуйста, как сделать чтобы советник переставал торговать после трех убытков (с одним и тем же магическим числом). После одного убытка так 

int flag==0;      

for(int pos_buy=OrdersHistoryTotal()-1; pos_buy>=0; pos_buy--) 

           {

            if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 

             {

             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))

             flag=1; }}


А как с тремя убытками?...

 
Alekseu Fedotov:

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


Спасибочки ... двойным счелчком захватил и перетащил вниз ... сам, блин, не догадался.

 
defailer7:

Добрый день! Подскажите пожалуйста, как сделать чтобы советник переставал торговать после трех убытков (с одним и тем же магическим числом). После одного убытка так 

int flag==0;      

for(int pos_buy=OrdersHistoryTotal()-1; pos_buy>=0; pos_buy--) 

           {

            if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 

             {

             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))

             flag=1; }}


А как с тремя убытками?...

я сам начинающий. в полне возможно это можно реализовать так

for(int pos_buy=OrdersHistoryTotal()-1; pos_buy>=0; pos_buy--) 
           {
            if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 
             {
             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))
             flag=1; }
            if(OrderSelect(pos_buy-1,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 
             {
             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))
             flag2=1; }
            if(OrderSelect(pos_buy-2,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 
             {
             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))
             flag3=1; }
           }
  if(flag==1 && flag2==1 && flag3==1)bool flag_trex=true;
 
Baruandreas:

я сам начинающий. в полне возможно это можно реализовать так


Спасибо большое, все получилось.

 

Привет.
Подскажите как ограничить торговлю советника по времени.
Перепробовал множество способов с форума но так ничего не получилось, в написании совсем ничего не понимаю.
Желательно прямо пальцем тыкнуть куда что вставить.

 
defailer7:

Добрый день! Подскажите пожалуйста, как сделать чтобы советник переставал торговать после трех убытков (с одним и тем же магическим числом). После одного убытка так 

int flag==0;      

for(int pos_buy=OrdersHistoryTotal()-1; pos_buy>=0; pos_buy--) 

           {

            if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 

             {

             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))

             flag=1; }}


А как с тремя убытками?...


Я тоже только учусь!! Флаг++, если (флаг==3)выход;

И убыток он меньше нуль 
 
kuzhakov:

Привет.
Подскажите как ограничить торговлю советника по времени.
Перепробовал множество способов с форума но так ничего не получилось, в написании совсем ничего не понимаю.
Желательно прямо пальцем тыкнуть куда что вставить.


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

Есть функция возвращает время открытия бара 

Попробуйте прибавить число к функции которая вернёт время открытия бара с периодом день

Возвращает значение времени открытия бара (указанного параметром shift) соответствующего графика.

datetime  iTime(
   string           symbol,          // символ
   int              timeframe,       // период
   int              shift            // сдвиг
   );


Период день 

Сдвиг 0

iTime(евро, день, сегодня это нуль)+1=время 00-00-01

В одной минуте 60 секунд

iTime(евро, день, сегодня это нуль)+60=время 00-01-00 и так далее

К примеру мы хотим чтобы советник начал работать 01-00-00

if((iTime(Symbol(),PERIOD D1,0)+3600)<TimeCurent() работаем

Это все чем я вам могу помочь с телефона 

Ещё можно вернуть время текущего часа минут и сравнить их , удачи!!!

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