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

 
кто нибудь сталкивался с проблемой , не могу войти в мт5, проблема - invalid certificate?
 
Impulsive87:
кто нибудь сталкивался с проблемой , не могу войти в мт5, проблема - invalid certificate?
Windows настоящая (случайно не эмулятор)? Подключаетесь к брокеру который выдавал сертификат или к обычному ДЦ?
 

Какие условия чтобы тестирование продолжалось с тем же кешем который лежит в \Tester\cache, чтобы не создавалась новая таблица оптимизации а дополнялась?

1 чтобы был неизменный скомпилированный файл советника ex5

2 что бы не менялись условия тестирования (за исключением по балансу, или по балансу + прибыльность)

3 ?

 
Impulsive87:
кто нибудь сталкивался с проблемой , не могу войти в мт5, проблема - invalid certificate?
я давным давно сталкивался, проверяй в хранилище сертификатов и в папке с программой чтобы были нужные сертификаты
 
Vladimir Karputov:

Статья С чего начать при создании торгового робота для Московской биржи MOEX. Пример слушателя "TradeTransactionListener":

Спасибо, но это не совсем то - там работают с историей, я мне надо получить данные из MqlTradeResult сразу после открытия позиции. Странно - часть параметров он выводит, а часть нет, т.е. что-то делаю не так. Хотелось бы разобраться именно в этой ситуации...
 
Algotrader18:

Добрый день!

Открываю позицию и хочу вывести на печать содержание MqlTradeResult вот так:


result.retcode, order и volume выводятся, а deal и price всегда нули.
Подскажите, пожалуйста, что делаю не так?

Попробуйте перед печатью вызвать

//+------------------------------------------------------------------+
//| Get the result structure                                         |
//+------------------------------------------------------------------+
void CTrade::Result(MqlTradeResult &result) const
  {
   result.retcode   =m_result.retcode;
   result.deal      =m_result.deal;
   result.order     =m_result.order;
   result.volume    =m_result.volume;
   result.price     =m_result.price;
   result.bid       =m_result.bid;
   result.ask       =m_result.ask;
   result.comment   =m_result.comment;
   result.request_id=m_result.request_id;
   result.retcode_external=m_result.retcode_external;
  }
из класса CTrade
 
Alexey Viktorov:

Попробуйте перед печатью вызвать

из класса CTrade
Спасибо, хотелось бы сделать это без CTrade.
 
Algotrader18:
Спасибо, хотелось бы сделать это без CTrade.

Так вытащите нужный функционал из класса и пропишите к себе.

 
Konstantin Nikitin:

Так вытащите нужный функционал из класса и пропишите к себе.

Спасибо. Мой вопрос намного проще - открыл ордер через OrderSend(request,result) и хочу сразу оперировать его параметрами - к примеру, вывести их на печать. Вот так:
 //============================================================
        //--- declare and initialize the trade request and result of trade request
        MqlTradeRequest request={0};
        MqlTradeResult  result={0};
        //--- parameters of request
        request.action   = TRADE_ACTION_DEAL;    // type of trade operation
        request.symbol   = Pair1;                // symbol
        request.volume   = lots;                 // volume of lot
        request.type     = oper;                 // order type
        request.price    = priceOpen;            // price for opening
        request.deviation= Slippage;             // allowed deviation from the price
        request.magic    = magic;   
  //===================================      
        if(OrderSend(request,result))
                
        Print ("retcode = " + retcode + "; ");        
        Print ("deal = " + deal + "; ");
        Print ("order = " + order + "; "); 
        Print ("volume = " + volume + "; ");  
        Print ("price = " + price + "; ")
Часть параметров, такие как retcode, order и volume выводятся, а deal и price нет.
Особенно интересует price. Все результаты есть в MqlTradeResult. На печать вывожу их одинаково, но что-то выводится, а что-то нет.  Вопрос - почему одни параметры выводятся, а другие нет?
 

Как объединить массивы?

string eData[][50][3];
string bData[][20][5];
 ArrayCopy(eData,bData,ArraySize(eData)); // error: incompatible 3 arrays ranges for ArrayCopy function (50 and 20)

Я так понимаю, что ArrayCopy копирует только одномерные массивы?