오류, 버그, 질문 - 페이지 1453

 
Vladislav Andruschenko :

표는 다음 값을 보여줍니다.

채우기 또는 죽이기

SYMBOL_FILLING_FOK

하나

이 정책은 거래가 지정된 볼륨으로만 실행될 수 있음을 의미합니다. 현재 시장에 필요한 수량의 금융상품이 없을 경우 주문이 실행되지 않습니다. 현재 시장에서 사용 가능한 여러 제안을 사용하여 필요한 양을 채울 수 있습니다.

즉시 또는 취소

SYMBOL_FILLING_IOC

2

이 경우 거래자는 주문에 표시된 범위 내에서 시장에서 최대로 사용할 수 있는 거래량으로 거래를 실행하는 데 동의합니다. 주문이 완전히 채워지지 않을 경우 해당 주문의 가용 수량은 채워지고 나머지 수량은 취소됩니다. IOC 주문 사용 가능성은 거래 서버에서 결정됩니다.

반품

식별자 없음

이 정책은 시장 주문(구매 및 판매), 지정가 및 정지 제한 주문 및 시장 또는 교환 실행이 있는 기호에만 사용됩니다. 나머지 수량으로 시장 또는 지정가 주문을 부분적으로 채우는 경우 취소되지 않고 추가 처리됩니다.

그러나 데이터는 아마도 여기에 섞여있을 것입니다!

도움말을 읽지 않았습니다.

각 도구에 대해 하나의 모드를 설정할 수 없으며 플래그 조합을 통해 여러 모드를 설정할 수 있습니다. 플래그 조합은 SYMBOL_FILLING_FOK|SYMBOL_FILLING_IOC 와 같은 논리적 OR (|) 연산으로 표현 됩니다. 특정 모드가 도구에 활성화되어 있는지 확인하려면 논리 AND (&)의 결과를 모드 플래그와 비교해야 합니다.

 

기호의 경우 SYMBOL_FILLING_MODE 속성은 플래그 조합을 의미합니다. 즉, 이 기호를 거래할 때 허용되는 채우기 모드를 설명합니다.

문서에 기재된 대로 확인을 시도해 보셨습니까?

В режимах исполнения "По запросу" и "Немедленный" для рыночных ордеров всегда используется политика заполнения Все/Ничего, а для лимитных ордеров - режим "Вернуть". В данном случае, при от отсылке ордеров функциями OrderSend или OrderSendAsync тип заполнения для них можно не указывать.

"시장" 및 "교환" 실행 모드에서 "반품" 채우기 정책은 모든 유형의 주문에 대해 항상 허용됩니다. 다른 유형의 권한은 SYMBOL_FILLING_FOK 및 SYMBOL_FILLING_IOC 속성을 사용하여 확인합니다.

예시:

//+----------------------------------------------- --------------------+
//| 지정된 패딩 모드가 허용되는지 확인합니다 |
//+----------------------------------------------- --------------------+
bool IsFillingTypeAllowed( 문자열 기호, int 채우기 유형)
{
//--- 채우기 모드를 설명하는 속성 값을 가져옵니다.
    정수 채우기=( 정수 ) SymbolInfoInteger (기호, SYMBOL_FILLING_MODE );
//--- fill_type 모드가 활성화되면 true를 반환합니다.
    반환 ((채우기&채우기_유형)==채우기_유형);
}

 


 
Rashid Umarov :

기호의 경우 SYMBOL_FILLING_MODE 속성은 플래그 조합을 의미합니다. 즉, 이 기호를 거래할 때 허용되는 채우기 모드를 설명합니다.

문서에 기록된 대로 확인을 시도해 보셨습니까?


이 솔루션이 도움이되었습니다

         switch (( int ) SymbolInfoInteger ( Symbol (), SYMBOL_FILLING_MODE ))
   {
   case SYMBOL_FILLING_FOK :
      request.type_filling= ORDER_FILLING_FOK ;
       break ;
   case SYMBOL_FILLING_IOC :
      request.type_filling= ORDER_FILLING_IOC ;
       break ;
   default :
      request.type_filling= ORDER_FILLING_RETURN ;
   }
 
Vladislav Andruschenko :

이 솔루션이 도움이되었습니다

도움말을 더 주의 깊게 읽으면 두 모드를 모두 사용할 수 있는 경우가 처리되지 않는다는 것을 알 수 있습니다. SymbolInfoInteger 값은 (SYMBOL_FILLING_FOK | SYMBOL_FILLING_IOC ).
 

그리고 다음 코드로 "RoboForex-MetaTrader 5" 서버에서 확인할 수 있습니다.

 //+------------------------------------------------------------------+
//|                                                 Info_FILLING.mq5 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict
#property description "Варианты исполнения ордера по объему"
#include<Trade\Trade.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
// Все/Ничего     SYMBOL_FILLING_FOK   1
// Все/Частично   SYMBOL_FILLING_IOC   2
// Вернуть        Идентификатор отсутствует
   Print ( "Все/Ничего: " ,IsFillingTypeAllowed( Symbol (), SYMBOL_FILLING_FOK ));
   Print ( "Все/Частично: " ,IsFillingTypeAllowed( Symbol (), SYMBOL_FILLING_IOC ));
   Print ( "Вернуть: " ,IsFillingTypeAllowed( Symbol (), NULL ));

   CTrade oTrade;
   switch (( int ) SymbolInfoInteger ( Symbol (), SYMBOL_FILLING_MODE ))
     {
       case SYMBOL_FILLING_FOK :
         Print ( "ORDER_FILLING_FOK" );
         break ;
       case SYMBOL_FILLING_IOC :
         Print ( "ORDER_FILLING_IOC" );
         break ;
       default :
         Print ( "ORDER_FILLING_RETURN" );
     }
  }
//+------------------------------------------------------------------+ 
//| проверяет разрешенность указанного режима заполнения             | 
//+------------------------------------------------------------------+ 
bool IsFillingTypeAllowed( string symbol, int fill_type)
  {
//--- получим значение свойства, описывающего режим заполнения 
   int filling=( int ) SymbolInfoInteger (symbol, SYMBOL_FILLING_MODE );
//--- вернем true, если режим fill_type разрешен 
   return ((filling&fill_type)==fill_type);
  }
//+------------------------------------------------------------------+

그리고 출력 결과:

 2015.12 . 22 18 : 13 : 09.946 Info_FILLING (AUDCAD.m,D1)      Все/Ничего: true
2015.12 . 22 18 : 13 : 09.946 Info_FILLING (AUDCAD.m,D1)      Все/Частично: true
2015.12 . 22 18 : 13 : 09.946 Info_FILLING (AUDCAD.m,D1)      Вернуть: true
2015.12 . 22 18 : 13 : 09.946 Info_FILLING (AUDCAD.m,D1)       ORDER_FILLING_RETURN


스위치가 있는 옵션이 거짓말을 하고 있음을 알 수 있습니다. 그러나 문서의 예는 완전한 그림을 제공합니다.

 

어떤 문제가

MarketInfo(Symbol(),MODE_MARGININIT) 및 SymbolInfoDouble(Symbol(), SYMBOL_MARGIN_INITIAL )

왜 그들은 0을 반환합니까????

 
Vladimir Pastushak :

어떤 문제가

MarketInfo(Symbol(),MODE_MARGININIT) 및 SymbolInfoDouble(Symbol(), SYMBOL_MARGIN_INITIAL )

왜 그들은 0을 반환합니까????

반년 동안 담보 계산 문제에 대한 신청서가 서비스 데스크에 매달려 있었고 인증서의 정보가 사이트의 정보와 일치하지 않으며 인증서와 사이트의 정보가 실제와 일치하지 않습니다 , 개발자, 정확한 설명을 작성하십시오

담보 계산

실수 ,   메타 트레이더 5 MQL5 ,   열다 ,   시작일: 2015.07.13 16:23 ,   #1259415

다음은 MQL5 도움말의 예입니다.

SYMBOL_CALC_MODE_FOREX

Forex 모드 - Forex의 이익 및 마진 계산

마진: 랏*계약_크기/레버리지

이것은 직접 견적을 계산하는 공식입니다. 반대의 경우 다르겠지만 십자가의 경우 세 번째입니다. 웹 사이트에 동일한 오류가 있습니다.

그래서 어떤 유형의 시장이 모든 곳을 차지하지 않는 공식이 매우 모호합니다 ..

그리고 오늘 MarketInfo(Symbol(),MODE_MARGININIT) 및 SymbolInfoDouble(Symbol(), SYMBOL_MARGIN_INITIAL )이 0을 반환하는 것으로 나타났습니다.

하지만 이 리소스에 https://metaquotes5.wordpress.com/2012/08/과 같은 이상한 글이 있습니다. 제가 이해하는 한 이것은 MetaQuotes 블로그입니다.

What are Expert Magic Numbers?
  • 2012.08.11
  • skebanga
  • metaquotes5.wordpress.com
Expert magic numbers are ids given to a particular expert advisor. Care should be taken to ensure the ids are unique. This is because the magic number is used by the MetaTrader back end to know which expert advisor to send information to. For example, when a trade notification is...
 
주변에 적들이 있습니다. 월급날 여성을 제외하고는 아무도 우리를 필요로 하지 않습니다.
 
Алексей Тарабанов :
주변에 적들이 있습니다. 월급날 여성을 제외하고는 아무도 우리를 필요로 하지 않습니다.

알렉세이 환영

MT5 에서 iPulsar 표시기 를 다시 작성할 수 있으면 다시 작성하십시오. 예, 코드 기반에서

감사해요


 

안녕 동료들!

미안해요, 이 지점을 보기 전까지 메인을 흘려버렸어요.

문제 해결 방법을 알려주세요. BAY_STOP 또는 SELL_STOP 주문을 할 때 FORTS의 MT5 Expert Advisor는 지속적으로 오류 10022를 제공합니다. "요청에 잘못된 주문 만료 날짜가 있습니다."

만료일은 나에게 중요하지 않지만 주문이 단순히 설정되는 매개 변수를 찾을 수 없습니다. Forex에는 이 문제가 없습니다. 브로커 오픈. 테스터에서 오류가 발생합니다.