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

 
이것은 막대 값이 아닌 서수입니다.
 
001 :
이것은 막대 값이 아닌 서수입니다.
글쎄, 우리가 원하는 것을 서수(색인))로 찾아보자) MQL4 Reference / Predefined Variables
 

예치 통화 (루블)로 SL/TP 주문에 대한 손익을 프로그래밍 방식으로 계산하는 방법은 무엇입니까?

저것들. 마우스로 SL / TP 라인 위로 마우스를 이동하거나 마우스로 드래그할 때 MT4가 표시 하는 수익 수치를 정확히 가져와야 합니다.

MODE_TICKVALUE를 얻고 SL/TP까지의 거리를 포인트 단위로 곱하시겠습니까? 나는 그것을 시도했습니다. EURUSD의 경우 정확히 표시되는 것처럼 보이지만 일치하지만 다른 쌍에서는 최소한 약간의 불일치가 나타납니다. 또한 MT4에서는 항상 적어도 몇 루블입니다. 예를 들어 GBPNZD에서.

 

로그에 새 막대 모양에 대한 정보를 표시하는 간단한 Expert Advisor를 만들었습니다.

 #property strict
//+------------------------------------------------------------------+
int OnInit ()
  {
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
void OnTick ()
  {
   if (IsNewBar( _Symbol , PERIOD_CURRENT )== true ) Print ( "New bar!" );
  }
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
  }
//=== Function
bool IsNewBar( string f_Symbol,       // symbol
               ENUM_TIMEFRAMES f_TF) // timeframe
  {
//---
   static datetime f_LastBar= 0 ;
   datetime f_CurrentBar=iTime(f_Symbol,f_TF, 0 );
//---
   if (f_LastBar!=f_CurrentBar)
     {
      f_LastBar=f_CurrentBar; return ( true );
     }
   else return ( false );
  }

메시지가 새 막대의 첫 번째 눈금에 표시된다는 점에서 올바르게 작동합니다. 이것이 바로 메시지가 나타난 시간이 이전 막대를 참조하는 이유입니다. 도면을 첨부하고 있습니다. 첫 번째는 현재 시간이 21:50:57 이고 새 메시지가 2개 있다는 것을 보여줍니다. 2화에서. 현재 시간은 21:51:23이고 새 막대에 대한 3번째 항목이 있으며 21:51:00 이후에 이에 대한 메시지가 표시되는 것을 보았지만 어떤 이유로 로그에 입력한 시간은 20:50 :47 (분명히, 서버와 내 컴퓨터 사이에는 1시간의 차이가 있음), 내 시간에는 정확하지 않습니다. 직접 확인할 수 있습니까? 다들 이거 가지고 계시나요 아니면 버그인가요?



 

컴퓨터 시계가 몇 초 늦거나 서버 시계가 조금 빠르거나 둘 다일 수 있습니다. Print()에서 현재 막대의 시간을 출력합니다.

 if (IsNewBar( _Symbol , PERIOD_CURRENT )!= true ) Print ( "New bar! ", Time[0] );

또는 서버와 현지 시간 모두

 
Vadim_2015 :
글쎄, 우리가 원하는 것을 서수(인덱스))로 찾아보자) MQL4 Reference / Predefined Variables

아니요, 이것은 조금 다릅니다. 나는 물었습니다: 표시기 의 막대( 필수 날짜)의 값을 시간(막대 시간 기준)으로 찾는 방법은 무엇입니까? 어리석게도 REQUIRED 요일의 시간을 iBarShift 로 대체하면(예: TF H1에서 새 날이 도래하면서 항상 변경되는 D1 차트에 따라 시프트가 발생합니다. 즉, 각 새 막대는 같은 것을 가지고 있습니다.

 
001 :

아니요, 이것은 조금 다릅니다. 나는 물었습니다: 표시기 의 막대( 필수 날짜) 의 값 을 시간(막대 시간 기준)으로 찾는 방법은 무엇입니까? 어리석게 도 REQUIRED 요일의 시간을 iBarShift 로 대체하면(예: TF H1에서 새 날이 도래하면서 항상 변경되는 D1 차트에 따라 시프트가 발생합니다. 즉, 각 새 막대는 같은 것을 가지고 있습니다.


- 지표에서 을 찾는 방법

"가치"는 무엇입니까?

- "바보로 대체하면"

이 코드를 "바보"로 보여 주어 이야기할 내용이 있습니다. 지금까지는 기능에 대한 귀하의 오해만 볼 수 있습니다.

 

안녕하세요.

어드바이저를 테스트할 때 문제에 직면했습니다. 몇 달 동안 모든 것이 괜찮았고 내 규칙에 따라 주문을 열고 닫는 여러 고문을 썼습니다. 어느 화창한 날 다른 Expert Advisor가 테스트를 중단했습니다. 테스터에 설정된 시간에 관계없이 항상 2014년 9월 한 달이 지나면 테스트가 중지됩니다. 오랜 시간 땅을 파고 과거 데이터 등을 불러왔다. 그런 다음 Meta Trader 를 다시 설치하기로 결정하고 제거했다가 다시 설치했습니다. 이제 사용 가능한 모든 Expert Advisors가 일반적으로 작동을 멈췄습니다. 주문이 열리지 않습니다. 과거 데이터가 오고 있습니다. 시각화를 켜면 차트가 필요한 기간을 통과하지만 거래는 없습니다. 내 모든 아이디어를 파헤칠 방향이 어디인지 적어도 알려주세요.

미리 감사드립니다.

 
sergeev :

- 지표에서 을 찾는 방법

"가치"는 무엇입니까?

- "바보로 대체하면"

이 코드를 "바보"로 보여 주어 이야기할 내용이 있습니다. 지금까지는 기능에 대한 귀하의 오해만 볼 수 있습니다.


논쟁도 하지 않겠습니다. 프로그래밍에 약합니다. 때때로. 나중에 코드를 작성합니다. "가치" - 열려 있습니다.

 

안녕하세요 여러분 그래프에 따라 삼각형을 작성하고 삼각형의 둔각을 계산할 수 있다고 말해주세요