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

 
xant :

파일에 쓰는 방법을 알려주세요.

Expert Advisor는 작동 중 4개의 변수 값을 계산하며 그 값은 메모리에 저장되며 터미널에 과부하가 걸리지 않으면 모든 것이 정상입니다. 그러나 터미널을 다시 시작한 후에는 이러한 값이 손실되고 처음 시작할 때 다시 모두 ==0이 됩니다.

처음 시작할 때 파일에서 값을 읽은 다음 작업 중에 값이 변경되면 새 값을 다시 파일에 씁니다. 또한, 고유한 이름의 파일을 생성해야 하며, 터미널에 여러 명의 어드바이저가 있기 때문에 통화 쌍에서 파생될 수 있고 기록이 서로 간섭하지 않도록 해야 합니다.

지금은 연락이 되지 않는 사람이 조언을 해줬고, 그 질문은 중요합니다. 왜냐하면 실제 돈을 잃을 수 있기 때문입니다. 누군가 즉시 파일에 쓰는 방법을 알려준다면 이러한 변수가 계산되는 코드를 제공할 수 있습니다.


전역 터미널 변수 GlobalVariable 사용 터미널을 다시 시작해도 값이 유지됩니다.

사용 방법을 자세히 작성하시겠습니까?
 
i999i :

답변 감사합니다만 다음 프랙탈이 나타나기 전에 현재 프랙탈이 깨졌는지 확인하는 방법을 말씀드린 것입니다.

다음 프랙탈이 같은 방향으로 나타날 때 이전 프랙탈이 깨지지 않을 수 있습니다. 윌리엄스를 다시 읽으십시오. 프랙탈로 작업하는 다양한 방법에 대해 자세히 설명합니다.
 
rigonich :

다음 프랙탈이 같은 방향으로 나타날 때 이전 프랙탈이 깨지지 않을 수 있습니다. 윌리엄스를 다시 읽으십시오. 프랙탈로 작업하는 다양한 방법에 대해 자세히 설명합니다.

그래도 가격이 나타난 순간부터 현재 시간 까지 프랙탈 값보다 높은지 여부를 판단하는 방법을 알고 싶습니다.
 
i999i :

그래도 가격이 나타난 순간부터 현재 시간까지 프랙탈 값보다 높았는지 여부를 판단하는 방법을 알고 싶습니다.

int iHighest ( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)
발견된 가장 높은 값의 인덱스를 반환합니다(현재 막대에 상대적인 오프셋).
옵션:
기호 - 데이터를 검색할 기기의 기호 이름입니다. NULL은 현재 문자를 의미합니다.
시간대 - 기간. 차트 기간 중 하나일 수 있습니다. 0은 현재 차트의 기간을 의미합니다.
유형 - 시계열 ID. 시계열 식별자 값 중 하나일 수 있습니다.
세다 - 검색을 수행해야 하는 시계열 요소의 수(현재 막대에서 인덱스 위쪽 방향).
시작 - 가장 높은 값에 대한 검색이 시작되는 초기 막대의 인덱스(현재 막대를 기준으로 한 오프셋)입니다. 음수 값은 무시되고 null 값으로 대체됩니다.
 

그리고 다시, 모두들 안녕.

이전 거래 종료 후 새로운 거래를 열기 전에 Expert Advisor에서 시간 지연을 만드는 방법.

저것들. 거래는 t/p로 종료되었으며 그 후에 예를 들어 15분 동안 기다려야 하며 그 후에야 공식이 계속 작동합니다. :)

나릴

주문 마감 시간 ( )
그러나 프로그램 시간과 연결하는 방법, 그리고 히스토리 어드바이저의 실행과 충돌이 없도록 하는 방법. 미리 감사드립니다
 
Tragedy :

그리고 다시, 모두들 안녕.

이전 거래 종료 후 새로운 거래를 열기 전에 Expert Advisor에서 시간 지연을 만드는 방법.

저것들. 거래는 t/p로 종료되었으며 그 후에 예를 들어 15분 동안 기다려야 하며 그 후에야 공식이 계속 작동합니다. :)

나릴

주문 마감 시간 ( )
그러나 프로그램 시간과 연결하는 방법, 그리고 히스토리 어드바이저의 실행과 충돌이 없도록 하는 방법. 미리 감사드립니다


https://www.mql5.com/ru/forum/131859

 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает количество секунд после открытия последней позиций. |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
datetime SecondsAfterOpenLastPos( string sy= "" , int op=- 1 , int mn=- 1 ) {
   datetime t;
   int       i, k= OrdersTotal ();

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
       if (OrderSymbol()==sy || sy== "" ) {
         if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
           if (op< 0 || OrderType()==op) {
             if (mn< 0 || OrderMagicNumber()==mn) {
               if (t<OrderOpenTime()) t=OrderOpenTime();
            }
          }
        }
      }
    }
  }
   return ( TimeCurrent ()-t);
}
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает количество секунд после закрытия последней позиций. |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
datetime SecondsAfterCloseLastPos( string sy= "" , int op=- 1 , int mn=- 1 ) {
   datetime t;
   int       i, k=OrdersHistoryTotal();

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) {
       if (OrderSymbol()==sy || sy== "" ) {
         if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
           if (op< 0 || OrderType()==op) {
             if (mn< 0 || OrderMagicNumber()==mn) {
               if (t<OrderCloseTime()) t=OrderCloseTime();
            }
          }
        }
      }
    }
  }
   return ( TimeCurrent ()-t);
}
 
프롬프트 :) 감사합니다
 
rigonich :

int iHighest ( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)
발견된 가장 높은 값의 인덱스를 반환합니다(현재 막대에 상대적인 오프셋).
옵션:
리고니치 :

int iHighest ( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)
발견된 가장 높은 값의 인덱스를 반환합니다(현재 막대에 상대적인 오프셋).
옵션:
기호 - 데이터를 검색할 기기의 기호 이름입니다. NULL은 현재 문자를 의미합니다.
시간대 - 기간. 차트 기간 중 하나일 수 있습니다. 0은 현재 차트의 기간을 의미합니다.
유형 - 시계열 ID. 시계열 식별자 값 중 하나일 수 있습니다.
세다 - 검색을 수행해야 하는 시계열 요소의 수(현재 막대에서 인덱스 위쪽 방향).
시작 - 가장 높은 값에 대한 검색이 시작되는 초기 막대의 인덱스(현재 막대를 기준으로 한 오프셋)입니다. 음수 값은 무시되고 null 값으로 대체됩니다.
여기서 문제는 프랙탈이 표시된 막대 앞에 무엇을 찾을 것인지 지정하는 방법과 기간이 1분 미만인 경우 ..... 어떻게 해야 합니까?
 

리고니치 ,

그것은 좋은 것입니다. 전역 변수 에 대한 자습서를 보고 이것이 필요한 것임을 깨달았지만 뉘앙스를 이해하지 못했습니다. 선언 위치, 필요한 값을 규정하는 방법 등

예를 들어 터미널에 5개의 서로 다른 쌍에 5개의 Expert Advisor가 있고 각 Expert Advisor에 작성해야 하는 4개의 변수가 있는 경우 20개의 전역 변수가 필요하며 Symbol() 명령을 사용하여 어떻게든 이름을 지정해야 합니다. Expert Advisor에 각 이름을 쓰지 않도록.

일반적으로 이것은 아직 내 두뇌를 위한 것이 아닙니다((

 
i999i :



마지막 프랙탈이 설정된 막대의 여는 시간을 기억하고 이 막대의 번호를 찾는 데 사용하십시오.   기간이 1분 미만이면..... .... 어때요? 차트의 기간이라면 1분도 채 되지 않습니다.