[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 222

 
smartemiy :

친애하는 프로!

도움을 요청합니다!

20-80 거래를 완료합니다. 나는 그것을 알아낼 수 없다, 그것은 DC에 의존합니까?

하나 대신 - 100 개를 넣습니다.

도와주세요!!

시작 기능은 매 틱마다 실행되며, 주문을 여는 조건이 충족 되면 매 틱마다 새로운 주문이 열립니다.

미결 주문의 최대 수 또는 막대당 하나의 주문에 대한 제한 등을 입력합니다.

 
splxgf :

시작 기능은 매 틱마다 실행되며, 오더를 여는 조건이 충족되면 매 틱마다 새로운 오더가 열립니다.

미결 주문의 최대 수 또는 막대당 하나의 주문에 대한 제한 등을 입력합니다.

답장 해주셔서 매우 감사합니다!

splxgf , 나는 또한 이것에 대해 생각했습니다 :

 int init()
{   RefreshRates ();
   if (NumberOfOrders()> 15 ) return ( 0 ); // если число открытых ордеров превышает число 15, тогда советние не торгует
   if (OpenStop()> 30 ) return ( 0 );       // если число отложеных ордеров превышает число 15, тогда советние не торгует
}

NumberOfOrders - 열린 주문 수를 계산합니다. OpenStop - f-I는 지연 횟수를 계산합니다.

주문을 여는 조건이 충족되고 고문은 임의의 수의 예금을 연속으로 배치합니다.

>splxgf : 이 코드 옵션은 거래 수가 초과되면 EA를 중지합니다. 그리고 조건이 트리거될 때 하나의 주문이 배치되도록 작성하는 방법은 무엇입니까?

 

init는 https://docs.mql4.com/ru/basis/functions/special 한 번만 실행됩니다.

 int MaxOpenOrders= 15 ;

int start()
  { 
     //bla-bla
     if ((( OrderOpenPrice ()-pAsk) >= - 60 || OrdersTotal ()<MaxOpenOrders) //открываем новые если количество открытых и отложенных ордеров не превышает 15
     OrderSend ...
  

일반적으로 https://book.mql4.com/en/ 튜토리얼이 있습니다.

조건이 한 번만 작동하도록 하려면 더 어렵습니다.

 
주님! 누군가 넷북과 3G 모뎀( 221 페이지)에 대한 내 질문에 대답할 수 있습니까? 미리 감사드립니다.
 
splxgf :

init는 https://docs.mql4.com/ru/basis/functions/special 한 번만 실행됩니다.

일반적으로 https://book.mql4.com/en/ 튜토리얼이 있습니다.

조건이 한 번만 작동하도록 하려면 더 어렵습니다.

감사하다!

이건 내가 정리할게!

 

나는 데이터베이스를 뒤적거렸고 그것을 찾지 못했지만 아마도 내가 나쁘게 찾고 있었을 것입니다.

자기야, 비슷한 것이 있습니까?

알고리즘은 간단합니다. n 포인트마다 주문이 열리는 그리드와 유사합니다(가격 움직임의 방향에 따라 구매 또는 판매). m 포인트의 이익이 얻어질 때까지 주문이 열립니다. 이 값에 도달하면 모든 주문이 닫히고 모든 것이 다시 시작됩니다.

관심을 가져주셔서 감사합니다.

 
Zhunko :
업로드된 히스토리를 히스토리 파일에 저장하는 작업이 있었습니다. 다운로드 프로세스 동안 전체 기록이 메모리에 보관됩니다. MT4 창을 닫으면 MT4를 사용한 파일 저장이 시작됩니다. 빠른 과정이 아닙니다.

Vadim, 저는 다음과 같이 저장 문제를 해결했습니다.

 if ( Bars <7000)
  {
     int handle, bar, wParam;
    handle= WindowHandle ( Symbol (), Period ());
    switch ( Period ())
            {
                   case PERIOD_M1 :  wParam = 33137 ; break ;
                   case PERIOD_H1 :  wParam = 33135 ; break ;
                   case PERIOD_D1 :  wParam = 33134 ; break ;
            }
     for (bar= 1 ;bar<7000;bar=+ 100 )
      {
         Comment ( Bars );
        PostMessageA(handle,WM_KEYDOWN,VK_HOME, 0 ); Comment ( Bars ); Sleep ( 10000 ); 
        PostMessageA(handle,WM_COMMAND, 33135 , 0 );   Comment ( Bars ); Sleep ( 10000 ); 
        PostMessageA(handle,WM_KEYDOWN,VK_HOME, 0 ); Comment ( Bars ); Sleep ( 10000 ); 
        PostMessageA(handle,WM_COMMAND, 33134 , 0 );   Comment ( Bars ); Sleep ( 10000 ); 
        PostMessageA(handle,WM_KEYDOWN,VK_HOME, 0 ); Comment ( Bars ); Sleep ( 10000 ); 
        PostMessageA(handle,WM_COMMAND, 33137 , 0 );   Comment ( Bars ); Sleep ( 10000 ); 
        bar= Bars ;
         RefreshRates ();
         if ( Bars >=7000) {PostMessageA(handle,WM_KEYDOWN,VK_END, 0 ); StartProfit();} //обязательный выход, иначе просто остается и подкачивает данные
        
      }
   }

시간 프레임 사이를 이동하는 덕분에 여러 시간 프레임(이 경우 분, 1시간, 일)에 대한 기록이 동시에 저장됩니다. 따라서 터미널을 끌 필요는 없지만 다운로드가 그렇게 빠르지 않기 때문에 하나의 통화 쌍에 대해 (이러한 조건에서) 약 1분의 속도를 달성했습니다. 많은 통화로 실행하면 터미널이 30분 동안 정지됩니다. EA는 터미널을 다시 시작하지 않고 기록 데이터를 사용하기 시작합니다.

 
forexnew :

Vadim, 저는 다음과 같은 방법으로 저장 문제를 해결했습니다.

시간 프레임 사이를 이동하는 덕분에 여러 시간 프레임(이 경우 분, 1시간, 일)에 대한 기록이 동시에 저장됩니다. 따라서 터미널을 끌 필요는 없지만 다운로드가 그렇게 빠르지 않기 때문에 하나의 통화 쌍에 대해 (이러한 조건에서) 약 1분의 속도를 달성했습니다. 많은 통화로 실행하면 터미널이 30분 동안 정지됩니다. EA는 터미널을 다시 시작하지 않고 기록 데이터를 사용하기 시작합니다.

나는 훨씬 더 신뢰할 수있는 동일한 것을 가지고 있습니다. TF 전환 시 히스토리는 파일에 저장되지 않습니다. 터미널을 내릴 때만.

가끔 터미널 자체가 히스토리를 저장하기 시작하는 경우가 있지만 이것은 TF 전환과 관련이 없습니다.

 
Zhunko :

나는 훨씬 더 신뢰할 수있는 동일한 것을 가지고 있습니다. TF 전환 시 히스토리는 파일에 저장되지 않습니다. 터미널을 내릴 때만.

가끔 터미널 자체가 히스토리를 저장하기 시작하는 경우가 있지만 이것은 TF 전환과 관련이 없습니다.

그리고 분, 1시간, 일과 같은 특정 시간 프레임(전부는 아님)만 다운로드하도록 설정하려면 어떻게 해야 합니까?

그래서: string sTimeFrame = {"M1", "H1", "D1"}; // 스캔된 TF를 나열하는 문자열입니다.

몇 분에 2000개 이하의 바를 다운로드하고 내 조언자는 7000개 이상이 필요합니다. 이 스크립트를 사용하여 다운로드한 후, 내 조언자는 다운로드를 완료합니다.

모든 바가 펌핑되지 않도록 설계되었습니까?

 

안녕하세요 친애하는 커뮤니티입니다.

그런 문제가 있습니다. 내 템플릿에서 "Bollinger Bands" 표시기(iBands - https://docs.mql4.com/en/indicators/iBands )를 사용합니다. 매개변수 중 하나인 편차 (표준 편차)는 int로 정의됩니다. 어떻게 든 그것을 이중 으로 포맷 할 수 있습니까? MT4의 사용자 지정 지표 섹션에는 편차이중으로 정의되는 다른 볼린저 밴드("밴드"로 표시)가 있습니다. 그러나 MQL4에 삽입하는 방법. 기본 제공 지표의 표준 세트에 포함되어 있지 않습니까? 고맙습니다.