MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1805

 
32 mt4를 다운로드하여 64비트 OS 시스템에 설치할 수 있습니까?
 
Seric29 # :
32 mt4를 다운로드하여 64비트 OS 시스템에 설치할 수 있습니까?
 
Seric29 # :
32 mt4를 다운로드하여 64비트 OS 시스템에 설치할 수 있습니까?
따라서 MT4 x64는 존재하지 않습니다. 일반적으로 ... 그리고 모든 x32 응용 프로그램은 OS x64에서 시작됩니다.
 
Mihail Matkovskij # :

이제서야 눈치챘다

인덱스 1.

MA가 인덱스 0에 있는 동안! 즉, 그녀는 바 전체를 걸으며 열기와 닫기를 넘어설 수 있습니다. 따라서 인덱스 1로도 MA를 만드는 것이 좋습니다.

그런 다음 모든 신호는 형성된 막대에서만 독점적으로 취해지며 로봇은 시가의 신호로 거래 시스템을 완전히 준수합니다. 따라서 로봇이 막대가 열리는 순간을 추적하고(이 코드를 이미 추가했습니다) 가장 최근에 형성된 막대로 입력하는 것으로 충분합니다. 더 신뢰할 수 있습니다. 그리고 Makar가 처음에 잘못된 입력 알고리즘으로 인해 강제로 수행되었으므로 변태할 필요가 없습니다.

감사하다. 나는 이것을 알고 "1"로 역사에 내 차량을 운전하려고합니다.

 
MakarFX # :
Artem, 거기 전략은 TP 또는 SL에 의해 마감될 때까지 시장에서 하나의 주문을 제공합니다.

신사! 모두 감사합니다. 하지만 내 질문이 이렇게 많은 "분쟁"을 일으킬 것이라고는 생각하지 못했습니다))

저는 AK-47처럼 단순한 고문들의 지지자입니다.

신호 입력

중지/테이크아웃

하나의 주문으로 거래.

나는 다른 사람들의 코드를 사용하고 내 자신의 코드를 추가하기 때문에(당신의 도움으로) "작동하고 간단해 보이기 때문에" 변경할 필요가 없는 것을 지지하지 않습니다.

이제 새로운 질문이 있습니다.

진입점을 n-바로 후퇴시키는 방법은 무엇입니까? 지금까지 이 솔루션을 작성했습니다.

 bool bSignalBuy()
  {
   if (dMA > Open[ 1 ] && dMA < Close[ 1 ])
     if ( TimeCurrent ()> iTime ( NULL , 0 , 5 )) 
       return ( true );

   return ( false );
  }
//+-----------------------------------------------------------------------------------------------+
//|                                                             Функция поиска сигнала на продажу |
//+-----------------------------------------------------------------------------------------------+
bool bSignalSell()
  {
   if (dMA < Open[ 1 ] && dMA > Close[ 1 ])
     if ( TimeCurrent ()> iTime ( NULL , 0 , 5 ))
       return ( true );

   return ( false );
  }

즉, 다음과 같이 가정합니다.

TimeCurrent - 마지막 견적이 도착한 시간 > iTime - 여기서 "5" 이전에 지정된 막대 수만큼 현재 막대를 기준으로 이동한 후 신호가 갔다.

어딘가에서 잘못했습니다. 왜냐하면 아직 작동하지 않습니다.

 
законопослушный гражданин # :

어딘가에서 잘못했습니다. 왜냐하면 아직 작동하지 않습니다.

모든 것이 잘못되었다

생각해보십시오 - 이 조건은 다음과 같습니다.

 if ( TimeCurrent ()> iTime ( NULL , 0 , 5 ))

이제까지 false를 반환합니까?

주제별 - 막대 1에서 막대 iBars(NULL,0)까지의 주기에서 신호를 찾고 신호를 찾으면 교차점을 찾은 막대의 번호를 반환합니까? 또는 같은.

찾을 수 없으면 반환 -1 또는 아마도 INT_MAX .... 교차점이 없는 경우 상황을 처리하는 방법에 따라 다릅니다.

 
Igor Makanu # :

모든 것이 잘못되었다

생각해보십시오 - 이 조건은 다음과 같습니다.

이제까지 false를 반환합니까?

주제별 - 막대 1에서 막대 iBars(NULL,0)까지의 주기에서 신호를 찾고 신호를 찾으면 교차점을 찾은 막대의 번호를 반환합니까? 또는 같은.

찾을 수 없으면 반환 -1 또는 아마도 INT_MAX .... 교차점이 없는 경우 상황을 처리하는 방법에 따라 다릅니다.

즉, 시간이 아니라 실제 막대의 수에 "첨부"해야 합니까?

 
законопослушный гражданин # :

즉, 시간이 아니라 실제 막대의 수에 "첨부"해야 합니까?

음, 거의.... 다시 한 번: 각 막대의 신호를 통해 주기를 실행합니다.... 설명되었습니까?

 for ( int i= 1 ;i< Bars ;i++)
{
if (dMA < Open[i] && dMA > Close[i]) return (i);
}
return ( INT_MAX );
 
Igor Makanu # :

음, 거의.... 다시 한 번: 각 막대의 신호를 통해 주기를 실행합니다.... 설명되었습니까?

네. 설명, 나는 정말로 아직 따라잡지 못하고 있습니다. 왜 모든 막대를 "정렬"해야 합니까?

시가와 종가로 표시되는 막대가 있습니다. 다음 막대에서 주문을 열라는 신호를 보냅니다.

'시그널 바'를 가격이 아닌 시간으로 표현하면 필요한 시간만 더해서 포즈를 여는 시간을 '이동'할 수 있다고 생각했다.

 
законопослушный гражданин # :

네. 설명, 나는 정말로 아직 따라잡지 못하고 있습니다. 왜 모든 막대를 "정렬"해야 합니까?

시가와 종가로 표시되는 막대가 있습니다. 다음 막대에서 주문을 열라는 신호를 보냅니다.

'시그널바'를 가격이 아닌 시간으로 표현하면 필요한 시간만 더해서 포즈를 여는 시간을 '이동'할 수 있을 거라 생각했다.

당신은 결정합니다 - 당신은 질문을 어떻게 공식화 했습니까?

준법 시민 # :

진입점을 n-바로 후퇴시키는 방법은 무엇입니까? 지금까지 이 솔루션을 작성했습니다.

따라서 마지막 신호가 있었던 막대를 찾으십시오. 막대 번호 5에서 하드 신호 확인을 설정하는 것은 최선의 선택이 아닙니다. IMHO - 원하는 경우 루프를 살펴보고 모든 막대에 대해 루프를 수행하지 말고 예를 들어 1에서 N까지

추신: 그런데 막대는 보편적인 솔루션입니다. 이제 15분 안에 하나의 TF에서 주문을 열고 2시간 안에 이전 TF에서 필요한 것을 결정하려고 합니다. 신호는 이 막대의 시간을 즉시 알 수 있습니다.