낮음과 높음 - 페이지 3

 

나는 (당신의 도움으로) 문제가 어디에 있었는지 알아냅니다. ;)

여러분 덕분입니다!

지금--->테스트 중입니다! (백 테스트는 매우 잘 보입니다)

 

Hour()가 첨부한 시간으로 시간을 반환하기 때문에 문제는 EA를 차트에 첨부한 수준에서 주문을 여는 것입니다. 그러나 이것을 사용하고 싶다고 생각합니다.

TimeHour(Timecurrent())

무슨 말인지는 문서를 참고하세요...

EP

 

우리가 이것을 고칠 수 있다면 내 성배 가 있습니다! :디
 
ErrorProgrammer :

Hour()가 첨부한 시간으로 시간을 반환하기 때문에 문제는 EA를 차트에 첨부한 수준에서 주문을 여는 것입니다.

실제로 01005379의 문제를 해결하는 데 도움이되지는 않지만 이것이 옳지 않다고 생각합니다. 예를 들어, 전략 테스터 에서 다음 EA를 실행하면 시뮬레이션된 브로커 시간에 해당하는 다양한 Hour() 값이 표시됩니다.


 int start ( ) { Comment ( "Hour: " + Hour ( ) + "   @ " + TimeToStr ( TimeCurrent ( ) , TIME_DATE | TIME_MINUTES ) ) ; }

문서에서 말하려는 것은 Hour(), Minute() 등이 start()를 호출하는 동안 변경되지 않는다는 것입니다. 그러나 EA의 수명 동안 변경됩니다.


 
01005379 :

우리가 이것을 고칠 수 있다면 내 성배가 있습니다! :디

바가 상당히 커 보입니다. 다른 주문에서도 같은 일이 발생합니까? 특정 막대의 변동성 때문일 수 있습니다.

 
fxcourt :

바가 상당히 커 보입니다. 다른 주문에서도 같은 일이 발생합니까? 특정 막대의 변동성 때문일 수 있습니다.

이제 다른 주문도 마찬가지입니다. 값이 LowValue보다 낮아지면 주문이 한 막대에 열립니다. 매도 주문 의 경우 입찰가가 LowValue보다 낮아지는 즉시 해당 주문이 개설되기를 바랍니다.

 

모든 틱 을 실행하는 주문 배치 코드가 필요합니다. 현재로서는 오픈이 항목 위 또는 아래에 있는 경우에만 오픈 바에 주문을 둡니다.

정수 시작()

{

//바를 열면 높고 낮음

{

if(got_high_and_low)

{

readytotrade = 사실;

}

}

//매 틱, 거래할 준비가 되었으면 진입 가격에 도달했는지 확인합니다.

if(거래 준비 완료)

{

//구매 또는 판매

readytotrade = 거짓;

}

}

 
fxcourt :
모든 틱을 실행하는 주문 배치 코드가 필요합니다. 현재로서는 오픈이 항목 위 또는 아래에 있는 경우에만 오픈 바에 주문을 둡니다.

흠, 어떻게 해야 하나요?

 

코드를 재구성해야 합니다. 너무 힘들면 안됩니다. 그냥 두 부분으로 나눕니다. 첫 번째 부분은 항목 및 기타 데이터를 수집하기 위해 막대당 한 번 실행되고 두 번째 부분은 항목이 적중될 때까지 감시합니다.

 
fxcourt :

모든 틱을 실행하는 주문 배치 코드가 필요합니다. 현재로서는 오픈이 항목 위 또는 아래에 있는 경우에만 오픈 바에 주문을 둡니다.

정수 시작()

{

//바를 열면 높고 낮음

{

if(got_high_and_low)

{

readytotrade = 사실;

}

}

//매 틱, 거래할 준비가 되었으면 진입 가격에 도달했는지 확인합니다.

if(거래 준비 완료)

{

//구매 또는 판매

readytotrade = 거짓;

}

}

어, 지금은 조금 길을 잃었어요. 더 많은 도움이 될 것입니다. ;)