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

 
Sepulca :

어쩌면 더 나은

장소를 바꾸면 됩니다. 그래도 Hour()>OpenHH는 시간과 분보다 더 자주 사용됩니다.
 
artmedia70 :
장소를 바꾸면 됩니다. 그래도 Hour()>OpenHH는 시간과 분보다 더 자주 사용됩니다.


이것이 고문의 민첩성을 증가시킬 것이라고 생각합니까? 재미있을지도... 솔직히 IFe에서 조건을 설정하는 순서는 생각해본적이 없어요..)
 
Sepulca :

이것이 고문의 민첩성을 증가시킬 것이라고 생각합니까? 재미있을지도... 솔직히 IFe에서 조건을 설정하는 순서는 생각해본적이 없어요..)
글쎄요.. 크게 늘어난다는 얘기는 아니지만 그래도.. 새로운 MQL4로 업데이트된 터미널 이 출시되기 전까지는 첫 번째 조건이 거짓이더라도 모든 논리 조건이 끝까지 읽혀집니다.
 
Sepulca :


모든 것이 올바른 것 같습니다. 작동해야 합니다. 집에서 코드를 시도했습니다. 몇 분 안에 작동합니다. 단, 14:25~14:59, 15:25~15:59 등만 가능합니다.


빠른 응답에 감사드립니다. 하지만 - 아아, 뭔가 작동하지 않습니다... 코드는 스크립트 본문과 어드바이저 본문 모두에서 이 버전에서만 작동합니다. 시간과 기능면에서 모든 것이 좋습니다. 주문은 시간 단위로만 발행됩니다!
int start()
{
int OpenHH=14,OpenMM=25;
bool Trade=true;
//----
if (Trade) // Разрешение на торговлю.
if (TimeHour(TimeCurrent()) >= OpenHH ) // В назначенный час
{ OpenOrders();Print("Время пришло ",TimeHour(TimeCurrent()),":",TimeMinute(TimeCurrent())); return(0); } // открыть ордера.
//----
return(0);
}
//+------------------------------------------------------------------+
void OpenOrders(){return(0);}

그러나 코드에 분을 추가하자마자( TimeMinute( TimeCurrent() ) >= OpenMM ) - 결과가 없습니다.

EA는 또한 StrToTime() 함수를 사용할 때 분 단위 주문을 거부합니다.

다시 한 번 감사합니다 ... 계속 파고 들겠습니다 ...

 
Sepulca :

어쩌면 더 나은

아니... 그것도 안되는데...

다른 StrToTime() 함수를 사용하는 경우에도 전체 시간으로 시간을 지정하면 모든 것이 정상이지만 분을 추가하자마자 결과가 없습니다. 1차 쪽지에도 썼지만 금요일 23시 45분 주문은 문제없이 마감되지만...

bool Trade=true;

string OpenTime = "14:00"; // Вот так работает!!!

string OpenTime = "14:25"; // А вот так - не работает!!!

if ( StrToTime(OpenTime) == TimeCurrent() && Trade )

{ OpenOrders();Print("Время пришло ",TimeHour(TimeCurrent()),":",TimeMinute(TimeCurrent())); return(0); }
//----
return(0);
}
//+------------------------------------------------------------------+
void OpenOrders(){return(0);}

 
Crosswert :

아니... 그것도 안되는데...

다른 StrToTime() 함수를 사용하는 경우에도 전체 시간으로 시간을 지정하면 모든 것이 정상이지만 분을 추가하자마자 결과가 없습니다. 1차 쪽지에도 썼지만 금요일 23시 45분 주문은 문제없이 마감되지만...

bool Trade=true;

string OpenTime = "14:00"; // Вот так работает!!!

string OpenTime = "14:25"; // А вот так - не работает!!!

if ( StrToTime(OpenTime) == TimeCurrent() && Trade )

{ OpenOrders();Print("Время пришло ",TimeHour(TimeCurrent()),":",TimeMinute(TimeCurrent())); return(0); }
//----
return(0);
}
//+------------------------------------------------------------------+
void OpenOrders(){return(0);}


글쎄, 나는 모른다 ...이 코드는 나에게도 효과가있다 ....

 
어떻게 테스트하고 있습니까? 예를 들어, H1 및 시가에 있는 경우 작동하지 않을 수 있습니다 .
 
Sepulca :
어떻게 테스트하고 있습니까? 예를 들어, H1 및 시가에 있는 경우 작동하지 않을 수 있습니다.
테스트를 위해 시작 가격 에서 잠시 조언합니다.
 
Sepulca :
어떻게 테스트하고 있습니까? 예를 들어, H1과 시가에 있다면 아마도 작동하지 않을 것입니다.

글쎄, 당신은 모든 것이 간단하다는 것을 알 수 있습니다 ... 분은 TF의 배수가되어야합니다 ...

이제 / if ( TimeCurrent() == StrToTime(OpenTime) && Trade ), OpenTime = 14:25 / 작동하지만 TF=M1 및 M5에서만 작동합니다... 주문을 여는 기능을 위해서는 현재 견적이 필요합니다. 주문 마감 기능을 위해 필요하지 않습니다 ...

나는이 순간을 어떻게 든 "무뚝뚝"하게 만들었습니다 (생각하지 못했습니다), 경험이 없기 때문에 볼 수 있습니다 ...

덕분에 잘 알았습니다...

 

Sepulca :

어떻게 테스트하고 있습니까? 예를 들어, H1과 시가에 있다면 아마도 작동하지 않을 것입니다.


하하 ...하지만 나는 거짓말을했습니다 ...

문제는 OpenOrders() 주문 열기 함수에 있는 것으로 밝혀졌습니다. 양초(막대) 고장 시 주문 시작 제어를 제거하는 것을 완전히 잊었습니다.

if (Volume[0] > 1) return;

따라서 고문이 테스트 한 TF에 대해 - 그러한 분에 주문을 열었습니다 ...

나는 그것을 완전히 잃어 버렸습니다. 심각한 ...

감사해요...