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

 
komposter :

로트의 정상화를 추구하면서

얘들아, 왜 이론화해?

한숨을 쉬고 머리에 녹이 슬지 않도록.

모든 것이 적당해야 합니다. 제 버전은 다양한 브로커, 계정 유형 , 도구를 사용하여 5년 이상 실제 돈으로 작업해 왔으며 오류가 발생한 적이 없습니다 .
그리고 그렇지 않습니다. 신경 쓰지 마세요. 우리는 진지하지 않습니다.
 
komposter :

단계는 분의 배수여야 합니다. 많은.

왜 그런 확신이 있습니까? 실습 - 이해하지만 엔진의 제한은 아닙니다.
당사자들의 주장은 분명하다. 어쨌든, 당신의 친절에 진심으로 감사드립니다. :)

백조 :

나는 챔피언십 계정에서 모든 악기가 동시에 거래되는 것을 보았습니다. 등록하다)

네, 등록했습니다. 여기에서이 오류가 발생합니다.

백조 :

당신은 또한 시도할 수 있습니다:

if( 현재 가격 == 0.0) 반환;

아이디어 주셔서 감사합니다! 이 옵션을 시도해야 합니다. :)

 

voix_kas :

네, 등록했습니다. 여기에서이 오류가 발생합니다.

00:00에 GBPCHF 2011.01.03에 분 바가 있습니다. 서비스 데스크에 문의하셨습니까?
 
Swan :
00:00에 GBPCHF 2011.01.03에는 분 바가 있습니다. 서비스 데스크에 문의하셨습니까?

SD에 연락하지 않았습니다.

결국 여기가 무엇입니까? 저는 다중 통화 고문 을 쓰고 있습니다. 나는 그것을 eurobaks 차트에 던지고 매개 변수로 고문에게 전달된 모든 유효한 통화 쌍을 추적하려고 노력했습니다.

방법론/문서가 부족합니다. 다음은 몇 가지 질문입니다.

1. 가격이 0일 수 있는 이유는 무엇입니까? 결국 이 시간(2011.01.03 00:00:00)까지 마지막으로 알려진 가격(Bid 및 Ask 모두)이 여전히 존재했습니까? 터미널은 어떤 원칙에 따라 제공합니다.

2. 견적 세션이 있습니다. 거래와 근본적으로 어떻게 다른가요? 두 번째 기간 동안 거래가 가능하다고 가정하는 것이 논리적입니다. 그리고 첫 번째(견적) 세션에서 거래가 불가능한 경우, 호가의 변경은 어디에서 옵니까? 결국 후자는 "수급의 불균형"으로 인해 변하고 있습니다.

3. 하나의 통화 쌍에 대해 Tick이 있다고 가정해 보겠습니다. 같은 경우에 우리는 다른 쌍의 상태를 "보기"를 시도합니다. 다른 쌍에 대한 마지막 견적이 여전히 유효하다는 보장은 어디에 있습니까? 견적의 수명은 얼마입니까? 내가 보는 가장 합리적인 설명은 주문서에서 로트 수량을 동시에 확인하면서 마지막 견적을 확인하는 것입니다. 저것들. 내가 이해하는 대로: eurusd에 대한 인용 N이 도착합니다. 이유가 있지만 이 견적에는 특정 볼륨에 대한 옵션이 있습니다. 매수/매도를 원하는 사람들은 이 파이를 낚아채고 있습니다. 어느 시점에서 (파이)가 끝나고 이 인용문은 "살아남지 않습니다." 또한 터미널은 다음 인용문을 제공합니다(덜 매력적임). 그리고 견적이 전혀 없다면(아무도 통화를 팔거나 사고 싶어하지 않습니다)? 그럼 가격은 제로?

일반적으로 저는 주식 시장/외환 전문가가 아닙니다.

누군가 내 질문에 자세히 답변해 주시면 감사하겠습니다. 과연 어떤 상황이고, MT5 단말에서는 어떤 상황이 어떻게 표현되고 있을까요?

 
voix_kas :

SD에 연락하지 않았습니다.

결국 여기가 무엇입니까? 저는 다중 통화 고문을 쓰고 있습니다. 나는 그것을 eurobaks 차트에 던지고 매개 변수로 고문에게 전달된 모든 유효한 통화 쌍을 추적하려고 노력했습니다.

방법론/문서가 부족합니다. 다음은 몇 가지 질문입니다.

1. 가격이 0일 수 있는 이유는 무엇입니까? 결국, 이 시간(2011.01.03 00:00:00)까지 마지막으로 알려진 가격(Bid 및 Ask 모두)이 여전히 존재했습니까? 터미널은 어떤 원칙에 따라 제공합니다.

2. 견적 세션이 있습니다. 거래와 근본적으로 어떻게 다른가요? 두 번째 기간 동안 거래가 가능하다고 가정하는 것이 논리적입니다. 그리고 1차(호가) 세션에서 거래가 불가능한 경우, 호가 변동은 어디서 발생하나요? 결국 후자는 "수급의 불균형"으로 인해 변하고 있습니다.

3. 하나의 통화 쌍에 대해 Tick이 있다고 가정해 보겠습니다. 같은 경우에 우리는 다른 쌍의 상태를 "보기"를 시도합니다. 다른 쌍에 대한 마지막 견적이 여전히 유효하다는 보장은 어디에 있습니까? 견적의 수명은 얼마입니까? 내가 보는 가장 합리적인 설명은 주문서에서 로트 수량을 동시에 확인하면서 마지막 견적을 확인하는 것입니다. 저것들. 내가 이해하는 대로: eurusd에 대한 인용 N이 도착합니다. 이유가 있지만 이 견적에는 특정 볼륨에 대한 옵션이 있습니다. 매수/매도를 원하는 사람들은 이 파이를 낚아채고 있습니다. 어느 시점에서 (파이)가 끝나고 이 인용문은 "살아남지 않습니다." 또한 터미널은 다음 인용문을 제공합니다(덜 매력적임). 그리고 견적이 전혀 없다면(아무도 통화를 팔거나 사고 싶어하지 않습니다)? 그럼 가격은 제로?

일반적으로 저는 주식 시장/외환 전문가가 아닙니다.

누군가 내 질문에 자세히 답변해 주시면 감사하겠습니다. 과연 어떤 상황이고 MT5 단말기에서 어떤 상황들이 어떻게 표현되고 있을까요?

포인트를 살펴보겠습니다. Expert Advisor는 다중 통화이므로 그에 따라 작동해야 합니다.

1. 0 가격을 얻을 수 있는 주요 문제를 제거합시다 - 거래가 선택적으로 선택되어야 하는 기호 목록이 있습니까(즉, MarketWatch에서 필요한 기호의 가용성에 대해 걱정할 필요가 없습니까?)?

2. 개발자는 이미 거래 및 견적 세션에 대해 언급했습니다(특히 여기에서 Rashid Umarov 가 언급했습니다). 호가가 있지만 거래가 불가능한 상황은 지극히 정상적인 상황(특히 주식시장의 경우)입니다. 또한 아무도 거래 세션 동안 시세 업데이트를 보장하지 않습니다.

3. 유리에 대해 - 그리고 Forex 시장에서 유리(주로 무엇을 담을 것인가)를 어디서 구할 수 있습니까? 질문을 희생시키면서 대답은 다음과 같이 들립니다(모든 것이 정상이고 서버에 연결되어 있는 경우).

a) "Last Quote"(마지막 틱 정보)는 틱이 발생한 순간부터 새로운 틱이 나타날 때까지 유효합니다. 단말에서는 "시장감시"에서 마지막 호가를 접수한 시간을 조회할 수 있습니다.

b) 다중 통화 Expert Advisor의 OnTick() 처리기에서만 틱에 대한 정보를 수집하는 경우 다른 쌍에 대한 12개의 틱이 기본 쌍의 틱 사이를 통과하지 않는다고 보장할 수 있는 사람은 아무도 없습니다. 쌍과 거래 활동에 따라 틱 사이에 몇 초에서 몇 분 정도 걸릴 수 있습니다.

물론 Forex 시장(특히 EURUSD 쌍의 경우)의 경우 이것은 그다지 중요하지 않지만 이것을 기억하고 전문가의 논리에서 고려해야 합니다.

c) MqlTick 구조를 분석하고 마지막 견적 의 시간을 특정 값과 비교하여 마지막 견적의 수신 시간을 프로그래밍 방식으로 결정할 수 있으므로 견적이 얼마나 관련성이 있는지 쉽게 결정할 수 있습니다.

 struct MqlTick
  {
   datetime      time;           // Время последнего обновления цен
   double        bid;        // Текущая цена Bid
   double        ask;        // Текущая цена Ask
   double        last;       // Текущая цена последней сделки (Last)
   ulong         volume;     // Объем для текущей цены Last
  };

d) 위에서 암시했듯이 서버와의 연결 상태를 모니터링하고 가능하면 OnTick()뿐만 아니라 OnTimer()에서도 따옴표를 확인/수신해야 합니다.

 

반대에서 가자. 어떤 상황에서 가격(bid/ask)이 터미널에서 0 값을 가질 수 있습니까?

다음은 두 번째 질문입니다. 글쎄, 우리는 이 악기에 대한 마지막 견적이 2초/분/시간 전에 왔다는 것을 알았습니다. 거래 세션 이 종료되지 않았습니다. "가격 없음" 오류가 발생하지 않는 방법은 무엇입니까?

Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
  • www.mql5.com
Получение рыночной информации / SymbolInfoSessionQuote - Документация по MQL5
 
voix_kas :

반대로 가자. 어떤 상황에서 가격(bid/ask)이 터미널에서 0 값을 가질 수 있습니까?

다음은 두 번째 질문입니다. 글쎄, 우리는 이 악기에 대한 마지막 견적이 2초/분/시간 전에 왔다는 것을 알았습니다. 거래 세션 이 종료되지 않았습니다. "가격 없음" 오류가 발생하지 않는 방법은 무엇입니까?

가격이 0일 때 GetLastError를 요청했습니까?
 
stringo :
가격이 0일 때 GetLastError를 요청했습니까?

오류 코드: 4756. 화면 에 표시됨 .

뿐만 아니라. 여기에 같은 오류가 있습니다. 시장 시계가 가격의 존재를 보여주고 악기가 로그에서 동기화된다는 사실에도 불구하고.

 
voix_kas :

오류 코드: 4756. 화면 에 표시됨 .

뿐만 아니라. 여기에 같은 오류가 있습니다. 시장 시계가 가격의 존재를 보여주고 악기가 로그에서 동기화된다는 사실에도 불구하고.

"실패..."가 아니라 "가격 없음..." 뒤에 오류 코드가 필요합니다.
 
uncleVic :
"실패..."가 아니라 "가격 없음..." 뒤에 오류 코드가 필요합니다.
  ...
   // Формирование торгового приказа.
   MqlTradeResult TradeResult;
   MqlTradeRequest TradeRequest;

  TradeRequest.action = TRADE_ACTION_DEAL ;
  TradeRequest.symbol = Instrumet;
  TradeRequest.volume = NormalizeDouble (Volume, 8 );
  TradeRequest.price = SymbolInfoDouble (Instrumet, SYMBOL_ASK );
  TradeRequest.sl = 0 ;
  TradeRequest.tp = 0 ;
  TradeRequest.deviation = Deviation;
  TradeRequest.type = ORDER_TYPE_BUY ;
  TradeRequest.type_filling = TypeFilling;

   // Отправка торгового приказа.
   ResetLastError ();
   if (!IsTradeAllowed()) return ;
   if ( OrderSend (TradeRequest, TradeResult)) TradeResultAnalyse( "Buy.OrderSend" , TradeResult.retcode);
   else Print ( "Buy.OrderSend = false! Код ошибки: \'" , _LastError , "\'." );

그리고 귀하가 지정한 순간에 오류 코드를 잡는 방법은 무엇입니까? 위 코드의 마지막 줄에 오류를 기록하고 있습니다.

이 코드 바로 앞에 다음 용어를 추가하면 이 오류가 나타나지 않습니다.

 if (! NormalizeDouble ( SymbolInfoDouble (Instrumet, SYMBOL_ASK ), 8 )) return ;