MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1024

 
WinZip :
Plz 말해, 이것이 문제입니다. 나는 거래 Expert Advisor를 만들고 있습니다. 편의를 위해 Expert Advisor를 새것처럼 복사하여 거기에서 실험합니다. 그러나 한 시간 전에 실험용 Expert Advisor가 "Expert Advisor에 대한 거래가 금지되어 있습니다"라는 오류를 반환하기 시작했습니다. 사실, 이제 거의 동일한 두 명의 전문가 고문이 있는데 한 사람은 거래하지 않습니다. 나는 그가 거래를 중단한 순간을 놓쳤다. 그가 거래를 금지하는 것을 계산하는 방법은 무엇입니까? 거래를 마감하는 기능을 만들려고 했으나 추가한 모든 것을 삭제해도 여전히 거래가 되지 않습니다

설정 에서 거래 허가 상자를 선택하십시오.

 
0의 로그와 테스트 결과 가 C 드라이브를 채웠습니다. 설정에서 로그에 대해 다른 디스크를 어떻게든 변경할 수 있습니까?
 

아마도 백만 번 논의되었을 어리석은 질문에 대해 사과드립니다...

그리고 답장이나 주제 삭제에 대한 알림을 받지 못하는 이유는 ... 메일이나 로컬 메시지가 아닌 .. ?

그리고 그것을 고치는 방법? 갈까마귀가있는 것 같지만 뭔가 작동하지 않습니다 ...

 
//+------------------------------------------------------------------+
int OnInit()
  {
  datetime open_bars_time = iTime(NULL,0,0); 
  Alert("старт ",open_bars_time);
  int i=0;
  while(iTime(NULL,0,0)==open_bars_time && !IsStopped()) 
  {Comment(iTime(NULL,0,0));}
  Alert("Цикл закончен",open_bars_time);
//--- create timer
   EventSetTimer(Period()*60);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+

требуется запускать прогу в начале бара. Почему значение возвращаемое iTime(NULL,0,0) не изменяется?
 
Sergey Guliaev :

루프 에 Sleep() 및 RefreshRates()를 추가 해야 합니다. 그렇지 않으면 아무 것도 이동하지 않습니다.

전체 아이디어는 근본적으로 잘못되었습니다. OnInit에서는 이 작업을 수행할 수 없습니다.

바가 열릴 때까지 기다려야 하는 경우 OnTick에서 기다려야 합니다. 시간 변경이 아직 OnTimer에 있는 경우.

 
Maxim Kuznetsov :

루프에 Sleep() 및 RefreshRates()를 추가해야 합니다. 그렇지 않으면 아무 것도 이동하지 않습니다.

전체 아이디어는 근본적으로 잘못되었습니다. OnInit에서는 이 작업을 수행할 수 없습니다.

바가 열릴 때까지 기다려야 하는 경우 OnTick에서 기다려야 합니다. 시간 변경이 아직 OnTimer에 있는 경우.

덕분에. 작업은 막대 시작 부분에서 첫 번째 눈금을 +/- 몇 초로 만드는 것입니다. 내 관찰에 따르면 눈금은 막대의 시작 부분과 동기화되지 않습니다.

 
Sergey Guliaev :

덕분에. 작업은 막대 시작 부분에서 첫 번째 눈금을 +/- 몇 초로 만드는 것입니다. 내 관찰에 따르면 눈금은 막대의 시작 부분과 동기화되지 않습니다.

당신의 관찰은 이상합니다. 원인과 결과를 혼동하셨습니다. 진드기는 막대에 의존하지 않지만 새 막대 를 여는 것은 새 진드기의 도착에 따라 다릅니다. 틱 없음 - 바 없음. 1분 동안 자주 발생합니다.

 

동료 여러분, 좋은 오후입니다!

이유를 알 수 없습니다. 위험을 기준으로 내 볼륨(LotSize)을 계산합니다. 예를 들어 Alert(LotSize)라는 메시지가 있는 로트의 볼륨을 꺼내면 0.12가 표시됩니다. 그러나 OrderSend 기능 은 볼륨에서 맹세합니다. 코드를 작성할 때 LotSixe=0.12; OrderSend는 잘 작동합니다.

이유는 무엇입니까?

 
Sandjar Ikramov :

동료 여러분, 좋은 오후입니다!

이유를 알 수 없습니다. 위험을 기준으로 내 볼륨(LotSize)을 계산합니다. 예를 들어 Alert(LotSize)라는 메시지가 있는 로트의 볼륨을 꺼내면 0.12가 표시됩니다. 그러나 OrderSend 기능 은 볼륨에서 맹세합니다. 코드를 작성할 때 LotSixe=0.12; OrderSend는 잘 작동합니다.

이유는 무엇입니까?

그러한 경우 그들은 항상 코드를 요구합니다 ... 누가 무엇을 어떻게 작성했는지 알 수 있습니다 ...

 
Sandjar Ikramov :

동료 여러분, 좋은 오후입니다!

이유를 알 수 없습니다. 위험을 기준으로 내 볼륨(LotSize)을 계산합니다. 예를 들어 Alert( LotSize ) 메시지와 함께 로트의 볼륨을 꺼내면 0.12가 표시됩니다. 그러나 OrderSend 기능 은 볼륨에서 맹세합니다. 코드를 작성할 때 LotSixe =0.12; OrderSend는 잘 작동합니다.

이유는 무엇입니까?

음... 아마도 이것들이 다른 변수이기 때문일 것입니다... 그리고 0.12 (쉼표로 구분) 는 0.12 (점 으로 구분)와 전혀 같지 않습니다