[아카이브!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 2. - 페이지 190

 
DhP :

동일하지만 코드가 더 읽기 쉽습니다(더 친숙함).

이해하기에는 너무 게으르지만 누군가는 긴장하지 않고도 코드에서 오류를 쉽게 찾을 수 있습니다. 기다리다.

오류가 없습니다. 모든 것이 개별적으로 잘 작동하지만 모든 것을 하나의 Expert Advisor로 결합하고 싶습니다. 적어도 전문가와 라인을 결합하려면 사운드 신호를 스크립트로 별도로 실행할 수 있습니다.
 

때때로 로그에 메시지가 나타납니다.

OrderSend 기능 에 대한 잘못된 가격 1.37197000

무엇 때문에 그럴 수 있습니까? 손절매 실행 후에 발생합니다.

 

잘못된 가격 1.37197000.

올바른 것은 DC에 따라 1.37197 또는 1.3719입니다.

소수점 이하 자릿수를 설정 하려면 NormalizeDouble()을 사용하십시오 .

 

int start()에서 새 막대의 시작을 추적하는 방법은 무엇입니까?

모든 눈금 이 아니라 새 막대를 연 후에만 코드가 작동해야 합니다.

 

막대의 시간을 기억하고 현재 막대의 시간과 같은지 확인하십시오.

같지 않으면 막대가 변경되었습니다. 필요한 모든 작업을 수행하고 o5 시간을 기억하십시오.

 

isCloseLastPosByStop() 또는 isCloseLastPosByTake()를 사용한 사람이 있습니까? 당신이 그것을 어떻게했는지 보여줍니다.

 

차트에 표시기를 프로그래밍 방식으로 로드하는 방법을 알려주십시오.

bool ServiceLoadCustomIndicator( int hwndChart,... ) ; // hwndChart - 표시기가 로드되는 차트 창에 대한 시스템 핸들입니다.

하지만 차트 창 핸들을 어떻게 아는지 모르겠습니다.

표시기를 시작한 후 첫 번째 눈금에서 GetTickCount만 기억하면 되지만 아래 코드는 작동하지 않습니다. 터미널이 멈춥니다. init()에서 RefreshRates가 전혀 작동하지 않을 수도 있습니다..?

 while (true){
   if (RefreshRates()) { tik= GetTickCount (); break ; }
   Sleep ( 1 ); }
 
doon :

isCloseLastPosByStop() 또는 isCloseLastPosByTake()를 사용한 사람이 있습니까? 당신이 그것을 어떻게했는지 보여줍니다.

더 쉬운 곳은 없습니다:

 if (isCloseLastPosByStop(OP_BUY, Magic)) {
// код если последняя поза Бай с магиком Magic закрылась по стоп-приказу
}
if (isCloseLastPosByTake(OP_SELL, Magic)) {
// код если последняя поза Селл с магиком Magic закрылась по тейку
}

함수 자체를 start() 함수 외부에 배치하면 전체 코드의 맨 끝에도 배치할 수 있습니다.

 
todem :

예, 여기에 미래 프로그래머의 경험에 적어도 약간의 라이브 비디오가 추가됩니다.
귀하의 설명은 만족스럽지 않습니다. 어리석은 중개인의 광고가 있는 "라이브 비디오"는 중개인의 광고 외에는 아무 것도 전달하지 않습니다.
귀하의 게시물이 삭제되었습니다. 경고합니다.
 
artmedia70 :

더 쉬운 곳은 없습니다:
함수 자체를 start() 함수 외부에 배치하면 전체 코드의 맨 끝에도 배치할 수 있습니다.

나는 doon 이 함수 코드를 취한 동일한 링크 가 Artem이 말한 대로 모든 것이 수행되는 테스트 스크립트 test_isCloseLastPosByStop.mq4 의 예라고 덧붙일 것입니다. 물어보기 전에 살펴봤어야 했다.