Sirs,MQL4의 iClose() 결과가 시간 이동으로 발전하지 않습니다 - 이유가 무엇입니까?
다른 문제와 관련하여, 내용이 EURUSD의 이전 시간당 마감 값인 배열을 만들려고합니다. 나는 다음과 같은 코드를 가진다 :
void Trade()
{
double longThresh = this.longThreshold;
double longTP = this.longTakeProfit;
double longSL = this.longStopLoss;
double shortThresh = this.shortThreshold;
double shortTP = this.shortTakeProfit;
double shortSL = this.shortStopLoss;
int dummyIndex = 0;
Print("Triggered reload of stack data for trading routine");
this.stackArray[0] = iClose("EURUSD", PERIOD_H1, 1);
this.stackArray[1] = iClose("EURUSD", PERIOD_H1, 2);
this.stackArray[2] = iClose("EURUSD", PERIOD_H1, 3);
this.stackArray[3] = iClose("EURUSD", PERIOD_H1, 4);
this.stackArray[4] = iClose("EURUSD", PERIOD_H1, 5);
this.stackArray[5] = iClose("EURUSD", PERIOD_H1, 6);
this.stackArray[6] = iClose("EURUSD", PERIOD_H1, 7);
this.stackArray[7] = iClose("EURUSD", PERIOD_H1, 8);
this.PrintStackArray();
}
위 함수는 실제로 객체 메소드이다. Object가 인스턴스화되고 do-while
루프가 발생하면 위의 메서드가 5 분마다 1 시간마다 다시 실행됩니다.
문제는 코드를 상기 시간 후에 실행하면 PrintStackArray()
출력은 iClose()
함수 촛대 새로운 매시로 유지되지 않는다는 것을 나타내고있다.
코드가 5:05에서 실행되면 6:05와 동일한 출력을 내고 차례로 동일한 출력을 7:05에 제공합니다.
iClose()
함수를 다시 실행하면 배열이 새 촛대 값으로 업데이트되지 않는 이유를 알 수 없습니다. 이 문제로 2 주 이상 고치게되었지만 EA가 새로운 촛대 값을 업데이트하고 인식하도록 강제 할 수는 없습니다.
답변 해 주셔서 감사합니다. 라이브 서버에 대해 EA 상태를 확인하고 라이브 피드가없는 경우 라이브 피드를 다시 설정하는 방법은 무엇입니까? 본질적으로 문제를 해결하여 실시간 생중계 데이터를 얻을 수 있습니까? –
제어 할 수없는 수준의 오용의 위험 때문에 모든 연결/로그인 활동은 수동, 휴먼 - 브로커, 상호 작용 (로그인 ID, 거래 서버 선택, 액세스 자격 증명 제공) 세트로 제한됩니다. 따라서 예외 처리기가 전자 메일을 보낼 수도 있지만 실제 사람이 터미널을 클릭하여 다시 로그인해야합니다. – user3666197