Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1789

 
MakarFX #:

Судя по скрину эти условия не выполняются

//+------------------------------------------------------------------+
//| Открытие ордера                                                  |
//+------------------------------------------------------------------+
void SendFirsOrder(int so=-1)
  {
   double tp=0;
   if(so==0)
     {
      if(OrderSend(Symbol(),OP_BUY, Lots(),Ask,slip,0, 0, "The first purchase order", Magic,0,clrBlue))
        {
         Print("Open Buy: ",_Symbol);
        }
      else
        {
         Print("Error Open Buy: ",_Symbol," / ",GetLastError());
        }
     }
   if(so==1)
     {
      if(OrderSend(Symbol(),OP_SELL, Lots(),Bid,slip,0, 0, "The first sell order", Magic,0,clrRed))
        {
         Print("Open Sell: ",_Symbol);
        }
      else
        {
         Print("Error Open Sell: ",_Symbol," / ",GetLastError());
        }
     }
  }
 
EVGENII SHELIPOV #:

Как может работать трал если у тебя OrderStopLoss() равен 0, а в условии

        if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderProfit() > 0 && OrderStopLoss() != 0)
 
Nerd Trader #:

Проблема же не в том чтобы кто-то видел.
Если будет пустая строка до и после комента:

иде вставляет



Впрочем всё это не особо важно, нужно просто использовать другое иде.

А зачем пустая строка между строкой комментария и объявлением функции?

 

Добрый день!

Недавно перешел на МТ5 прочел много статей, но так и не нашел ответа на свой вопрос.

В МТ5 можно включить тип оптимизации - "медленная (полный перебор параметров)". И выбрать для оптимизации один инструмент.

Есть ли в МТ5 функция в тестере, при которой можно задать несколько инструментов и по ним все будет проходить оптимизации. Т е в начале перебрал первый, потом второй и т д. А в конце выдал отдельный отчет по каждому инструменту? Или может есть какие не штатные решения этого вопроса, может другие программы есть для этого?

Смысл в том, чтобы не караулить у компа, когда закончится тест инструмента. А сразу задать все нужные и пусть считает весь день.

 
Kot #:

Добрый день!

Недавно перешел на МТ5 прочел много статей, но так и не нашел ответа на свой вопрос.

В МТ5 можно включить тип оптимизации - "медленная (полный перебор параметров)". И выбрать для оптимизации один инструмент.

Есть ли в МТ5 функция в тестере, при которой можно задать несколько инструментов и по ним все будет проходить оптимизации. Т е в начале перебрал первый, потом второй и т д. А в конце выдал отдельный отчет по каждому инструменту? Или может есть какие не штатные решения этого вопроса, может другие программы есть для этого?

Смысл в том, чтобы не караулить у компа, когда закончится тест инструмента. А сразу задать все нужные и пусть считает весь день.

Запусти несколько терминалов, по одному для каждой пары
 

Когда кнопка отжата игнорируя условие почему то всегда выполняется ObjectDelete() даже когда объект удалён.

void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{
   ...
  if(ObjectGetInteger(0,"Button Stop Order",OBJPROP_STATE)){
      if(ChartXYToTimePrice(window,x,y,window,dt,price)){
         ...
  }else if(ObjectFind("order setup") || ObjectFind("Stop Loss"))
      Print(line_name," delete ",ObjectDelete(line_name)," error ", GetLastError());

2021.12.05 21:43:14.040 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.040 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.030 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.030 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.030 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.030 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.030 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.020 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.020 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.020 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.020 USDCHF,M1: Stop Loss delete false error 0
 
Alexey Viktorov #:

А зачем пустая строка между строкой комментария и объявлением функции?

То есть вы хотите сказать что когда ide вставляет какую-то хероту в ваш код без вашего согласия, то это нормально?
 
Nerd Trader #:

Когда кнопка отжата игнорируя условие почему то всегда выполняется ObjectDelete() даже когда объект удалён.

void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{
   ...
  if(ObjectGetInteger(0,"Button Stop Order",OBJPROP_STATE)){
      if(ChartXYToTimePrice(window,x,y,window,dt,price)){
         ...
  }else if(ObjectFind("order setup")==0 || ObjectFind("Stop Loss")==0){
      Print(line_name," delete ",ObjectDelete(line_name)," error ", GetLastError());
 
MakarFX #:
аааа нуда, совсем уже затрахался
 
Nerd Trader #:
аааа нуда, совсем уже затрахался
Я тебе уже писал