Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 337

 
Tapochun:
Дело не в роботе... он у работает без ошибок. Структура торгового результата - MqlTradeResult, это второй параметр в функции OrderSend() посмотрите в документации. Код написан с использованием ООП, я в нем не сильно шарю... нужно найти метод, который посылает торговый запрос как раз с помощью OrderSend() и после него вызвать Print( result.retcode ), где result - объект структуры MqlTradeResult.

Заставил работать.

Это делается так

MqlTradeResult result;

 trade.Result(result)

Print(result.retcode)

trade - это объект класса CTrade.

 

Код возвращается 10030 (Указан неподдерживаемый тип исполнения ордера по остатку) 

Что это значит? 

 
Maxi-M:

Заставил работать.

Это делается так

trade - это объект класса CTrade.

 

Код возвращается 10030 (Указан неподдерживаемый тип исполнения ордера по остатку) 

Что это значит? 

Вы пробовали открыть демо счет на сервере MetaQuotes-Demo? Если нет - попробуйте, если все хорошо - пишите в сервисдеск и жалуйтесь что на используемом Вами сервере некорректно работает класс CTrade в советнике. Если все также плохо... тоже пишите в сервисдеск и говорите, что не можете запустить робота, такая ошибка... Но! Вначале обязательно попробуйте запустить на демо сервере метаквотов! 
 

Помогите плз!

1 вот функция:

 if (OrdersTotal()==1) 
   if(profit>=tp_in_money || a>0) 
   {
      closeall();
      closeall();
      closeall();
      //a++;
      //if(total()==0) a=0;

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

А я хочу чтоб они закрывались по определенной прибыли-определенного МЭДЖИКА не подскажешь как это сделать?мож добавить после   OrdersTotal()  чета надо???? например   !=magic    ?????????

Подскажи плиз,я методом тыка у меня нет понимания. 

 

2 чеб виртуальный стоп поставить в 50% от депо, я прав:

 

double BOL    =AccountBalance();
double PROS    =AccountCredit();
   if(PROS<BOL*0.5 || a>0) 
   {
      closeall();
      closeall();
      closeall();
      //a++;
      //if(total()==0) a=0;
 
CapitalUser:
Помогите плз!
1 вот функция:
 if (OrdersTotal()==1) 
   if(profit>=tp_in_money || a>0) 
   {
      closeall();
      closeall();
      closeall();
      //a++;
      //if(total()==0) a=0;
Тут имеется виду все ордера закрыть по достижении определенной прибыли .
А я хочу чтоб они закрывались по определенной прибыли-определенного МЭДЖИКА не подскажешь как это сделать?мож добавить после   OrdersTotal()  чета надо???? например   !=magic    ?????????
Подскажи плиз,я методом тыка у меня нет понимания. 
 
2 чеб виртуальный стоп поставить в 50% от депо, я прав:
 
double BOL    =AccountBalance();
double PROS    =AccountCredit();
   if(PROS<BOL*0.5 || a>0) 
   {
      closeall();
      closeall();
      closeall();
      //a++;
      //if(total()==0) a=0;

  • До боли знакомая конструкция, ну да ладно 

На идеал не претендую писал на скорую руку

//+------------------------------------------------------------------+
void CloseProfit(int mag,double profit)
  {

   double pro=0,pri=0;
   static bool flag=false;
   for(int i=OrdersTotal()-1; i>=0; i--)
      if(OrderSelect(i,SELECT_BY_POS))
         if(OrderSymbol()==_Symbol)
            if(OrderMagicNumber()==mag || mag==-1)
               pro+=OrderProfit()+OrderCommission()+OrderSwap();

   if(pro>=profit)flag=true;  if(pro==0)flag=false;

   for(int i=OrdersTotal()-1; i>=0; i--)
      if(OrderSelect(i,SELECT_BY_POS))
         if(OrderSymbol()==_Symbol)
            if(OrderMagicNumber()==mag || mag==-1)
              {
               if(OrderType()==OP_BUY )pri=Bid;
               if(OrderType()==OP_SELL)pri=Ask;
               if(OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(pri,_Digits),30,clrRed)==false)
                  Comment("Error "+GetLastError());
              }

  }
//+------------------------------------------------------------------+
 
VOLDEMAR:

  • До боли знакомая конструкция, ну да ладно 

На идеал не претендую писал на скорую руку

Благадарю!
 
Tapochun:
Вы пробовали открыть демо счет на сервере MetaQuotes-Demo? Если нет - попробуйте, если все хорошо - пишите в сервисдеск и жалуйтесь что на используемом Вами сервере некорректно работает класс CTrade в советнике. Если все также плохо... тоже пишите в сервисдеск и говорите, что не можете запустить робота, такая ошибка... Но! Вначале обязательно попробуйте запустить на демо сервере метаквотов! 

Спасибо большое!

В MetaQuotes-Demo сработало. Буду писать на неделе в сервис деск, чтобы разобрались с BCS5-Real сервером. 

 
Maxi-M:

Спасибо большое!

В MetaQuotes-Demo сработало. Буду писать на неделе в сервис деск, чтобы разобрались с BCS5-Real сервером. 

Не за что. К сожалению, на разных серверах советники могут работать по-разному.
 

Добрый вечер,Господа! 

Вопрос: Можно ли в МТ4 создать графические элементы(трендовая линия,индикатор..........) с расширениенм Gif ,т.е. с эффектом анимации(переливающийся,мигающий..........). Благодарю за ответ.

 
gnawingmarket:

Добрый вечер,Господа! 

Вопрос: Можно ли в МТ4 создать графические элементы(трендовая линия,индикатор..........) с расширениенм Gif ,т.е. с эффектом анимации(переливающийся,мигающий..........). Благодарю за ответ.

Ваш вопрос не понятен, программно можно сделать и линии и прочее но что вы подразумеваете под gif 
 
VOLDEMAR:
Ваш вопрос не понятен, программно можно сделать и линии и прочее но что вы подразумеваете под gif 
Вообщем-то,да-вопрос сырой. Беру тайм-аут......пусть тема ещё поварится в моём в котелке. Спасибо.
Причина обращения: