감사합니다. 그러나 특히 시간이 여전히 "실제가 아닌" 것이지만 근사치이며 많은 요인에 따라 달라지기 때문에 그러한 정확성에는 아직 의미가 없다고 생각합니다. 모든 것이 정확하려면 서버 에서 시간을 가져올 수 있어야 합니다. SymbolInfoDouble( _Symbol, SYMBOL_SESSION_INTEREST ) 매개변수를 요청하면 즉시 시간을 얻을 수 있습니다. 예: SymbolInfoInteger( _Symbol, SYMBOL_SESSION_TIME_INTEREST ) (밀리초 단위로 정확). 그러면 모든 것이 잘 될 것입니다!
fxsaber : 더 정확할 수도 있습니다. 예를 들어 SymbolInfoTick(+ CopyTicks) 요청을 통해 모든 기호를 살펴보십시오. 거기에서 시간을 밀리초 단위로 긁습니다. 나는 이것의 실제 적용이 무엇인지 이해하지 못합니다.
간단합니다 - 동기화! 그녀에 대한 모든 것입니다! 이제 틱, 감정, 주문서 등 많은 데이터를 사용할 수 있습니다. 틱에만 밀리초의 시간이 있습니다! 그리고 나머지 데이터의 도착 시간은 어떻게 됩니까? 유리에는 아무것도 없습니다. 감성도 없다! 따라서 모든 데이터를 함께 수집하면 동기화할 수 없습니다! 종합적인 분석은 불가능합니다! 왜 개발자들이 이것에 대해주의를 기울이지 않는지 이해가되지 않습니다. 데이터는 있지만 정확하게 작업하는 것은 불가능합니다! 그래서 우리는 나가야하지만 "목발"조차도 항상 올바르게 작동하는 것은 아닙니다.
int f(); //объявление staticint i1 = f(); //Error: 'f' - function must have a body int g() { staticint i2 = f(); //нормально //даже если нет объявления return i2; } voidOnStart () { g(); } int f() { return0 ; }
int f(); //объявление staticint i1 = f(); //Error: 'f' - function must have a body int g() { staticint i2 = f(); //нормально //даже если нет объявления return i2; } voidOnStart () { g(); } int f() { return0 ; }
논리적인 것 같아요.
그러나 여기에 오류가 없는 이유는 명확하지 않습니다.
int f(); //объявление staticint i1 = f(); //Error: 'f' - function must have a body int g() { staticint i2 = f(); //нормально //даже если нет объявления return i2; }
확인하지 않았다
{
static ulong PrevStartTime = GetMicrosecondCount ();
static datetime PrevTimeCurrent = TimeCurrent (); // TimeTradeServer()
const datetime NewTimeCurrent = TimeCurrent (); // TimeTradeServer()
const ulong NowTime = GetMicrosecondCount ();
if (PrevTimeCurrent < NewTimeCurrent)
{
PrevTimeCurrent = NewTimeCurrent;
PrevStartTime = NowTime;
}
return (PrevTimeCurrent + ( datetime )((NowTime - PrevStartTime) / 1000000 ));
}
더 정확할 수도 있습니다. 예를 들어 SymbolInfoTick(+ CopyTicks) 요청을 통해 모든 기호를 살펴보십시오. 거기에서 시간을 밀리초 단위로 긁습니다. 나는 이것의 실제 적용이 무엇인지 이해하지 못합니다.
간단합니다 - 동기화! 그녀에 대한 모든 것입니다! 이제 틱, 감정, 주문서 등 많은 데이터를 사용할 수 있습니다. 틱에만 밀리초의 시간이 있습니다! 그리고 나머지 데이터의 도착 시간은 어떻게 됩니까? 유리에는 아무것도 없습니다. 감성도 없다! 따라서 모든 데이터를 함께 수집하면 동기화할 수 없습니다! 종합적인 분석은 불가능합니다! 왜 개발자들이 이것에 대해주의를 기울이지 않는지 이해가되지 않습니다. 데이터는 있지만 정확하게 작업하는 것은 불가능합니다! 그래서 우리는 나가야하지만 "목발"조차도 항상 올바르게 작동하는 것은 아닙니다.
GUI에 반영된 TimeCurrent의 일반 밀리초 아날로그는 이미 오래 전에 출시되었습니다.
TimeCurrent()의 버그가 수정되었으며 오늘 MQ-Demo에 포함될 것이라고 말했습니다.
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
MetaTrader 5 플랫폼 빌드 1545의 새 버전: 창 간 빠른 전환 및 마우스로 가격 변경
fxsaber , 2017.02.16 10:16
향후 발표에서 수정된 CD 주문의 수도 표시할 수 있습니까?규정으로 하면 좋을텐데
컴파일 오류: 이전에 선언이 있어도 나중에 함수를 정의할 수 없습니다.
static int i1 = f(); //Error: 'f' - function must have a body
int g()
{
static int i2 = f(); //нормально //даже если нет объявления
return i2;
}
void OnStart ()
{
g();
}
int f() { return 0 ; }
컴파일 오류: 이전에 선언이 있어도 나중에 함수를 정의할 수 없습니다.
static int i1 = f(); //Error: 'f' - function must have a body
int g()
{
static int i2 = f(); //нормально //даже если нет объявления
return i2;
}
void OnStart ()
{
g();
}
int f() { return 0 ; }
논리적인 것 같아요.
그러나 여기에 오류가 없는 이유는 명확하지 않습니다.
static int i1 = f(); //Error: 'f' - function must have a body
int g()
{
static int i2 = f(); //нормально //даже если нет объявления
return i2;
}
class A
{
public :
A() { f(); }
};
A a;
void OnStart ()
{
g();
}
int f() { return 0 ; }
논리적인 것 같아요.
그러나 여기에 오류가 없는 이유는 명확하지 않습니다.
오류는 충돌이 있는 경우에만 논리적입니다. 모든 것이 올바르게 수행되면 불필요한 오류로 인해 유연성이 박탈됩니다.
버전 1531에서 컴파일되었습니다. 시작하자마자 다음을 얻었습니다.
2017.02.16 18:55:19.101 MQL5 'TradePanel.ex5'에 지원되지 않는 최신 버전이 있습니다. 클라이언트 터미널을 업데이트하십시오.
전투 계정에 없는 것이 좋습니다.