증권 거래소 지정가 주문에 대한 슬리피지 통계 - 페이지 3

 

bcs에서 데모 mt5 계정 만들기를 시작하십시오. 배포 링크가 포함된 이메일을 받게 됩니다. 서버를 선택하는 단계에서는 데모 서버가 아닌 실제 거래를 위해 선택합니다. 임의의 데이터로 계정을 만듭니다. 인증서를 만드십시오. 당신이 가진 전부는 실제 견적과 기록이 있는 제로 잔액이 있는 실제 계정 입니다.

 
pivomoe :

bcs에서 데모 mt5 계정 만들기를 시작합니다. 배포 링크가 포함된 이메일을 받게 됩니다. 서버를 선택하는 단계에서는 데모 서버가 아닌 실제 거래를 위해 선택합니다. 임의의 데이터로 계정을 만듭니다. 인증서를 만드십시오. 당신이 가진 전부는 실제 견적과 기록이 있는 제로 잔액이 있는 실제 계정 입니다.

쿨 - 효과가 있었습니다. 감사합니다! 하늘과 땅 - 데모 및 실제 틱 데이터. 다시 한번 감사합니다!
 
fxsaber :

"실제 틱별" 모드에서 지정가 주문의 양의 미끄러짐은 "생성된 틱별" 모드보다 약 50% 더 높습니다.

그들은 테스터의 정확도를 높이기 위해 실제 틱을 도입했지만 지정가 주문의 긍정적인 미끄러짐을 도입하여 백테스트 결과를 인위적으로 잘못 표현한 사건으로 밝혀졌습니다.

거래소에서 지정가 주문은 미끄러지지 않지만 주문 가격으로 정확히 실행됩니다. 그러나 테스터에서는 그렇지 않습니다.

이 테스터 버그는 위 링크에 있는 라이브러리를 통해 우회할 수 있습니다. 그러나 이것은 목발 솔루션입니다. 테스터 자체가 정확하게 작동하는 것은 논리적입니다.

포럼 회원들에게 이 주제에 대한 의견을 요청합니다. 명백한 이유로 커뮤니티 구성원 중 한 사람의 의견이 개발자에 의해 심각하게 받아들여지지 않기 때문입니다.

아무도 말을 하지 않은 것이 아쉽습니다.
 
fxsaber :
아무도 말을 하지 않은 것이 아쉽습니다.

여기 포럼에서이 주제는 이미 어딘가에서 논의되었으며 개발자 자신은 새 빌드에서 수정할 것이라고 말한 것 같습니다. 검색해 보세요. 그렇지 않으면 실제로 들어가지 않았습니다.

Ps 주제가 있었는데 답변도 없었습니다 https://www.mql5.com/ru/forum/86591/page4

В билде 1340 MT5 очень странное исполнение отложенных ордеров на FOREX в тестере стратегий
В билде 1340 MT5 очень странное исполнение отложенных ордеров на FOREX в тестере стратегий
  • 리뷰: 1
  • www.mql5.com
Если тестировать на «OHLC на M1», то ВСЕ ордера исполняются с проскальзыванием в 30-50 пятизначных пунктов...
 
Maxim Dmitrievsky :

여기 포럼에서이 주제는 이미 어딘가에서 논의되었으며 개발자 자신은 새 빌드에서 수정할 것이라고 말한 것 같습니다. 검색해 보세요. 그렇지 않으면 실제로 들어가지 않았습니다.

Ps 주제가 있었는데 답변도 없었습니다 https://www.mql5.com/ru/forum/86591/page4

수정하지 않았습니다.
 
fxsaber :
아무도 말을 하지 않은 것이 아쉽습니다.

근거가 전혀 없기 때문입니다.

보고서를 저장하고 zip으로 첨부하는 것이 훨씬 쉽습니다. 계산이 포함된 한 트랜잭션의 예를 보여줍니다.

 
Renat Fatkhullin :

근거가 전혀 없기 때문입니다.

보고서를 저장하고 zip으로 첨부하는 것이 훨씬 쉽습니다. 계산이 포함된 한 트랜잭션의 예를 보여줍니다.

나는 이것으로 충분하다고 생각했다 https://www.mql5.com/en/code/16134

알겠습니다. 준비가 되었습니다.

SlipPage
SlipPage
  • 투표: 10
  • 2016.08.25
  • fxsaber
  • www.mql5.com
Расчет проскальзываний совершенных сделок в валюте счета.
 

조언자

 #define OP_BUY ORDER_TYPE_BUY
#define OP_SELL ORDER_TYPE_SELL
#define OP_BUYLIMIT ORDER_TYPE_BUY_LIMIT
#define OP_SELLLIMIT ORDER_TYPE_SELL_LIMIT

// Кусок из https://www.mql5.com/ru/code/16006
class MT4ORDERS
{  
public :   
   static int MT4OrderSend( const string Symb, const int Type, const double dVolume, const double Price, const int SlipPage, const double SL, const double TP,
                             const string comment = NULL , const int magic = 0 , const datetime dExpiration = 0 , color arrow_color = clrNONE )
  {
     MqlTradeRequest Request = { 0 };

    Request.action = (((Type == OP_BUY ) || (Type == OP_SELL )) ? TRADE_ACTION_DEAL : TRADE_ACTION_PENDING );
    Request.magic = magic;

    Request.symbol = ((Symb == NULL ) ? :: Symbol () : Symb);
    Request.volume = dVolume;
    Request.price = Price;

    Request.tp = TP;
    Request.sl = SL;
    Request.deviation = SlipPage;
    Request.type = ( ENUM_ORDER_TYPE )Type;

    Request.type_filling = ORDER_FILLING_RETURN ;

     if (dExpiration > 0 )
    {
      Request.type_time = ORDER_TIME_SPECIFIED ;
      Request.expiration = dExpiration;
    }

    Request.comment = comment;

     MqlTradeResult Result;

     return (:: OrderSend (Request, Result) ? ((Request.action == TRADE_ACTION_DEAL ) ? ( int )Result.deal : ( int )Result.order) : - 1 );
  }

   // Такая перегрузка позволяет использоваться совместно и MT5-вариант OrderSend
   static bool MT4OrderSend( const MqlTradeRequest &Request, MqlTradeResult &Result )
  {
     return (:: OrderSend (Request, Result));
  }
};

// Обязательно ПОСЛЕ #include <Trade/Trade.mqh>: CTrade::OrderSend
#define OrderSend MT4ORDERS::MT4OrderSend

void OnTick ( void )
{
   static int TicketBuyLimit = 0 ;
   static int TicketSellLimit = 0 ;
  
   const datetime time = TimeCurrent ();
  
   if ((time == D'2016.08.11 19:12:33' ) && (TicketBuyLimit == 0 ))
    TicketBuyLimit = OrderSend ( Symbol (), OP_BUYLIMIT , 1 , 95090 , 0 , 0 , 0 );
   else if ((time == D'2016.08.16 18:44:02' ) && (TicketSellLimit == 0 ))
    TicketSellLimit = OrderSend ( Symbol (), OP_SELLLIMIT , 1 , 97070 , 0 , 0 , 0 );

   return ;
}

테스터 로그

MR       0        16 : 47 : 50.960     Tester  RTS- 9.16 : ticks data begins from 2016.08 . 01 00 : 00
LE       0        16 : 47 : 50.963     Core 1   agent process started
CE       0        16 : 47 : 51.473     Core 1   connecting to 127.0 . 0.1 : 3000
NR       0        16 : 47 : 52.736     Core 1   connected
DJ       0        16 : 47 : 52.741     Core 1   authorized (agent build 1401 )
RR       0        16 : 47 : 52.743     Tester  RTS- 9.16 ,M1 (BCS-MetaTrader5): testing of Experts\LimitsFill.ex5 from 2016.08 . 11 00 : 00 to 2016.08 . 17 00 : 00
GP       0        16 : 47 : 52.763     Core 1   common synchronization completed
DI       0        16 : 47 : 52.780     Core 1   RTS- 9.16 : ticks synchronized already [ 47 bytes]
IL       0        16 : 47 : 53.493     Core 1    1482 bytes of tester parameters loaded
PH       0        16 : 47 : 53.493     Core 1    188 bytes of input parameters loaded
OR       0        16 : 47 : 53.493     Core 1    8562 bytes of symbols list loaded
MI       0        16 : 47 : 53.493     Core 1   expert file added: Experts\LimitsFill.ex5. 8164 bytes loaded
FR       0        16 : 47 : 53.493     Core 1   initial deposit 100000.00 RUR, leverage 1 : 0
EI       0        16 : 47 : 53.493     Core 1   successfully initialized
IS       0        16 : 47 : 53.493     Core 1    35 Kb of total initialization data received
QJ       0        16 : 47 : 53.493     Core 1   Intel Core i7- 2700 K  @ 3.50 GHz, 16301 MB
LR       0        16 : 47 : 53.493     Core 1   RTS- 9.16 : symbol to be synchronized
PF       0        16 : 47 : 53.493     Core 1   RTS- 9.16 : symbol synchronized, 3224 bytes of symbol info received
RJ       0        16 : 47 : 53.493     Core 1   RTS- 9.16 : load 31 bytes of history data to synchronize in 0 : 00 : 00.000
PM       0        16 : 47 : 53.493     Core 1   RTS- 9.16 : history synchronized from 2015.06 . 22 to 2016.09 . 01
IS       0        16 : 47 : 53.493     Core 1   RTS- 9.16 : ticks synchronization started
JD       0        16 : 47 : 53.493     Core 1   RTS- 9.16 : load 38 bytes of tick data to synchronize in 0 : 00 : 00.000
NO       0        16 : 47 : 53.493     Core 1   RTS- 9.16 : history ticks synchronized from 2016.08 . 01 to 2016.09 . 01
RI       0        16 : 47 : 53.493     Core 1   RTS- 9.16 ,M1: history cache allocated for 610971 bars and contains 43890 bars from 2015.06 . 22 10 : 02 to 2016.08 . 10 23 : 49
CM       0        16 : 47 : 53.493     Core 1   RTS- 9.16 ,M1: history begins from 2015.06 . 22 10 : 02
DD       0        16 : 47 : 53.493     Core 1   RTS- 9.16 ,M1 (BCS-MetaTrader5): generating based on real ticks
ML       0        16 : 47 : 53.493     Core 1   RTS- 9.16 ,M1: testing of Experts\LimitsFill.ex5 from 2016.08 . 11 00 : 00 to 2016.08 . 17 00 : 00 started
LQ       3        16 : 47 : 53.493     Core 1   RTS- 9.16 : real ticks begin from 2016.08 . 01 00 : 00 : 00
GK       0        16 : 47 : 53.493     Core 1    2016.08 . 11 19 : 12 : 33    buy limit 1.00 RTS- 9.16 at 95090 ( 95260 / 95270 / 95270 )
EK       0        16 : 47 : 53.493     Core 1    2016.08 . 11 19 : 40 : 17    order [ # 2 buy limit 1.00 RTS- 9.16 at 95090 ] triggered
GJ       0        16 : 47 : 53.493     Core 1    2016.08 . 11 19 : 40 : 17    deal # 2 buy 1.00 RTS- 9.16 at 95050 done (based on order # 2 )
GR       0        16 : 47 : 53.493     Core 1    2016.08 . 11 19 : 40 : 17    deal performed [ # 2 buy 1.00 RTS- 9.16 at 95050 ]
GP       0        16 : 47 : 53.493     Core 1    2016.08 . 11 19 : 40 : 17    order performed buy 1.00 at 95050 [ # 2 buy limit 1.00 RTS- 9.16 at 95090 ]
QR       0        16 : 47 : 53.493     Core 1    2016.08 . 16 18 : 44 : 02    sell limit 1.00 RTS- 9.16 at 97070 ( 97020 / 97030 / 97020 )
GF       0        16 : 47 : 53.493     Core 1    2016.08 . 16 19 : 00 : 00    order [ # 3 sell limit 1.00 RTS- 9.16 at 97070 ] triggered
CG       0        16 : 47 : 53.493     Core 1    2016.08 . 16 19 : 00 : 00    deal # 3 sell 1.00 RTS- 9.16 at 97170 done (based on order # 3 )
FJ       0        16 : 47 : 53.493     Core 1    2016.08 . 16 19 : 00 : 00    deal performed [ # 3 sell 1.00 RTS- 9.16 at 97170 ]
DO       0        16 : 47 : 53.493     Core 1    2016.08 . 16 19 : 00 : 00    order performed sell 1.00 at 97170 [ # 3 sell limit 1.00 RTS- 9.16 at 97070 ]
KR       0        16 : 47 : 53.493     Core 1   final balance 102788.71 RUR
IF       0        16 : 47 : 53.493     Core 1   RTS- 9.16 ,M1: 1122105 ticks, 3240 bars generated. Test passed in 0 : 00 : 00.717 (including ticks preprocessing 0 : 00 : 00.124 ).
JE       0        16 : 47 : 53.493     Core 1    252 Mb memory used including 35 Mb of history data, 64 Mb of tick data
KK       0        16 : 47 : 53.493     Core 1    log file "C:\Program Files\BCS Broker MetaTrader 5 Terminal\Tester\Agent-127.0.0.1-3000\logs\20160902.log" written
DJ       0        16 : 47 : 53.507     Core 1   connection closed

지정가 주문의 미끄러짐은 굵게 표시됩니다. 테스터에서 가장 큰 미끄러짐은 지정가 주문이 세션을 넘을 때 발생합니다. 즉, 실행이 시작될 때입니다. 그러나 이러한 경우는 예로 들 수 없습니다. 나는 일반 시장을 가져 갔다.

재현?

아쉽게도 디버깅이 되지 않아 예제를 만드는 것이 불편했습니다

Expert Advisor를 디버깅하는 것은 불가능합니다. 테스터 쓰기

Tester  Leverage 1 : 1 set error

 
나도 같은 문제가있어. 주식과 선물 모두 하락.
 
fxsaber :

조언자

테스터 로그

지정가 주문의 미끄러짐은 굵게 표시됩니다. 테스터에서 가장 큰 미끄러짐은 지정가 주문이 세션을 넘을 때 발생합니다. 즉, 실행이 시작될 때입니다. 그러나 이러한 경우는 예로 들 수 없습니다. 나는 일반 시장을 가져 갔다.

재현?

아쉽게도 디버깅이 되지 않아 예제를 만드는 것이 불편했습니다


테스터에서, 데모에서 시도하지 마십시오(열림이 좋을수록 속도가 더 빠름).