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

 
Yury Lemeshev # :

한 가지 문제가 있습니다. 무작위로 가끔 나타납니다.

여러 통화로 테스터에서 작업할 때 나타납니다.

각 주기에서 심볼의 현재 가격을 요청합니다. 그리고 어떤 이유로 테스터가 특정 기호에 대한 따옴표를받지 못하면 다른 기호에서 이전에받은 따옴표가 사용됩니다.

가격이 특정 가격 이상이 되면 포지션을 열어야 합니다. 그러나 다른 캐릭터의 잘못된 데이터를 사용하면 열림이 발생합니다.

EURCAD 기호, 가격이 1.45117보다 높으면 엽니다. 1.74425>1.45117? 예, 하지만 이것은 다른 상징의 가격입니다.

500건의 주문 중 7건이 잘못된 것으로 밝혀졌다.

가격에 대한 요청이 기호에서 온 것이라고 가정할 수 있을 뿐이며 답변은 동일한 환경 변수에 던져집니다. vskidka에서 이전 값과 같은지 확인합니다. 다른 캐릭터라면 극도로 드뭅니다.

 
Yury Lemeshev # :

코드에 오류가없고 오류를 수정하기 위해 코드를 다시 작성했으며 오류가 정기적으로 나타나지 않고 완전히 혼란 스럽습니다.

이 세상에서 기적은 일어나지 않습니다 ... 여기에 아직 취하지 않고 실수에 대해 이야기하는 텔레파시 중 한 명이 있습니다.

 
Yury Lemeshev # :

한 가지 문제가 있습니다. 무작위로 가끔 나타납니다.

여러 통화로 테스터에서 작업할 때 나타납니다.

각 주기에서 심볼의 현재 가격을 요청합니다. 그리고 어떤 이유로 테스터가 특정 기호에 대한 따옴표를받지 못하면 다른 기호에서 이전에받은 따옴표가 사용됩니다.

가격이 특정 가격 이상이 되면 포지션을 열어야 합니다. 그러나 다른 캐릭터의 잘못된 데이터를 사용하면 열림이 발생합니다.

EURCAD 기호, 가격이 1.45117보다 높으면 엽니다. 1.74425>1.45117? 예, 하지만 이것은 다른 상징의 가격입니다.

500건의 주문 중 7건이 잘못된 것으로 밝혀졌다.

질문에 대한 답은 같은 질문에 있습니다. 로봇이 오래된 따옴표다른 기호의 잘못된 데이터를 사용할 수 있습니다. 물론 그 아이디어가 무엇인지는 모릅니다. 그러나 코드에 분명히 잘못된 것이 있습니다 ...

 
Mihail Matkovskij # :

질문에 대한 답은 같은 질문에 있습니다. 로봇이 오래된 따옴표다른 기호의 잘못된 데이터를 사용할 수 있습니다. 물론 아이디어가 무엇인지는 모릅니다. 그러나 코드에 분명히 잘못된 것이 있습니다 ...

코드에서는 괜찮습니다. 논리에 공백이 있습니다. 깜박거리는 떼는 일반적으로 예측하기 어렵고 스스로를 격리하기 어렵습니다.

 
2021.12.31 22:14:19.911 2019.01.24 18:50:09 -2117- EURGBP 0.86993
2021.12.31 22:14:19.912 2019.01.24 18:50:10 -2117- EURGBP 0.86994
2021.12.31 22:14:19.912 2019.01.24 18:50:10 -2117- EURGBP 1.5969
2021.12.31 22:14:19.912 2019.01.24 18:50:10 즉석 매수 0.01 EURGBP 0.86993 (0.86985 / 0.86993 / 0.86985)
2021.12.31 22:14:19.912 2019.01.24 18:50:10 거래 #13 매수 0.01 EURGBP 0.86993 완료(주문 #13 기준)
2021.12.31 22:14:19.912 2019.01.24 18:50:10 거래 성사 [#13 0.01 EURGBP 0.86993에 매수]
2021.12.31 22:14:19.912 2019.01.24 18:50:10 주문이 0.86993에 0.01을 매수했습니다 [#13 매수 0.01 EURGBP 0.86993]

각 주기는 정상이지만 현재 다른 문자의 데이터가 대체됩니다. 1.5969>0.88506 예, 포지션이 열려 있습니다. 이것은 코드 오류가 아닙니다. 이것은 테스트 버그입니다.

euSY01b= 0 ;euSY01a= 0 ;
   if ( SymbolInfoDouble (euSY01, SYMBOL_BID ,euSY01b)== true && SymbolInfoDouble (euSY01, SYMBOL_ASK ,euSY01a)== true && euSY01b> 0 && euSY01a> 0 )
      {
       GlobalVariableSet ( "[" +MAGICs+ "] " +euSY01+ " LAST BID" ,euSY01b); GlobalVariableSet ( "[" +MAGICs+ "] " +euSY01+ " LAST ASK" ,euSY01a);
      }
 
Valeriy Yastremskiy # :

코드에서는 괜찮습니다. 논리에 공백이 있습니다. 깜박거리는 떼는 일반적으로 예측하기 어렵고 스스로를 격리하기 어렵습니다.

코드 없는 논리란 무엇이라고 생각합니까?

 
Yury Lemeshev # :
2021.12.31 22:14:19.911 2019.01.24 18:50:09 -2117- EURGBP 0.86993
2021.12.31 22:14:19.912 2019.01.24 18:50:10 -2117- EURGBP 0.86994
2021.12.31 22:14:19.912 2019.01.24 18:50:10 -2117- EURGBP 1.5969
2021.12.31 22:14:19.912 2019.01.24 18:50:10 즉석 매수 0.01 EURGBP 0.86993 (0.86985 / 0.86993 / 0.86985)
2021.12.31 22:14:19.912 2019.01.24 18:50:10 거래 #13 매수 0.01 EURGBP 0.86993 완료(주문 #13 기준)
2021.12.31 22:14:19.912 2019.01.24 18:50:10 거래 수행 [#13 0.01 EURGBP에서 0.86993 구매]
2021.12.31 22:14:19.912 2019.01.24 18:50:10 주문이 0.86993에 0.01을 매수했습니다 [#13 매수 0.01 EURGBP 0.86993]

각 주기는 정상이지만 현재 다른 문자의 데이터가 대체됩니다. 1.5969>0.88506 예, 포지션이 열려 있습니다. 이것은 코드 오류가 아닙니다. 이것은 테스트 버그입니다.

그런 다음 신호 검색을 시작 하기 전에 동기화 기호를 확인하십시오.

 
Mihail Matkovskij # :

코드 없는 논리란 무엇이라고 생각합니까?

문제의 진술/현지화 - 솔루션 알고리즘 또는 솔루션 논리 - 코드. 불행히도 이것은 일대일 모드에서 종종 이해되지 않습니다. 코딩은 솔루션 알고리즘이 아니라 문제를 명확하게 공식화하기 전에 시작됩니다. 물론 모든 요청이 항상 실행된다는 논리는 테스터뿐만 아니라 실생활에서도 마찬가지입니다. 따라서 깜박이는 이벤트의 독성 결과를 피하기 위해 필요한 조치가 필요합니다.))) 새해 복 많이 받으세요!!!!

 
Valeriy Yastremskiy # :

새해 복 많이 받으세요!!!!

고맙습니다. 당신도요!

사실 위에 제가 해야 할 일을 적었습니다. 그러면 논리가 작동합니다.

 
Mihail Matkovskij # :

그런 다음 신호 검색을 시작 하기 전에 동기화 기호를 확인하십시오.

   if ( SymbolIsSynchronized (euSY01)== true && SymbolInfoDouble (euSY01, SYMBOL_BID ,euSY01b)== true && SymbolInfoDouble (euSY01, SYMBOL_ASK ,euSY01a)== true && euSY01b> 0 && euSY01a> 0 )

이렇게 하고 코드에 7쌍에 대한 7줄이 있는 경우 시장 검토에는 하나의 통화에 대한 견적만 포함됩니다.


사유: