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

 

일반적으로 <=가 사용됩니다. 또는 >=. 두 경우 모두 구현은 하드웨어이며 Metaquotes는 이와 관련이 없습니다.

다른 언어의 개발자도 그것과 아무 관련이 없습니다. 기본 동작. +와 -처럼.

 
drknn :

조건에 엄격한 분리가 없기 때문에(그리고 요소 중 하나 이상이 참이면 항상 참임) 개발자 사이트에서 이 조건을 처리하는 가장 논리적인 것은 먼저 분자를 나누는 것입니다 (a>b || c>d) 원자 "a >b""c>d"로 변환한 다음, 진실을 확인하기 위해 원자를 순차적으로 열거하는 주기를 구성합니다. 그리고 다음 원자가 참이면 즉시 주기를 중단하여 프로그램이 조건 대괄호 바로 밖에 있는 작업을 수행할 수 있도록 합니다. 즉, 더 이상 필요하지 않기 때문에 나머지 원자를 거치지 않습니다. 그리고 여기에서 우리가 원자를 처음부터 끝까지 또는 생성된 원자 목록의 끝에서 시작까지 통과하는지 여부는 중요하지 않습니다. 개발자(메타따옴표)만 검색 방향을 표시할 수 있습니다. 그리고 왜 그것을 필요로 했습니까? 자신의 컴파일러를 작성하고 있습니까?
TS 논리에서 조건 a>bc>d ==true보다 훨씬 더 자주 참이면 이 두 조건의 참을 확인하는 순서가 프로그램 속도를 높이는 데 중요할 수 있습니다.
 
artmedia70 :
TS 논리에서 조건 a>bc>d ==true보다 훨씬 더 자주 참이면 이 두 조건의 참을 확인하는 순서가 프로그램 속도를 높이는 데 중요할 수 있습니다.

표현식은 실제로 다음과 같습니다. if(a>b || (a<=b && c>d)) . 진리가 왼쪽에서 오른쪽으로 확인되면 a<=b 표현식은 프로그램 속도를 높이는 면에서 중복됩니다. 문제는 왼쪽에서 오른쪽으로 또는 그 반대로, 또는 다른 경우에 다른 방식으로라는 것이었습니다.
 
AndEv :

표현식은 실제로 다음과 같습니다. if(a>b || (a<=b && c>d)) . 진리가 왼쪽에서 오른쪽으로 확인되면 a<=b 표현식은 프로그램 속도를 높이는 면에서 중복됩니다. 문제는 왼쪽에서 오른쪽으로 또는 그 반대로, 또는 다른 경우에 다른 방식으로라는 것이었습니다.

이유가 무엇인지 알려주십시오. 고문이 주문을 열지 않고 오류 133 을 씁니다.
 
paladin80 :

포지션 오픈 시간과 현재 바 Time[0]의 오픈 시간을 비교할 필요가 있습니다. 포지션 오픈 시간이 바 오픈 시간보다 크거나 같으면 EA는 새로운 포지션을 열지 않습니다. 새 막대가 나타날 때 시간[0]은 값을 나중으로 변경하고 이러한 비교는 현재(새) 막대에서 아직 열리지 않은 위치를 보여주고 거래가 가능합니다.

그건 그렇고, 귀하의 질문은 2개의 하위 질문으로 더 나눌 수 있습니다.
1. 현재 바에서 포지션이 열렸고 마감에 성공했지만, 우리는 여전히 새로운 바를 기다리고 있습니다.
2. 현재 바에서 포지션이 열렸고 닫을 수 있었습니다. 그런 다음 같은 바에서 다시 포지션을 열 수 있습니다(즉, 1개의 바에서 동시에 1개의 포지션을 열 수 있음).

일반적으로 이러한 문제: 같은 막대에서 몇 분 동안 주문을 여는 조건이 true가 되어 주문이 열립니다. 그런 다음 넘어지고 다시 문지르면 두 번째 주문이 열립니다. 그것을 처리하는 방법? 나는 한 번만 주문을 여는 방법을 생각해 냈습니다. 아마도 다른 옵션이 있습니까?
 
디트렌딩 이 뭐야??? "시도 그만" 같은 건가요?
 
GarKain :
일반적으로 이러한 문제: 같은 막대에서 몇 분 동안 주문을 여는 조건이 true가 되어 주문이 열립니다. 그런 다음 넘어지고 다시 문지르면 두 번째 주문이 열립니다. 그것을 처리하는 방법? 나는 한 번만 주문을 여는 방법을 생각해 냈습니다. 아마도 다른 옵션이 있습니까?

나는 당신이 포지션을 여는 것을 허용/거부하는 플래그를 사용하고 있다는 것을 알았습니다. 깃발의 상태를 모르면 아무 것도 제안할 수 없습니다. 내 Expert Advisor에서 포지션을 열 때 두 번째 접근 방식을 사용하며 다음 코드를 제공할 수 있습니다.

 if ( OrdersTotal ()> 0 )
{   for (i= OrdersTotal ()- 1 ; i>= 0 ; i--)
   {   if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
      {   if ( OrderSymbol ()== Symbol ())
         {   if ( OrderMagicNumber ()==MagNum) // Проверка соответствия позиции по магик-номеру
            {  Closed_bar= OrderOpenTime ();
               if (Closed_bar>= iTime ( NULL , PERIOD_H1 , 0 ))
               return ( 0 );
         }  }
}  }  }
 
moskitman :
디트렌딩 이 뭐야??? "시도 그만" 같은 건가요?

저역 통과 필터를 계열에 적용하면 == 추세(기울기) 구성 요소를 뺍니다. 가장 간단한 예: 가격에 이동 평균을 적용한 다음 별도의 창에 차이를 표시합니다.
 
paladin80 :

나는 당신이 포지션을 여는 것을 허용/거부하는 플래그를 사용하고 있다는 것을 알았습니다. 깃발의 상태를 모르면 아무 것도 제안할 수 없습니다. 내 Expert Advisor에서 포지션을 열 때 두 번째 접근 방식을 사용하며 다음 코드를 제공할 수 있습니다.



 if ( OrdersTotal ()> 0 )
{   for (i= OrdersTotal ()- 1 ; i>= 0 ; i--)
   {   if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
      {   if ( OrderSymbol ()== Symbol ())
         {   if ( OrderMagicNumber ()==MagNum) // Проверка соответствия позиции по магик-номеру
            {  Closed_bar= OrderOpenTime ();
               if (Closed_bar>= iTime ( NULL , PERIOD_H1 , 0 ))
               return ( 0 );
         }  }
}  }  }

어디서, 어디에 있는지 잘 이해가 되지 않았습니다.

 
다음과 같이 작성했습니다.

그렇다면 그것은 사실이다.

true이면 주문이 열립니다.



라고 적으면 주문이 열립니다. 이것이 문제를 해결할까요?