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

 
GSB :

원칙에 대한 이의는 없지만 한 사람이 테스터에 대해 어드바이저를 운영하기를 원하므로 귀하의 옵션이 그에게 적합하지 않습니다.

belck 내 버전을 사용하면 실생활과 테스터 모두에서 작동하지만 겨울-여름 시간으로의 전환을 자동으로 고려하고 올해의 전환 시간을 결정하는 기능은 아직 만들지 않았습니다.

2013년 3월부터 2014년 11월까지 올바르게 작동하고 테스트됩니다. 중개인에 따라 교대를 설정하십시오.


나는 테스터에서 시간이 생성된다고 쓰여진 곳을 찾지 않을 것입니다. 이것은 당신 자신이 알고 있습니다. 설명서에 나와 있는 내용은 다음과 같습니다.

 var2= StrToTime ( "17:35" );       // возврат текущей даты с указанным временем

StringToTime() 에 대한 구체적인 내용은 없습니다.

고려해야 할 유일한 것은 테스터(DC 서버)의 시간입니다. 따라서 테스트할 때 이 올빼미가 작동할 동일한 유형의 계정 기록이 있어야 합니다.

 
AlexeyVik :


나는 테스터에서 시간이 생성된다고 쓰여진 곳을 찾지 않을 것입니다. 이것은 당신 자신이 알고 있습니다. 설명서에 나와 있는 내용은 다음과 같습니다.

StringToTime()에 대한 이러한 세부 사항은 없습니다.

고려해야 할 유일한 것은 테스터(DC 서버)의 시간입니다. 따라서 테스트할 때 이 올빼미가 작동할 동일한 유형의 계정 기록이 있어야 합니다.


Alexey, 네, 저는 StrToTime() 함수의 작업에 대해 이의가 없습니다. 질문은 다릅니다. 정확한 시간을 반환하지만 오늘 21:00은 3월 9일 이전 22:00입니다. 따라서 브로커의 DST를 올바르게 고려한 기능을 오랫동안 작성했습니다.

이것이 없으면 Expert Advisor가 일정에 따라 작동하면 테스트가 불가능합니다. 여전히 한 시간 앞으로 나아갑니다. 실생활에서는 문제가 없지만 테스터에는 문제가 있습니다. 저는 개발자들에게 타임 시프트 계산 기능을 활성화해 달라고 오랫동안 요청해 왔습니다. TimeGMT()를 만들었지만 컴퓨터의 현지 시간 과 시간대에 묶여 있습니다. 그리고 중개사 교대가 필요합니다. 그리고 그들의 DST는 우리와 다릅니다. 브로커는 11월 첫째 일요일을 3월 둘째 일요일로, 러시아(있는 경우..)는 10월 마지막 일요일 3월 마지막 일요일로 이동합니다. 따라서 기능을 작성하는 동안 필요합니다.

 
GSB :

원칙에 대한 이의는 없지만 한 사람이 테스터에 대해 어드바이저를 운영하기를 원하므로 귀하의 옵션이 그에게 적합하지 않습니다.

belck 내 버전을 사용하면 실생활과 테스터 모두에서 작동하지만 겨울-여름 시간으로의 전환을 자동으로 설명하는 기능을 아직 만들지 않았습니다.

2013년 3월부터 2014년 11월까지 올바르게 작동하고 테스트됩니다. 중개인에 따라 교대를 설정하십시오.

잘. 감사하다. 결과를 알려드리겠습니다.
 

< h4 차트에서 3월 8일 이전 현재 금요일과 금요일의 마지막 막대의 시간을 확인하는 것이 필요합니다. 이 시간이 일치하면 hrd 값은 일정하고 겨울 - 여름 시간으로의 전환에 의존하지 않으며 겨울 - 여름 전환에 관계없이 테스트를 포함하여 모든 것이 매우 간단하고 올바르게 작동합니다.

 datetime tc= TimeCurrent ();
datetime te= StrToTime ( "20:45" );                    //   время конца сессии по котировкам брокера минус 15 минут или сколько вам надо до конца сессии
if ( TimeDayOfWeek (tc)== 5 && tc>te) {  CloseAll(); } //   закрытие пятницу позже указанного времени 

이 두 시간이 다른 경우(1시간씩 다름) 이전에 썼던 대로입니다.

 
GSB :

M1 차트에서 현재 금요일의 마지막 막대와 3월 8일 이전 금요일의 시간을 비교할 필요가 있습니다. 이 시간이 일치하면 hrd 값은 일정하고 겨울 - 여름 시간으로의 전환에 의존하지 않으며 겨울 - 여름 전환에 관계없이 테스트를 포함하여 모든 것이 매우 간단하고 올바르게 작동합니다.

이 두 시간이 다른 경우(1시간씩 다름) 이전에 썼던 대로입니다.


그리고 중개인의 15분이라는 시간이 왜 세션 종료 15분 전에 포트폴리오가 이동한다고 말하고 싶습니까?물론 일부 통화 쌍에서 그러한 순간과 좋은 수준을 보았습니다.
 

예를 들어, 세션이 끝나기 1분 전에 거래를 성사시키고 싶습니다. 왜냐하면 주말 주문이 있을 때 월요일 시가가 100 또는 200 옆으로 뛰어 오르거나 심지어는 더 많은 포인트. 그리고 이 갑작스러운 움직임이 항상 나에게 유리한 것은 아닐 수도 있습니다.

아직 테스트되지 않았습니다. 오늘은 이따 테스트 중입니다.

 
서버 시간, 브로커 시간입니까? 중개인이 러시아에 있고 내가 우크라이나에 있다면 그는 여름이나 겨울 시간으로 전환하지 않는 것으로 나타났습니까? 그러면 서버 시간에 따른 전환이 없고 현지 시간 에 따른 현재 ? 혼란스러워요.
 
GSB :

글쎄, 이것은 테스터에 있으며 작동하지 않아야합니다.

함수는 현재 시간을 기준으로 발행되지만 위에서 작성한 것은 TimeCurrent() 및 TimeDayOfWeek()가 올바르게 작동하기 때문에 작동합니다. 브로커의 여름과 겨울 시간으로의 전환 기능만 추가하면 됩니다. hrd 매개변수. 전환은 일반적으로 미국 DST 시간(11월 첫 번째 일요일, 3월 두 번째 일요일)이지만 일부 브로커는 이전하지 않으므로 귀하의


섣부른 판단도 하지 않고 그냥 테스터에 어드바이저를 태우고 쳐다보기만 했다. 작동하고 닫힙니다.

 
belck :
서버 시간, 브로커 시간입니까? 중개인이 러시아에 있고 내가 우크라이나에 있다면 그는 여름이나 겨울 시간으로 전환하지 않는 것으로 나타났습니까? 그러면 서버 시간에 따른 전환이 없고 현지 시간에 따른 현재가 있습니까? 혼란스러워요.

브로커 시세와 현지 시세를 비교할 필요가 없습니다. 시계를 아무리 움직여도 차트에서 브로커 세션이 종료되는 시간은 변경되지 않습니다. 그것은 3월 8-9일에 중개인 시세의 서머 타임으로의 전환 에 관한 것이었고 일부 중개인은 이것을 하고 일부는 하지 않습니다.

나는 썼습니다 - 3 월 9 일 전후의 마지막 막대 시간에 대한 차트를보고 동일하면 마지막 간단한 옵션을 사용하고 한 시간 차이가 나면 더 복잡합니다.

 

친구들을 비켜주세요 :) 수식과 DayOfWeek() TimeDayOfWeek(datetimedate) 및 유사한 수식이 테스터에서 올바르게 작동합니다. 테스터는 처리 중인 틱 시간을 시뮬레이션하므로 서버의 마지막으로 알려진 시간 을 취하는 DayOfWeek()도 작동합니다. 물론 TimeDayOfWeek(dt1)를 사용하는 것이 더 정확합니다.

일반적으로 모든 것이 정확합니다. 위에서 쓴 것처럼 브로커가 겨울로 전환하는 시간(있는 경우 여름 시간)만 고려하면 됩니다.

사유: