Тестер и отладка.

 

Может кто сталкивался с такой проблемой в МТ5, в тестере ордера открываются, а запускаю отладку, не проходит проверку с ошибкой 10013, "Неправильный запрос"

Пробовал ставить и со стопами и без стопов... никакой разницы.

 
Подробностей бы побольше.....(код, логи, сервер, настройки и т.д.)
 

Подробности. 


Код советника.

/********************************************************************\
//|                                                        !Test.mq5 |
//|                                                         Viktorov |
//|                                                   v4forex@qip.ru |
\********************************************************************/
#property copyright "Viktorov"
#property link      "v4forex@qip.ru"
#property version   "1.00"

#include <Trade\Trade.mqh>

input double               lot         =  0.1;  // Лот первого ордера
input int                  Take        =  10;   // TakeProfit

ENUM_DEAL_TYPE    trans_type;
ulong             trans_deal, Tikcet;
double point, FirstOpenPrice, TakeProfit, SecondOpenPrice, MaxPrice , MinPrice, SecondTake;
bool  NewStart;
    CTrade Trade;
   MqlTradeResult v_res, v_result;
  MqlTradeTransaction v_Trans;
/*******************Expert initialization function*******************/
int OnInit()
{
    point = _Digits%2 == 0
     ? _Point
      : _Point * 10;
   NewStart = true;
   return(INIT_SUCCEEDED);
}/*******************************************************************/

/************************Expert tick function************************/
void OnTick()
{

      if(NewStart)
       {
        OpenPositionsSymbol(ORDER_TYPE_BUY);
        NewStart = false;
       }
}/*******************************************************************/

/*********************TradeTransaction function**********************/
void OnTradeTransaction(const MqlTradeTransaction& trans,
                        const MqlTradeRequest& request,
                        const MqlTradeResult& result)
{

  ENUM_TRADE_TRANSACTION_TYPE type = (ENUM_TRADE_TRANSACTION_TYPE)trans.type;
   Print(EnumToString(type));
}/*******************************************************************/

bool OpenPositionsSymbol(ENUM_ORDER_TYPE FirstOrderType)
{
  MqlTradeRequest v_Request;
   MqlTradeCheckResult check;
    ZeroMemory(check);
     ZeroMemory(v_result);
      bool resOp = false;
       uint Check = 0;
  
  int i, Total = PositionsTotal();
   for(i = 0; i < Total; i++)
    {
     if(PositionGetSymbol(i) == _Symbol) return(false);
    }
     
      FirstOpenPrice = FirstOrderType == ORDER_TYPE_BUY
       ? SymbolInfoDouble(_Symbol, SYMBOL_ASK)
        : SymbolInfoDouble(_Symbol, SYMBOL_BID);
      
     TakeProfit = FirstOrderType == ORDER_TYPE_BUY
      ? NormalizeDouble(FirstOpenPrice+Take*point, _Digits)
       : NormalizeDouble(FirstOpenPrice-Take*point, _Digits);
       
         if(!OrderCheck(v_Request, check))
          {
           Print("Ордер не может быть поставлен ", check.retcode);
           return(false);
          }
        resOp = Trade.PositionOpen(Symbol(), FirstOrderType, lot, FirstOpenPrice, 0.0, TakeProfit);
       if(!resOp)
        {
         Print("resOp ", GetLastError(), " Check ", Check); return(false);
        }
    
  return(true);
}/*******************************************************************/

/******************Expert deinitialization function******************/
void OnDeinit(const int reason)
{
 Comment("");
}/*******************************************************************/

Лог тестера

QL      0       11:38:23.878    Startup MetaTester 5 build 1062 (29 Jan 2015)
CF      0       11:38:23.878    Server  MetaTester 5 started on 127.0.0.1:3000
GL      0       11:38:23.878    OpenCL  Device #0: GPU Advanced Micro Devices, Inc. Turks with OpenCL 1.1 (6 units, 800 MHz, 512 Mb, version CAL 1.4.1353, rating 83)
MQ      0       11:38:23.878    Startup initialization finished
HD      0       11:38:24.988    127.0.0.1       login (build 1062)
QE      0       11:38:25.008    Tester  template file tester.tpl added. 2348 bytes loaded
IJ      0       11:38:25.008    Network 38240 bytes of group info loaded
DR      0       11:38:25.008    Network 1478 bytes of tester parameters loaded
MG      0       11:38:25.008    Network 1208 bytes of input parameters loaded
OO      0       11:38:25.008    Network 6646 bytes of symbols list loaded
EF      0       11:38:25.008    Tester  expert file added: Experts\Test\!Test.ex5. 26546 bytes loaded
LQ      0       11:38:25.008    Tester  initial deposit 10000.00 USD, leverage 1:100
HG      0       11:38:25.008    Tester  successfully initialized
QS      0       11:38:25.008    Network 57 Kb of total initialization data received
PH      0       11:38:25.008    Tester  AMD FX-4170 Quad-Core Processor , 12255 MB
IL      0       11:38:25.008    Symbols EURUSD: symbol to be synchronized
IK      0       11:38:25.008    Symbols EURUSD: symbol synchronized, 3384 bytes of symbol info received
OL      0       11:38:25.008    History EURUSD: history synchronization started
MG      0       11:38:25.008    History EURUSD: load 27 bytes of history data to synchronize
EH      0       11:38:25.008    History EURUSD: history synchronized from 2013.01.01 to 2015.01.30
IM      0       11:38:25.008    History EURUSD,M15: contains 25445 bars of beginning data from 2013.01.01 23:00 to 2014.01.14 23:45
LP      0       11:38:25.008    History EURUSD,M15: history cache reserved for estimated 52114 bars
OH      0       11:38:25.008    History EURUSD,M15: history begins from 2013.01.01 23:00
IM      0       11:38:25.008    Tester  EURUSD,M15 (MetaQuotes-Demo): every tick generating
PN      0       11:38:25.008    Tester  testing with execution random delay
HJ      0       11:38:25.008    Tester  EURUSD,M15: testing of Experts\Test\!Test.ex5 from 2014.01.15 00:00 to 2015.01.31 00:00 started with inputs:
NJ      0       11:38:25.008    Tester    lot=0.10
JD      0       11:38:25.008    Tester    Take=10
NR      0       11:38:25.008    Trade   2014.01.15 00:00:06   price corrected from 1.36737 to 1.36741, deviation: 10 (instant buy 0.10 EURUSD at 1.36737 tp: 1.36837)(1.36732 / 1.36741 / 1.36732)
QG      0       11:38:25.008    Trade   2014.01.15 00:00:06   instant buy 0.10 EURUSD at 1.36741 tp: 1.36837 (1.36732 / 1.36741 / 1.36732)
KG      0       11:38:25.008    Trades  2014.01.15 00:00:06   deal #2 buy 0.10 EURUSD at 1.36741 done (based on order #2)
NO      0       11:38:25.008    Trade   2014.01.15 00:00:06   deal performed [#2 buy 0.10 EURUSD at 1.36741]
OM      0       11:38:25.008    Trade   2014.01.15 00:00:06   order performed buy 0.10 at 1.36741 [#2 buy 0.10 EURUSD at 1.36741]
HQ      0       11:38:25.008    !Test (EURUSD,M15)      2014.01.15 00:00:06   CTrade::OrderSend: instant buy 0.10 EURUSD at 1.36737 tp: 1.36837 [done at 1.36741]
HS      0       11:38:25.008    !Test (EURUSD,M15)      2014.01.15 00:00:06   TRADE_TRANSACTION_DEAL_ADD
CG      0       11:38:25.008    !Test (EURUSD,M15)      2014.01.15 00:00:06   TRADE_TRANSACTION_ORDER_DELETE
HK      0       11:38:25.008    !Test (EURUSD,M15)      2014.01.15 00:00:06   TRADE_TRANSACTION_HISTORY_ADD
LS      0       11:38:25.008    !Test (EURUSD,M15)      2014.01.15 00:00:06   TRADE_TRANSACTION_REQUEST
JK      3       11:38:42.938    Tester  stopped by user
MO      0       11:38:42.938    Trade   2014.01.15 00:11:02   position closed due end of test at 1.36744 [buy 0.10 EURUSD 1.36741 tp: 1.36837]
CS      0       11:38:42.938    Trades  2014.01.15 00:11:02   deal #3 sell 0.10 EURUSD at 1.36744 done (based on order #3)
KM      0       11:38:42.938    Trade   2014.01.15 00:11:02   deal performed [#3 sell 0.10 EURUSD at 1.36744]
NJ      0       11:38:42.938    Trade   2014.01.15 00:11:02   order performed sell 0.10 at 1.36744 [#3 sell 0.10 EURUSD at 1.36744]
RF      0       11:38:42.938    Tester  final balance 10000.30
GP      0       11:38:42.938    Tester  OnTester result 0
LF      0       11:38:42.938    Tester  EURUSD,M15: 182 ticks (1 bars) generated within 17877 ms (total bars in history 25446, total time 17955 ms)
ED      0       11:38:42.938    Tester  292 Mb memory used
LK      0       11:38:42.938    Tester  log file "D:\MetaTrader 5\MetaTrader 5\Tester\Agent-127.0.0.1-3000\logs\20150204.log" written
QJ      0       11:38:43.008    Tester  tester agent shutdown started
GM      0       11:38:43.008    Tester  shutdown tester machine

Лог терминала

HL      0       11:34:30.997    !Test (EURUSD,M15)      Ордер не может быть поставлен 10013
OI      2       11:34:55.808    !Test (EURUSD,M15)      debugging terminated
 
AlexeyVik:

Подробности.

Это что, шутка такая? Вы передаете незаполненный v_Request, отсюда и ошибка. А вот почему это прокатывает в тестере - вопрос очень интересный!

if(!OrderCheck(v_Request, check))
 
VDev:

Это что, шутка такая? Вы передаете незаполненный v_Request, отсюда и ошибка. А вот почему это прокатывает в тестере - вопрос очень интересный!

Ну да... Спасибо.

Я уж сначала подумал что вписал это после тестирования... ан нет... сейчас перепроверил, в тестере прокатывает.