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

 

안녕하세요 여러분!

그런 버그에 직면했습니다 (또는 어쩌면 내가 뭔가를 잘못 이해했을 수도 있음)

한 달 동안의 이력을 볼 때 적절한 데이터가 표시됩니다. 740 획득, -250 교환

그와 동시에 전체기간을 보면 500을 벌었더니 스왑은 거의 똑같음

전체 기간 동안 적립한 금액이 한 달에 적립된 금액보다 적으면 어떻게 되는지 이해가 되지 않습니다.

필요한 경우 이력에 대한 보고서를 첨부할 수 있습니다.

 
tol64 :

따라서 3랏 의 오픈 포지션과 각각 3랏 (15랏의 제한)의 4 번의 바이 스톱 주문으로 5번째 보류 중인 바이 스톱 주문을 배치하는 것은 작동하지 않아야 합니다.

일반적으로 예 - 도움말에 설명된 내용의 관점에서 볼 때 그렇습니다.

그러나 논리적으로 그럴 필요는 없습니다. 교환 시장에서는 안경에 지정가 주문만 있으며 중지 주문은 브로커의 서버에 저장되며 활성화 가격(MT의 "가격")과 지정가 주문의 가격(최악의 가격)의 두 가지 매개변수가 있습니다. 그들은 거래를 할 준비가 되어 있습니다). MT5의 BuyStopLimit 및 SellStopLimit과 같이 Limit만 중지 가격과 같거나 더 높거나(BuyStopLimit의 경우) 더 낮거나(SellStopLimit의 경우) 낮을 수 있습니다. 교환 시장에서 (구매의 경우) 한도를 초과하여 설정하면 최상의 요청이 거래로 이어지지만 MT에서는 이것이 불가능합니다. 따라서 교환 시장, 특히 저개발 시장(예: 우크라이나 거래소)에서는 비교적 자주(특히 16:30-16:35 간격으로 분기별 지수 선물이 만료되는 날) 정차 시간이 없습니다 정상적인 상황에서는 즉시 집행되는 지정가 주문으로 주문서가 채워집니다.

그래서 - 유리 한도 - 매수 / 매도에 대한 확고한 약속 (갑자기 돈이 부족한 경우 브로커는 주문을 철회 할 수 있지만 실행 대기열보다 더 일찍 옴) STOP은 브로커의 기록 일뿐입니다. 따라서 가격이 활성화되는 순간 브로커는 무료 자금을 평가하고 한도를 설정할지 여부를 결정할 수 있습니다. 그렇기 때문에 제한의 경우 횟수 제한이 충족되어야 하지만 정지의 경우 이론상 필요하지 않다고 말씀드리는 것입니다.

 
Yedelkin :

DoubleToString에 있습니까? :)

아, NormalizeDouble을 살펴보십시오.

Print()를 사용하여 저널에 인쇄할 때 정규화된 숫자는 예상보다 더 많은 소수 자릿수 를 포함할 수 있습니다.

   double pi= M_PI ;
   Print ( "pi=" , DoubleToString (pi, 16 ));
      
   double pi_3= NormalizeDouble ( M_PI , 3 );
   Print ( "NormalizeDouble(pi,3) = " , DoubleToString (pi_3, 16 ))
   ;
   double pi_8= NormalizeDouble ( M_PI , 8 );
   Print ( "NormalizeDouble(pi,8) = " , DoubleToString (pi_8, 16 ));
   
   double pi_0= NormalizeDouble ( M_PI , 0 );
   Print ( "NormalizeDouble(pi,0) = " , DoubleToString (pi_0, 16 ));
/*
   Результат:
   pi= 3.1415926535897931
   NormalizeDouble(pi,3)= 3.1419999999999999                          <-----------
   NormalizeDouble(pi,8)= 3.141592649999999 8                          <-----------
   NormalizeDouble(pi,0)= 3.0000000000000000
*/

당신을 귀찮게하지 않습니다 ?

 
victorg :

아, NormalizeDouble을 살펴보십시오.

당신을 귀찮게하지 않습니다 ?

아니, 걱정할 필요가 없습니다. 귀하의 예에서

 void OnStart ()
  {
   double a= 2000000.0 / 3.0 ;
   Print ( DoubleToString (a, 30 ));
  }
NormalizeDouble() 함수의 사용과 정규화된 숫자에 대한 이야기는 전혀 없었습니다. 따라서 "Getting to DoubleToString? :) "이라는 내 발언에는 DoubleToString() 함수에 대한 설명이 인용되어 당황스러운 기색도 없었다. 지금까지 아무도 이 인용문의 관련성을 부인하지 않았습니다.
 
Yedelkin :

아니, 걱정할 필요가 없습니다. 귀하의 예에서

NormalizeDouble() 함수의 사용과 정규화된 숫자에 대한 이야기는 전혀 없었습니다. 따라서 "Getting to DoubleToString? :) "이라는 내 발언에는 DoubleToString() 함수에 대한 설명이 인용되어 당황한 기색이 없었다. 지금까지 아무도 이 인용문의 관련성을 부인하지 않았습니다.

사실, 나는 당신의 의견에 대해 말하는 것이 아니라 NormalizeDouble()의 독에 대해 이야기하고 있습니다.

 
notused :

일반적으로 예 - 도움말에 설명된 내용의 관점에서 볼 때 그렇습니다.

그러나 논리적으로 그럴 필요는 없습니다. 교환 시장에서는 안경에 지정가 주문만 있으며 중지 주문은 브로커의 서버에 저장되며 활성화 가격(MT의 "가격")과 지정가 주문의 가격(최악의 가격)의 두 가지 매개변수가 있습니다. 그들은 거래를 할 준비가 되어 있습니다). MT5의 BuyStopLimit 및 SellStopLimit과 같이 Limit만 중지 가격과 같거나 더 높거나(BuyStopLimit의 경우) 더 낮거나(SellStopLimit의 경우) 낮을 수 있습니다. 교환 시장에서 (구매의 경우) 한도를 초과하여 설정하면 최상의 요청이 거래로 이어지지만 MT에서는 이것이 불가능합니다. 따라서 교환 시장, 특히 저개발 시장(예: 우크라이나 거래소)에서는 비교적 자주(특히 16:30-16:35 간격으로 분기별 지수 선물이 만료되는 날) 정차 시간이 없습니다 작업을 시작하고 주문서가 지정가 주문으로 채워져 있는데 정상적인 상황에서는 즉시 집행되었을 것입니다.

그래서 - 유리 한도 - 구매 / 판매에 대한 확고한 약속 (갑자기 돈이 충분하지 않으면 브로커가 주문을 철회 할 수 있지만 실행 대기열보다 EARLIER이옵니다) STOP은 단지 기록입니다. 브로커의 서버에 있으므로 가격이 활성화되는 순간 브로커는 무료 자금을 평가하고 한도를 설정할지 여부를 결정할 수 있습니다. 그렇기 때문에 제한의 경우 횟수 제한이 충족되어야 하지만 정지의 경우 이론상 필요하지 않다고 말씀드리는 것입니다.

자세한 설명 감사합니다.

발레리, MT5 오더북에서 자동 전략을 구현해 보셨나요? 약 한 달 전에 시도했지만 뭔가 잘 되지 않았지만 포럼에서 아무도 답변하지 않았습니다. 결국 이게 버그인지 제 착각인지 아직도 이해가 되지 않았습니다. 빛을 비춰라. :)

 

안녕하세요!

프로그램의 일반적인 본문에 iCustom 표시기 가 있으며 정상적으로 작동하고 핸들이 인식되고 모든 것이 작동합니다.

그러나 EX5 라이브러리에 넣으면 핸들= -1이 되고 표시기를 호출할 때 주 프로그램에서 오류가 발생합니다.

"DZMACD EURGBP, M15 로드 실패"
"사용자 지정 표시기 'DZMACD' [4002]를 로드할 수 없습니다."

동시에 iMA 또는 iMACD와 같은 표준 표시기는 동일한 ex5 라이브러리에서 정상적으로 작동하며 핸들을 얻습니다.

내가 뭘 잘못하고 있는지 알 수 없거나 이것이 버그입니까?

Документация по MQL5: Технические индикаторы / iCustom
Документация по MQL5: Технические индикаторы / iCustom
  • www.mql5.com
Технические индикаторы / iCustom - Документация по MQL5
 
MqlDateTime 구조에서

정수   하루 ; // 낮

달의 날을 의미합니까?
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура даты
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура даты
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура даты - Документация по MQL5
 
victorg :

사실, 나는 당신의 의견에 대해 말하는 것이 아니라 NormalizeDouble()의 독에 대해 이야기하고 있습니다.

실제로 메시지 는 다음과 같이 작성되었습니다 .

승리자 :

예델킨 :

DoubleToString에 있습니까? :)

아, NormalizeDouble을 살펴보십시오.

당신을 귀찮게하지 않습니다 ?

저것들. "거기서 다른 것을 보고 싶다"는 제안과 함께 "부끄러운 일입니까?"라는 질문과 함께 정확히 "내 의견"을 직접 인용했습니다.

우리는 새로운 연구의 결과만을 "...NormalizeDouble()에 관한 문서" 형식으로 기술하고 싶습니다. 불필요한 정보를 인용하지 않고 그렇게 썼을 것입니다. 아마 :/

귀하의 메시지에는 명목상의 링크가 사용되었고 제 언급이 있었기 때문에 NormalizeDouble() 함수는 제 언급이나 귀하의 원본 메시지와 아무 관련이 없다는 점을 설명해야 했습니다.

 
Fia :

안녕하세요!

프로그램의 일반적인 본문에 iCustom 표시기 가 있으며 정상적으로 작동하고 핸들이 인식되고 모든 것이 작동합니다.

그러나 EX5 라이브러리에 넣으면 핸들= -1이 되고 표시기를 호출할 때 주 프로그램에서 오류가 발생합니다.

"DZMACD EURGBP, M15 로드 실패"
"사용자 지정 표시기 'DZMACD' [4002]를 로드할 수 없습니다."

동시에 iMA 또는 iMACD와 같은 표준 표시기는 동일한 ex5 라이브러리에서 정상적으로 작동하며 핸들을 얻습니다.

내가 뭘 잘못하고 있는지 알 수 없거나 이것이 버그입니까?

라이브러리의 사용자 지정 지표 매개변수로 모든 것이 정상입니까?

ERR_WRONG_INTERNAL_PARAMETER

4002

클라이언트 터미널 기능의 내부 호출 중 잘못된 매개변수