[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 122

 
Fduch писал(а) >>

그건 그렇고, OrdersTotal ()은 int 숫자를 반환합니다. 그리고 int는 값을 취할 수 있습니다:

저것들. 이론상 최대 주문 수: 2147483647

객관적인 답변 감사합니다!

 

도움을 요청합니다. 이해할 수 없습니다. 책에서 다음 코드가 작동한다고 기록되어 있습니다.

//------------------------------------------------ --------------------
// Book_expert_33.mq4
// MQL4 튜토리얼에서 예제로 사용하기 위한 것입니다.
//------------------------------------------------ --------------------
정수 개수=0; // 전역 변경 .
//------------------------------------------------ --------------------
int init() // 사양. 함수 초기화()
{
Alert("시작 시 init() 함수가 작동했습니다."); // 메시지
반품; // init() 종료
}
//------------------------------------------------ --------------------
int start() // 사양. 시작() 함수
{
이중 가격=입찰가; // 로컬 변경.
카운트++; // 틱 카운터
Alert("새 틱 ",개수," Price = ",Price);// 메시지
반품; // start()에서 종료
}
//------------------------------------------------ --------------------
int deinit() // 사양. 함수 초기화()
{
Alert("deinit() 함수가 언로드하는 동안 작동했습니다"); // 메시지
반품; // deinit() 종료
}
//------------------------------------------------ --------------------

, 하지만 새 틱에 대한 가격을 작성하지 않습니다. 이 기능은 시작 및 언로드 시 트리거됩니다.

 
프로그래머가 아닌 사람에게 Sleep (1200000) 을 삽입하는 위치와 방법을 알려주십시오. 주문이 완료된 후 10분의 지연이 있는 경우 매우 필요합니다.
파일:
1_1.rar  26 kb
 
v43 писал(а) >>
비프로그래머에게 Sleep(1200000) 을 삽입하는 위치와 방법을 알려주세요 주문 마감 후 10분의 지연이 생기도록 하는 것은 매우 필요합니다.

SRC 버튼을 통해 코드를 입력하세요. 그렇게 읽을 수는 없습니다.

이러한 큰 간격의 경우 Sleep을 통해 수행하지 않고 이 시간이 지나면 다음과 같이 틱을 기다리는 것이 좋습니다.

   static datetime DontCloseBefore = 0 ;
   //....
   
   OrderSend ( . . . . ) ;
   DontCloseBefore = TimeCurrent ( ) + 10 * 60 ; //10 minutes
   //....
   
   if ( DontCloseBefore ! = 0 )
   {
       if ( TimeCurrent ( ) > DontCloseBefore ) & & ( some other conditions - like existing order ) )
       {
         DontCloseBefore = 0 ; //important - reset the state engine
         OrderClose ( . . . ) ;
       }
   }
DontCloseBefore == 0이면 아무것도 없고 비용이 있으면 현재 시간이 DontCloseBefore에 쓰여진 시간보다 커질 때까지 기다려야 합니다. DontCloseBefore를 재설정하고 닫습니다.
 

누군가는 알고 있을 것입니다. 예를 들어 MA(20)과 같이 특정 표시기가 창에 열려 있는지 확인할 수 있는 명령이 있습니까?

고맙습니다!

 
chief2000 >> :

누군가는 알고 있을 것입니다. 예를 들어 MA(20)과 같이 특정 표시기가 창에 열려 있는지 확인할 수 있는 명령이 있습니까?

고맙습니다!



intWindow찾기 ( 문자열 이름)
지정된 이름 을 가진 표시기를 포함하는 차트 하위 창의 번호를 찾으면 반환하고, 그렇지 않으면 -1을 반환합니다.
WindowFind()는 사용자 지정 표시기가 init() 동안 자신을 찾으면 -1을 반환합니다.
 
 
keekkenen >> :


intWindow찾기 ( 문자열 이름)
지정된 이름 을 가진 표시기를 포함하는 차트 하위 창의 번호를 찾으면 반환하고, 그렇지 않으면 -1을 반환합니다.
WindowFind()는 사용자 지정 표시기가 init() 동안 자신을 찾으면 -1을 반환합니다.

설명이 필요하다는 것을 알았습니다.

내 목표는 MA가 실행 중인지 여부를 확인하는 것입니다. "예"인 경우 어떤 기간으로 확인하십시오. 결과적으로 MA(20)가 있으면 "20"을 가져와야 합니다.

이를 위해 for-loop와 함께 WindowFind()를 사용할 수 있지만 컴퓨터를 낭비하고 싶지는 않습니다.

이 검사는 맨 처음에 한 번만 수행해야 합니다(init()의 WindowFind()가 작동하지 않습니까?).

 

물론이죠. 누군가에게 간단한 조언자를 작성하십시오.

- 오픈 베이

- 이 테이크=20, 손절매=20 ;

- 테이크가 트리거되면 정확히 동일한 매개변수로 Bai를 다시 엽니다(take=20, stop=20).

-손절매가 트리거되면 정확히 동일한 매개변수로 매도를 엽니다(take=20, stop=20). 등등.

정확히 같을 수 있지만 먼저 구매가 아니라 판매를 엽니다.

일에 대한 상징적 인 지불로 5 UAH의 계정을 보충 할 수 있습니다. (우크라이나 연산자인 경우)

 

왜, 메인 창에서 MA(20)를 실행하면

 WindowFind("MA(20)")

"-1"을 반환합니까?