주식 시장. 재고. 거래 주문 실행 속도. - 페이지 3

 

MT-5 재고 섹션에서 주문 실행 및 작성을 확인했는데 사용이 불가능한 것으로 나타났습니다.

시장 주문 및 IOC 채우기.

지정가 주문이 시장 주문처럼 작동하려면 어떤 유형의 충전물을 선택해야 합니까?

 
prostotrader # :

MT-5 재고 섹션에서 주문 실행 및 작성을 확인했는데 사용이 불가능한 것으로 나타났습니다.

시장 주문 및 IOC 채우기.

지정가 주문이 시장 주문처럼 작동하려면 어떤 유형의 충전물을 선택해야 합니까?

어쨌든 RETURN이 작동해야 합니다. 그리고 매달리지 않고 정확하게 이행하기 위해 가격은 바에 더 가깝습니다. 실질적으로 시장에 나올 것입니다.

 
JRandomTrader # :

어쨌든 RETURN이 작동해야 합니다. 그리고 매달리지 않고 정확하게 이행하기 위해 가격은 바에 더 가깝습니다. 실질적으로 시장에 나올 것입니다.

저는 퀵(trans2quik.dll에 FOK채우기 없음)용 어플에서 하고 있는데 가끔 주가가 급격하게 움직일때 문제가 발생하는데,

그는 여전히 유리 속에 서 있다.

이제 내 응용 프로그램을 MT-5로 전송하고 2개의 터미널을 명명된 파이프로 연결합니다.

MT-5에서는 주식 시장의 고문이 파이프 서버이기 때문에 여전히 약간의 어려움이 있습니다.

OnTrade 및 OnTradeTransaction은 불가능합니다.

한편으로는 RETURN을 채우는 것이 실행될 가능성이 훨씬 더 높지만 여전히 주문이 즉시 실행되지 않을 수 있습니다.

반면에 채우기가 FOK인 경우 실행되어 주문 추적 문제가 발생합니다.

그러면 실행에 필요한 볼륨이 지속적으로 충분하지 않은 상황이 발생할 수 있습니다.

그래서 가장 좋은 방법이 무엇인지 궁금합니다.

 
prostotrader # :

저는 퀵(trans2quik.dll에 FOK채우기 없음)용 어플에서 하고 있는데 가끔 주가가 급격하게 움직일때 문제가 발생하는데,

그는 여전히 유리 속에 서 있다.

이제 내 응용 프로그램을 MT-5로 전송하고 2개의 터미널을 명명된 파이프로 연결합니다.

MT-5는 여전히 증권시장의 고문이 파이프 서버이기 때문에 약간의 어려움이 있습니다.

OnTrade 및 OnTradeTransaction은 불가능합니다.

한편으로는 RETURN을 채우는 것이 실행될 가능성이 훨씬 더 높지만 여전히 주문이 즉시 실행되지 않을 수 있습니다.

반면에 채우기가 FOK인 경우 실행되어 주문 추적 문제가 발생합니다.

그러면 실행에 필요한 볼륨이 지속적으로 충분하지 않은 상황이 발생할 수 있습니다.

그래서 가장 좋은 방법이 무엇인지 궁금합니다.

주문이 바로 바에 충분한 유동성이 없는 상황을 의미합니까?

당신은 적어도 타이머에 의해 그것을 볼 수 있습니다. 그리고 그것이 ORDER_STATE_PARTIAL이고 가격이 막대에 있으면 쏘십시오.

또는 SYMBOL_SESSION_*_ORDERS_VOLUME을(를) 시청할 수 있습니다.

 
prostotrader # :

이제 내 응용 프로그램을 MT-5로 전송하고 2개의 터미널을 명명된 파이프로 연결합니다.

안녕하세요!

다른 브로커와의 거래를 고려하지 않는 이유를 알려주십시오(비밀이 아닌 경우)? 단일 중개 계정이 있는 경우.

당신의 거래를 위해   다른 포스트에서 쓰신 Stock-Futures 가 훨씬 더 편리해 졌죠? +는 두 개의 터미널 묶음의 많은 통과 문제를 해결할 것입니다.

실행지연시간과 옵션에서 받은 커미션만...

 
Andrey Miguzov # :

안녕하세요!

다른 브로커와의 거래를 고려하지 않는 이유를 알려주십시오(비밀이 아닌 경우)? 단일 중개 계정이 있는 경우.

당신의 거래를 위해   다른 포스트에서 쓰신 Stock-Futures 가 훨씬 더 편리해 졌죠? +는 두 개의 터미널 묶음의 많은 통과 문제를 해결할 것입니다.

실행지연시간과 옵션에서 받은 커미션만...

나는 Quick이 매우 느리게 작동하고 MT-5가 Opening과 BCS에만 있고 Finam을 전혀 고려하지 않는다고 썼습니다.

펀드는 적립금이 필요하지 않으며, 선물의 경우 스캘핑 시 추가로 보유할 자금이 많지 않습니다.

작업은 위험이 없는 Classic Arbitrage를 스캘핑하는 것입니다.

 
JRandomTrader # :

주문이 바로 바에 충분한 유동성이 없는 상황을 의미합니까?

당신은 적어도 타이머에 의해 그것을 볼 수 있습니다. 그리고 그것이 ORDER_STATE_PARTIAL이고 가격이 막대에 있으면 쏘십시오.

또는 SYMBOL_SESSION_*_ORDERS_VOLUME을(를) 시청할 수 있습니다.

유일한 구현이므로 파이프 서버에서 다른 기능을 사용할 수 없습니다.

MT-5(단일 스레드)는 명령 대기 모드에서 서버의 어드바이저를 정지시키고 리스너로부터 명령을 받아 실행하고,

그리고 결과를 보냈다.

 //+------------------------------------------------------------------+
//| Expert Listen Pipe channel function                              |
//+------------------------------------------------------------------+
void ListenPipe()
{
   bool result; 
   bool can_close = false ;
   while (( IsStopped () == false ) && (lsn_exit == false ))
  {
    result = Pipe.ReadData();
     if (result == true )
    {
       switch (Pipe.in_data.pipe_com)
      {
         case P_LSNR_EXIT:
          Pipe.out_data.pipe_com = P_DONE;
          can_close = true ;
          result = false ;
         break ;
         case P_SET_MAGIC:
          Pipe.out_data.pipe_com = P_DONE;
          result = false ;
         break ;
         case P_SELL_SPOT:
          spot_ticket = SpotSetOrder(Pipe.in_data.spot_trade_lot, Pipe.in_data.spot_trade_price, spot_magic, SELL);
           if (spot_ticket > 0 )
          {
            Pipe.out_data.pipe_com = CheckDeal(spot_ticket);
          }  
           else Pipe.out_data.pipe_com = P_REJECT;
          result = false ;
         break ;
         case P_BUY_SPOT:
          spot_ticket = SpotSetOrder(Pipe.in_data.spot_trade_lot, Pipe.in_data.spot_trade_price, spot_magic, BUY);
           if (spot_ticket > 0 )
          {
            Pipe.out_data.pipe_com = CheckDeal(spot_ticket);   
          }  
           else Pipe.out_data.pipe_com = P_REJECT;
          result = false ;
         break ;
         case P_CHECK_DEAL:
           if (spot_ticket > 0 )
          {
            Pipe.out_data.pipe_com = CheckDeal(spot_ticket);
          }
           else Pipe.out_data.pipe_com = P_ORDER_N_FOUND; 
          result = false ;
         break ;
         case P_GET_DATA:
          GetData();
          Pipe.out_data.pipe_com = P_DONE;
          result = false ;
         break ;
         case P_ORDER_REMOVE:
           if (SpotRomoveOrder(spot_ticket) == true )
          {
            Pipe.out_data.pipe_com = P_ORDER_REMOVE_DONE;
          }
          result = false ;
         break ;
      }
       if (result == false )
      {
        result = Pipe.WriteData(Pipe.out_data);
         if (result == true )
        {
           if (can_close == true ) lsn_exit = true ;
        }
      }
    }
     else Print ( "Error resived data!" ); 
  }
   Print ( "Listener exit." );
}

결과 = Pipe.ReadData(); Advisor 서버를 끊고 클라이언트의 명령을 기다립니다.

모든 서버 관리는 Advisor-client에서 제공됩니다.

이 모드에서는 터미널 간의 통신이 매우 빠르고 즉시 전송됩니다.

양방향으로 준비된 데이터 집합이 있는 구조입니다.

 
prostotrader # :

이 모드에서는 터미널 간의 통신이 매우 빠르고 즉시 전송됩니다.

양방향으로 이미 만들어진 데이터 집합이 있는 구조입니다.

Pipe는 각각 공유 메모리용 애드온이며(하나의 컴퓨터 내에서) 교환이 지연 없이 진행되는 것으로 간주할 수 있습니다.

 
Dmitriy Skub # :

Pipe는 공유 메모리를 위한 추가 기능이므로 (동일한 컴퓨터 내에서) 랙 없이 교환을 고려할 수 있습니다.

나는 당신의 응용 프로그램을 통해 통신 할 필요가 없다는 것을 의미했습니다.

 
prostotrader # :

나는 Quick이 매우 느리게 작동하고 MT-5가 Opening과 BCS에만 있고 Finam을 전혀 고려하지 않는다고 썼습니다.

나는 Finam에 대해 썼습니다. EBS 때문에 거기에서 계좌를 개설하겠습니다.

브로커에 대해 포럼에서 논의할 수 없는 것이 유감입니다. 왜 거기에 필요하지 않은지 개인적으로 적어 주시면 매우 감사하겠습니다.

어쨌든 정보 감사합니다!

사유: