Dimka-novitsek : , ulong 거래로 추가 작업(수정)을 위해 위치를 열 수 있는 기능이 있는지 알려주십시오. // 딜 티켓, 이전에 기억한 딜 티켓에 따라 생성된 경우? 아마도 그러한 선택을 위해서는 복잡한 알고리즘이 필요할 것입니다. 왼손으로 오른쪽 귀를 읽는 방법은 무엇입니까?
staticdatetime Old_Time;
datetime New_Time[ 1 ];
bool IsNewBar= false ;
// копируем время текущего бара в элемент New_Time[0]int copied= CopyTime ( _Symbol , _Period , 0 , 1 ,New_Time);
if (copied> 0 ) // ok, успешно скопировано
{
if (Old_Time!=New_Time[ 0 ]) // если старое время не равно
{
IsNewBar= true ; // новый барif ( MQL5InfoInteger ( MQL5_DEBUGGING ))
Print ( "Новый бар" ,New_Time[ 0 ], "старый бар" ,Old_Time);
Old_Time=New_Time[ 0 ]; // сохраняем время бара
}
}
else
{
Alert ( "Ошибка копирования времени, номер ошибки =" , GetLastError ());
ResetLastError ();
return ;
}
//--- советник должен проверять условия совершения новой торговой операции только при новом бареif (IsNewBar== false )
{
return ;
}
모든 것이 잘 작동합니다. 그러나 나는 마지막 if에 다양한 무거운 통계의 계산을 삽입하고 싶습니다. 따라서 새로운 막대가 시작될 때 최소한의 계산이 있어야 합니다.
사실 질문입니다. 통계가 비교적 오랜 시간(2초로 가정) 계산되고 이전 막대와 새 막대의 눈금 간격이 최소인 경우 이 코드는 어떻게 작동할까요?
내가 이해하는 한 OnTick() 함수가 계산되는 동안 틱은 건너뛰지만 막대의 첫 번째 틱은 아니지만 다음 틱은 EA에 대해 새 틱이 됩니다.
St.Vitaliy : 통계가 비교적 오랜 시간(예: 2초) 동안 계산되는 경우 이 코드는 어떻게 작동합니까?
OnTick() 함수가 2초 동안 실행되면 이 기간 동안 수신된 모든 견적은 EA에서 무시됩니다. 이 점을 명확히 하시겠습니까? Expert Advisor에 대한 "새" 견적은 이 견적이 "바의 첫 번째 눈금"이 아니더라도 OnTick() 함수의 다음 실행 완료 직후에 나온 견적입니다.
St.Vitaliy : 음, 이 2초는 무시되지만(이 시간 동안 틱), 예를 들어 세 번째에 또 다른 틱이 올 것이고 코드는 이를 막대에서 새 것으로 인식할 것입니다. 이것은 내가 어드바이저를 시작할 때 다음 틱이 항상 첫 번째 틱이라는 사실에 의해 간접적으로 확인됩니다. 통계가 90초로 계산되면 M1의 새 틱에 대한 조건이 충족됩니까?
글쎄, 나는 이미 위에 추가했다. 반복합니다: Expert Advisor에 대한 "새" 인용문은 이 인용문이 "막대의 첫 번째 눈금"이 아니더라도 다음 OnTick() 함수 실행이 완료된 직후에 나온 인용문입니다. 당신은 새로운 막대의 발생에 대한 조건이 있습니다
if (Old_Time!=New_Time[ 0 ])
전문가가 "이전" 표시줄에 있는 견적 처리를 완료한 후에만 확인됩니다. ..OnTick() 함수가 90초 동안 실행되고 00.00.00에서 시작되면 "M1의 새 틱에 대한 조건이 적어도 언젠가는 충족될 것입니다", 즉: 00.01.30 이후
, ulong 거래로 추가 작업(수정)을 위해 위치를 열 수 있는 기능이 있는지 알려주십시오. // 딜 티켓, 이전에 기억한 딜 티켓에 따라 생성된 경우? 아마도 그러한 선택을 위해서는 복잡한 알고리즘이 필요할 것입니다. 왼손으로 오른쪽 귀를 읽는 방법은 무엇입니까?
모두 좋은 저녁! 나는 이 지점에서 사람들이 관심을 갖는 것을 봅니다. 챔피언으로...
지금까지 내가 보낸 챔피언십 기밀정보는 검증이 안됐지만 전문가는 검증됐어!
그들은 언제 확인됩니까?
모두 좋은 저녁! 나는 이 지점에서 사람들이 관심을 갖는 것을 봅니다. 챔피언으로...
지금까지 내가 보낸 챔피언십 기밀정보는 검증이 안됐지만 전문가는 검증됐어!
그들은 언제 확인됩니까?
모두 좋은 저녁! 나는 이 지점에서 사람들이 관심을 갖는 것을 봅니다. 챔피언으로...
지금까지 내가 보낸 챔피언십 기밀정보는 검증이 안됐지만 전문가는 검증됐어!
그들은 언제 확인됩니까?
질문이 있습니다.
새 막대의 시작을 결정하는 기사의 코드가 있습니다.
모든 것이 잘 작동합니다. 그러나 나는 마지막 if에 다양한 무거운 통계의 계산을 삽입하고 싶습니다. 따라서 새로운 막대가 시작될 때 최소한의 계산이 있어야 합니다.
사실 질문입니다. 통계가 비교적 오랜 시간(2초로 가정) 계산되고 이전 막대와 새 막대의 눈금 간격이 최소인 경우 이 코드는 어떻게 작동할까요?
내가 이해하는 한 OnTick() 함수가 계산되는 동안 틱은 건너뛰지만 막대의 첫 번째 틱은 아니지만 다음 틱은 EA에 대해 새 틱이 됩니다.
수동 검사는 아직 이해하지 못했습니다.
OnTick() 함수가 2초 동안 실행되면 이 기간 동안 수신된 모든 견적은 EA에서 무시됩니다. 이 점을 명확히 하시겠습니까?
따라서 이 2초는 무시되지만(이 시간 동안 틱), 예를 들어 세 번째에는 또 다른 틱이 올 것이고 코드는 이를 막대에서 새로운 것으로 인식할 것입니다.
이것은 내가 어드바이저를 시작할 때 다음 틱이 항상 첫 번째 틱이라는 사실에 의해 간접적으로 확인됩니다.
통계가 90초로 계산되면 M1의 새 틱에 대한 조건이 충족됩니까?
각 거래에는 포지션 ID가 있습니다. 이 식별자로 위치 자체를 검색하십시오.
글쎄, 나는 이미 위에 추가했다. 반복합니다: Expert Advisor에 대한 "새" 인용문은 이 인용문이 "막대의 첫 번째 눈금"이 아니더라도 다음 OnTick() 함수 실행이 완료된 직후에 나온 인용문입니다. 당신은 새로운 막대의 발생에 대한 조건이 있습니다
전문가가 "이전" 표시줄에 있는 견적 처리를 완료한 후에만 확인됩니다. ..OnTick() 함수가 90초 동안 실행되고 00.00.00에서 시작되면 "M1의 새 틱에 대한 조건이 적어도 언젠가는 충족될 것입니다", 즉: 00.01.30 이후