포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 1124

 
Alexey Viktorov :
그래서 누구든지 가격을 정합니다. 포인트 만 _Point 가 곱해지고 현재 가격 에 추가 됩니다 . 그러나 아무도 특정 가격을 지정하는 것을 금지하지 않습니다.
그는 모든 미결 주문에 대해 주어진 가격을 중지해야 합니다. 예를 들어 3개의 주문이 열렸고 어드바이저에 스탑이 미리 등록되어 있다고 가정해 봅시다. 1.32511... 이것이 당신이 필요로 하는 것입니다)
 
Anton Govorukhin :
그는 모든 미결 주문에 대해 주어진 가격을 중지해야 합니다. 예를 들어 3개의 주문이 열렸고 어드바이저에 스탑이 미리 등록되어 있다고 가정해 봅시다. 1.32511... 이것이 당신이 필요로 하는 것입니다)
작업에서 중지를 사용하는 코드 기반에서 어드바이저를 가져오고 중지가 설정된 코드를 다시 실행합니다. 15분의 느린 작업입니다.
 

안녕하세요 여러분! 서버->터미널->어드바이저의 논리를 설명해주세요. 이 질문은 Expert Advisor에 추가된 오류 처리 기능 때문에 발생했습니다. 교과서에서 내가 이해한 한 TIC는 다음과 같습니다. SERVER ---> 가격 견적 전송 ---> 터미널 ---> 고문에게 제어권 제공 ---> ADVISOR(처리된 틱 주기) ---> 반대 방향으로, 그것은 짧았다.

질문: 서버가 처음에 따옴표를 보낼 때 따옴표만??? 또는 이 TICK에 서버의 다양한 오류에 대한 데이터가 즉시 표시됩니까(물론 갑자기 발생하지 않는 한)?

논리를 이해하지 않고 프로그래밍하기 어렵다

 
Evgeniy Oshurkevich :

안녕하세요 여러분! 서버->터미널->어드바이저의 논리를 설명해주세요. 이 질문은 Expert Advisor에 추가된 오류 처리 기능 때문에 발생했습니다. 교과서에서 내가 이해한 한 TIC는 다음과 같습니다. SERVER ---> 가격 견적 전송 ---> 터미널 ---> 고문에게 제어권 제공 ---> ADVISOR(처리된 틱 주기) ---> 반대 방향으로, 그것은 짧았다.

질문: 서버가 처음에 따옴표를 보낼 때 따옴표만??? 또는 이 TICK에 서버의 다양한 오류에 대한 데이터가 즉시 표시됩니까(물론 갑자기 발생하지 않는 한)?

논리를 이해하지 않고 프로그래밍하기 어렵다

틱에 관계없이 오류가 발생합니다.
 
Vitalie Postolache :
틱에 관계없이 오류가 발생합니다.

이해가 되지 않습니다. 에러 핸들링 기능은 트레이딩 케이스에만 필요한 기능인데, 제대로 이해한 걸까요? 이것은 주문을 열기 전 또는 주문을 수정하기 전입니다. 그래서? 저것들. 주문을 열기 전에 지금 서버에 오류가 없는지 먼저 확인해야합니다. 오류가 없으면 과감하게 주문을 열 수 있습니까?

얘들 아, 나는 이러한 기능을 처방하지 않고 고문을 만들었습니다. 중개인은 끊임없이 나를 지옥으로 보냈습니다. 아마도 많은 요청과 고문의 완고함 때문일 것입니다. 그리고 이 때문에 제 고문은 더 이상 거래를 할 수 없었습니다. 게으르지 않은 사람은 러시아어로 설명하고 교과서에 씁니다. 예, 절대적으로 필요한 것이 무엇인지, 어떻게, 어떻게 세부 사항이 없습니다.

오류와 관계없이 오류가 발생하면 GetLastError() 자체가 서버에 오류가 있는지 묻습니까?

 
Evgeniy Oshurkevich :

이해가 되지 않습니다. 에러 핸들링 기능은 트레이딩 케이스에만 필요한 기능인데, 제대로 이해한 걸까요? 이것은 주문을 열기 전 또는 주문을 수정하기 전입니다. 그래서? 저것들. 주문을 열기 전에 지금 서버에 오류가 없는지 먼저 확인해야합니다. 오류가 없으면 과감하게 주문을 열 수 있습니까?

얘들 아, 나는 이러한 기능을 처방하지 않고 고문을 만들었습니다. 중개인은 끊임없이 나를 지옥으로 보냈습니다. 아마도 많은 요청과 고문의 완고함 때문일 것입니다. 그리고 이 때문에 제 고문은 더 이상 거래를 할 수 없었습니다. 게으르지 않은 사람은 러시아어로 설명하고 교과서에 씁니다. 예, 절대적으로 필요한 것이 무엇인지, 어떻게, 어떻게 세부 사항이 없습니다.

오류와 관계없이 오류가 발생하면 GetLastError() 자체가 서버에 오류가 있는지 묻습니까?

글쎄요, 서버에는 클라이언트 측 오류가 없습니다. 아니요, 절대, 아무데도, 전혀 아닙니다. 처음에는 이것을 이해하십시오.

서버는 클라이언트의 거래 주문 에 대한 응답으로 디지털 코드를 반환합니다. 그게 전부입니다. 코드 0 - 모든 것이 무리지어 있고 명령이 문제 없이 진행되었습니다. 코드가 0보다 큽니다. 문제가 있는 경우 터미널은 오류 코드와 암호 해독을 로그에 기록합니다.

Expert Advisor에서는 서버 반환 코드의 처리를 고려할 필요가 있을 뿐만 아니라 프로그래머는 서버에 명령을 보내기 전에 오류를 고려해야 하며 오류. 그러면 고문과의 거래가 금지되지 않습니다. 그렇지 않으면 가입하십시오.

예: 계정에 유로달러 1랏을 사기에 충분한 자금이 없습니다. 고문은 이를 고려하지 않고 매 틱마다 이 1랏을 구매하라는 명령을 서버에 퍼붓습니다. 당연히 서버는 이러한 계정을 기껏해야 수동 모드로 설정합니다.

EA가 먼저 1랏을 구매하는 데 필요한 증거금을 확인한 다음 이 값과 계정의 무료 자금을 비교하여 돈이 충분하지 않고 거래되지 않을 것임을 확인하고 대신 상인에게 경고하면 모든 것이 정상입니다. 좋은 행동의 예입니다.

따라서 가능한 모든 오류 변형을 고려해야 합니다. 값을 수정하는 것이 불가능한 경우에는 거래를 차단하고 거래자에게 문제에 대한 경고를 제공하기만 하면 됩니다.

 
Evgeniy Oshurkevich :

이해가 되지 않습니다. 에러 핸들링 기능은 트레이딩 케이스에만 필요한 기능인데, 제대로 이해한 걸까요? 이것은 주문을 열기 전 또는 주문을 수정하기 전입니다. 그래서? 저것들. 주문을 열기 전에 지금 서버에 오류가 없는지 먼저 확인해야합니다. 오류가 없으면 과감하게 주문을 열 수 있습니까?

얘들 아, 나는 이러한 기능을 처방하지 않고 고문을 만들었습니다. 중개인은 끊임없이 나를 지옥으로 보냈습니다. 아마도 많은 요청과 고문의 완고함 때문일 것입니다. 그리고 이 때문에 제 고문은 더 이상 거래를 할 수 없었습니다. 게으르지 않은 사람은 러시아어로 설명하고 교과서에 씁니다. 예, 절대적으로 필요한 것이 무엇인지, 어떻게, 어떻게 세부 사항이 없습니다.

오류와 관계없이 오류가 발생하면 GetLastError() 자체가 서버에 오류가 있는지 묻습니까?

원칙: 당신은 거래 를 할 것이고 논리적으로 당신은 "거래를 위한 충분한 돈이 있습니까?"를 이해해야 합니다. 자금이 충분한지 확인합니다. 다음 단계: "오더의 수준이 정확합니까? 거리가 허용됩니까?" - 검사. 서버에 손이 닿지 않도록 하는 체크입니다.

다음: 검사가 통과되고 성공했습니다. 서버에 주문을 보내고 응답을 기다립니다. GetLastError () 함수는 서버에서 응답을 수신합니다. 오류가 없으면 "0", 오류가 있으면 각각 오류 코드를 반환하고 수정 주문을 반환합니다. 또한 작업은 수신된 오류를 처리하고 서버를 다시 폭격할지 아니면 여전히 진정할지 결정하는 것입니다. 오류 코드는 도움말에 있습니다.

추신. 작성하는 동안 이미 답변)

 
Vitalie Postolache와 Vitaly Muzichenko 정말 감사합니다!!! )) 상상해봐, 마침내 나에게 떠올랐다))
 
Evgeniy Oshurkevich :
Vitalie Postolache와 Vitaly Muzichenko 정말 감사합니다!!! )) 상상해봐, 마침내 나에게 떠올랐다))
좋아요) 그럼 추가하겠습니다. 상황을 상상해보십시오. 귀하의 DC는 23-59일까지 금요일에 거래 요청을 처리하지만 23-50일까지만 거래 요청을 처리합니다. 어드바이저와 그의 스토캐스틱이 어딘가에 교차하고 그는 서버에 요청을 보내기 시작하고 "시장이 닫혔습니다. " , 하지만 틱은 계속되고 그는 각 틱마다 주문을 다시 보냅니다. 수표는 없습니다. 서버가 좋아할 것 같습니까? 이러한 사항도 고려하는 것이 바람직합니다.
 
Vitaly Muzichenko :
좋아요) 그럼 추가하겠습니다. 상황을 상상해보십시오. 귀하의 DC는 23-59일까지 금요일에 거래 요청을 처리하지만 23-50일까지만 거래 요청을 처리합니다. 어드바이저와 그의 스토캐스틱이 어딘가에 교차하고 그는 서버에 요청을 보내기 시작하고 "시장은 닫힘" 하지만 틱은 계속되고 각 틱마다 주문을 다시 보냅니다. 수표는 없습니다. 서버가 좋아할 것 같습니까? 이러한 사항도 고려하는 것이 바람직합니다.
예, 이미 이해했습니다. 감사합니다. 거래 주문 전에 이미 모든 곳에 오류 처리 기능을 등록했습니다. 내 실수로 인해 오류가 정확히 발생한 경우 지금 어드바이저의 속도를 늦추는 방법에 대해 여전히 고민하고 있습니다. 정확히 등록합니다. 저것들. 주문을 열려고 했으나 오류가 발생했습니다. 어떻게 받나요? 예를 들어 OrderSend(....); 작업을 수행했는데 정보를 얻는 방법이 성공적으로 작동했습니까?