MQL5에 대한 소원 - 페이지 90

 

이제 특정 기호의 위치에만 필터를 두는 것은 불가능합니다. 즉, 모든 명령을 통과해야 합니다.

이렇게 하면 어드바이저의 작업이 느려지고 어드바이저가 작업하는 차트가 많은 경우 퍼센트가 크게 느려지고 로드될 수 있습니다.

Например такой код

for ( Ord = 0 ; Ord < OrdersTotal ( ) ; Ord + + ) {
   OrderSelect ( Ord , SELECT_BY_POS ) ;
   if ( Symbol ( ) = = OrderSymbol ( ) & & StringFind ( OrderComment ( ) , "MA-Price" ) ! = - 1 ) {
      IsOrdFound = true ;
      break ;
   }
}
А хотелось бы фунцию для установки фильтра по символу

OrderSelectSymbol ( Symbol ( ) ) ;

for ( Ord = 0 ; Ord < OrdersTotal ( ) ; Ord + + ) {
   OrderSelect ( Ord , SELECT_BY_POS ) ;
   if ( StringFind ( OrderComment ( ) , "My comment" ) ! = - 1 ) {
      IsOrdFound = true ;
      break ;
   }
}



Или если теперь будет объектный язык , то что то типа такого варианта :

OpenedOrdGroup ordGroup = new OpenedOrdGroup (Symbol() ) ;

for ( ord = 0 ; ord < ordGroup . count ; ord + + ) {
  if ( findSubstr ( ordGroup . orders [ ord ] . comment , "My comment" ) ! = - 1 ) {
     isOrdFound = true ;
     break ;
  }
}
 
stringo писал(а) >>

그러나 사용자 지정 표시기는 순전히 계산 작업을 수행할 수 있으며 창이나 그래픽 개체에 액세스할 수 없다는 점을 언급할 가치가 있습니다.

그리고.. 모든 창 외부에서 이러한 "계산" 표시기를 실행할 수 있습니까? (예를 들어, IsExpertEnabled 등을 추적하고 이를 필요로 하는 사람에게 알리기 위해)

그는 그릴 수 있습니까? 순환 가능합니까?

Expert Advisors, 스크립트, 표준 및 사용자 지정 표시기 설치/제거를 호출/언로드할 수 있습니까?

 
SK. писал(а) >>

그리고.. 모든 창 외부에서 이러한 "계산" 표시기를 실행할 수 있습니까? (예를 들어, IsExpertEnabled 등을 추적하고 이를 필요로 하는 사람에게 알리기 위해)

그는 그릴 수 있습니까? 순환 가능합니까?

Expert Advisors, 스크립트, 설정/언로드 표준 및 사용자 지정 지표를 호출/언로드할 수 있습니까?

모든 질문에 대해 - 아니요, 불행히도

별도의 차트 창을 열고 "계산" Expert Advisor를 연결해야 합니다. Expert Advisor는 타이머에서 작동할 수 있으므로 반복할 필요가 없습니다.

 

덕분에 문제가 해결되었습니다.

창에 바인딩되지 않은 항목을 실행할 수 있는 방법이 있습니까? (일반적인 요구 사항)

그리고 이 "무언가"에서 다른 것을 부를 수 있습니까? (예: 타이머 전문가)

 
SK. писал(а) >>

덕분에 문제가 해결되었습니다.

창에 바인딩되지 않은 항목을 실행할 수 있는 방법이 있습니까? (일반적인 요구 사항)

그리고 이 "무언가"에서 다른 것을 부를 수 있습니까? (예: 타이머 전문가)

창에 붙어 있지 않은 것은 없을 것입니다

지금까지는 이 질문에 답할 수 없습니다.

모든 차트에 맞춤 이벤트를 보낼 수 있습니다. 해당 차트에 매달려 있는 전문가는 들어오는 이벤트를 처리할 수 있습니다.

 
stringo писал(а) >>

창에 붙지 않은 것은 없을 것입니다

지금까지는 이 질문에 답할 수 없습니다.

모든 차트에 맞춤 이벤트를 보낼 수 있습니다. 해당 차트에 매달려 있는 전문가는 들어오는 이벤트를 처리할 수 있습니다.

답변 해주셔서 감사합니다.

그러나 이 차트에는 전문가 고문이 필요합니다. 이러한 Expert Advisors가 항상 동기화되는 것은 아닙니다(특수 기능이 없는 경우 절대 없음).

제 경우에는 사용자(응용) 서비스 프로그램에 대해 이야기하고 있습니다. 예를 들어, 작업 중에서, 분석, 촛대 분석, 맞춤형 위치 처리 알고리즘. 예를 들어 메뉴 시스템에서 버튼을 누르면 현재 화면에 촛대 분석이 그려집니다. 다른 것을 눌렀습니다. 현재 창에 대한 SL 및 TP에 대한 기본 설정을 지정할 수 있는 창이 나타납니다. 나는 세 번째를 눌렀다. 모든 포지션에 대해 스톱이 열렸습니다. 브로커의 기본 설정 및 현재 설정. 또 다른 버튼 - 최소 거리의 복도가 그려졌습니다. 등. 그리고 모든 것은 다른 지느러미에 대한 작업의 성공 확률 측면에서 무료 자금 측면에서 상호 연결됩니다. 자신의 선호도, 우선 순위, 통합 분석 등

이 작업은 전체적으로 모든 창에서 하나의 Expert Advisor의 여러 복사본을 포함하지 않습니다. 그러한 프로그램은 "하나를 위한 것"이 될 수 있습니다. 우리는 그 가격에 지지 않을 것입니다. 수 있습니다. 현재로서는 MT5의 가능성을 모릅니다.

 
MySql DB와 상호 작용
 
stringo писал(а) >>

창에 붙어 있지 않은 것은 없을 것입니다

지금까지는 이 질문에 답할 수 없습니다.

모든 차트에 맞춤 이벤트를 보낼 수 있습니다. 해당 차트에 매달려 있는 전문가는 들어오는 이벤트를 처리할 수 있습니다.

1. 다만, 유감입니다. // 연결되지 않은 프로그램에 대해

타협을 구현하기에 충분히(IMHA) 저렴합니다: 아마도 "0" 그래프와 같은 것을 할 가치가 있을 것입니다.

어디에 계산기를 걸 수 있습니까? 더욱이, 그러한 그래프는 무제한이 더 낫습니다.

이쯤되면 MT4의 한계인 "하나의 차트 - 하나의 전문가"의 계승이 의심됩니다... :)

2. 이벤트 정보. 맞춤 이벤트는 훌륭합니다. 그냥 큰 감사합니다. :)

OnTimer 이벤트에 대해 Tetris를 시청하는 동안 이미 기뻤고 일반적으로 이벤트 기반 런칭 조직의 모습

기능. 그리고 지금 나는 이 곳에서 더 느리고 ppppodrobbbneee하고 싶습니다 :)

사용자 프로그램에 보낼 다른 "표준"(플랫폼) 이벤트는 무엇입니까?

예를 들어, 아주 오랫동안 OnPositionIsClosed(int 티켓)와 같은 것을 원합니다. 그래서 전체 팩을 거치지 않습니다.

중지 주문으로 마감된 가능성(사실이 아님!)을 찾아 주문을 엽니다. 내 생각에는 4가지 중에도

표준 Init()-Deinit()-Start() 및 OrderStopped()에 추가하기 쉽습니다. 터미널은 여전히 추적

상황의 변화를 창에 반영하기 위해 주문을 마감합니다. 글쎄, 왜 사용자 프로그램은

알리다? 그리고 유저들에게 얼마나 감사한 마음을 전했을지... - 장담합니다. :)

이상적으로는 (MT5에서) 전체 플랫폼에 공통적인 이벤트 관리자가 있으면 좋을 것입니다.

사용자 프로그램은 특정 이벤트의 발생에 대한 메시지를 수신하고 시작하기 위해 구독합니다.

사용자 정의 범용 이벤트는 구독한 모든 프로그램에 "브로드캐스트"를 브로드캐스트합니다.

 

친애하는 개발자 여러분!

MODE_HISTORY를 볼 때 주문에 대한 옵션을 추가하기만 하면 됩니다. 예를 들어 다음과 같이 주문이 마감되는 방식입니다.

- 손절매;

- 이익을 취하십시오.

- 시장 등에 따라

MQ4 플랫폼을 사용하는 일부 은행에서는 0을 통과할 때 모든 주문을 닫고 새 주문을 엽니다(그 자체로 새로운 것은 아닙니다).

그러나 이 경우 자신의 프로그램에서 주문이 어떻게 마감되었는지 확인하기 위해 전문가는 매우 열심히 작업해야 하며 가장 중요한 것은 많은 추가 코드가 나타납니다.

코드가 많을수록 안정성이 떨어집니다!

.

추신 아마도 이것은 이미 논의되었지만 나는 그것을 보지 못하고 공유하기로 결정했습니다.

 
VBAG писал(а) >>

MQ4 플랫폼을 사용하는 일부 은행에서는 0을 통과할 때 모든 주문을 닫고 새 주문을 엽니다(그 자체로 새로운 것은 아닙니다).

그러나 이 경우 자신의 프로그램에서 주문이 어떻게 마감되었는지 확인하기 위해 전문가는 매우 열심히 작업해야 하며 가장 중요한 것은 많은 추가 코드가 나타납니다.

그리고 있습니다.

더욱이 이 상황에서는 주문을 식별하는 명확한 REGULAR 방법이 전혀 없습니다. 예를 들어 DC는 두 번 생각하지 않고 어떤 식으로든 관련이 없는 새 티켓을 할당합니다.

원래 주문과 함께 목록에 따라 :) 각 주문의 내역을 추적하려면 미쳐야합니다.

그러나 MT5에서는 주문 처리가 상당히 급격하게 변경되는 것으로 보입니다( 'MetaTrader 5 클라이언트 터미널' 참조).

그리고 얼마나 정확하게 - 그것은 끔찍한 비밀이거나 심지어 물어보기도 힘든 큰 놀라움인 것 같습니다 - 이해하기 쉬운 대답을 얻는 것보다 새 터미널을 기다리는 것이 더 쉽습니다.

개발자로부터. :) 그러나 이 주제는 소원에 관한 것이므로 개발자가 거래를 구현하는 공식적인 방법이 아니라 문제의 근원을 보시기 바랍니다.

이런 의미에서 저는 모든 면에서 지지합니다. 열린 연기 중지 포즈로 작업하려면 프로그래머를 위한 일반적인 진지한 서비스가 필요합니다.