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

 
silhouette :

배열의 크기는 얼마가 되어야 합니까 - 잘 모르겠습니다. 지수는 계산된 막대의 전체 간격에 걸쳐 누적되어야 합니다. 제한 막대에서 시작합니다.

나는 작업의 논리를 말로 설명하려고 노력할 것입니다.

  • 색상 LSMA를 그리는 세 개의 표시기 버퍼가 있습니다. 현재 막대의 값이 이전 값보다 높으면 노란색 및 녹색 버퍼에 값을 그대로 두고 빨간색 버퍼에서 지우십시오. 현재 값이 이전 값보다 낮으면 그 반대도 마찬가지입니다. 다른 모든 경우에는 빨간색과 녹색 버퍼의 값을 지우고 노란색 버퍼만 남깁니다.
  • 녹색 계열 버퍼 값은 1, 인덱스 값은 0입니다. 녹색 버퍼가 현재 막대에서 !=EMPTY_VALUE이고 이전 막대에서 !=EMPTY_VALUE이면 녹색 계열 버퍼의 값이 1만큼 증가합니다(값 ​축적). 녹색 버퍼의 값이 == EMPTY_VALUE이고 빨간색 버퍼의 값도 == EMPTY_VALUE(차트에서 노란색만)인 경우 계열이 종료됩니다. 인덱스가 0인 녹색 계열의 배열을 할당합니다. 시리즈 길이(버퍼에 저장). 배열 인덱스의 값을 1만큼 늘리고(다음 값은 이제 1, 2, 3 등이 됨) 시리즈 값을 1로 재설정하고 다음 녹색 시리즈의 시작을 기다립니다.
  • 우리는 빨간색 계열의 배열로 비슷한 조작을 수행합니다.

이러한 배열을 채우는 목적이 명확하지 않은 한 알고리즘은 탄생하지 않습니다. 이 어레이가 추가로 어떤 목적으로 사용될지는 분명하지 않습니다. 따라서 저장에 적합한 알고리즘이 없습니다. 결국, 그들은 새로운 데이터로 끊임없이 다시 쓰여질 것입니다. 당신은 시리즈의 길이에 대해 이야기하고 있습니다. 녹색 시리즈는 노란색 또는 빨간색 시리즈가 시작되는 즉시 종료됩니다. 마찬가지로 빨간색은 노란색이나 녹색이 시작되자마자 끝납니다. 저것들. 오직 하나의 시리즈만 관련이 있을 것이며, 이는 현재이고 그 앞에 있는 반대 시리즈입니다. 또는 서로 번갈아 가며 여러 시리즈가 필요합니다.

간단히 말해서 - 노동자-농민 방식으로: 우리는 이 시리즈의 배열이 무엇을 위해 필요합니까? 칠면조에서는 그래픽으로 어떻게 표현됩니까? 아니면 그 이유는 무엇입니까?

 

안녕하세요!!!

기능 이 있는 Expert Advisor 작성에 도움을 줄 사람

1 H 및 M 영업 시간

무익한 볼륨의 2 승수(로트)

3 로트 크기

4 정지 손실

5 이익을 취하다

매수 포지션에 한함

간단해 보이지만 작동하지 않는다

 
artmedia70 :

이러한 배열을 채우는 목적이 명확하지 않은 한 알고리즘은 탄생하지 않습니다. 이 어레이가 추가로 어떤 목적으로 사용될지는 분명하지 않습니다. 따라서 저장에 적합한 알고리즘이 없습니다. 결국 새로운 데이터로 지속적으로 다시 작성됩니다. 당신은 시리즈의 길이에 대해 이야기하고 있습니다. 녹색 시리즈는 노란색 또는 빨간색 시리즈가 시작되는 즉시 종료됩니다. 마찬가지로 빨강은 노랑이나 초록이 시작되자마자 끝납니다. 저것들. 오직 하나의 시리즈만 관련이 있을 것이며, 이는 현재이고 그 앞에 있는 반대 시리즈입니다. 또는 그러한 시리즈가 여러 개 필요합니다.

간단히 말해서 - 노동자-농민 방식으로: 우리는 이 시리즈의 배열이 무엇을 위해 필요합니까? 칠면조에서는 그래픽으로 어떻게 표현됩니까? 아니면 그 이유는 무엇입니까?

코드는 각 시리즈 유형(녹색 또는 빨간색)에 고유한 배열이 있음을 보여줍니다.

목적: MQL과 Excel을 통한 추가 분석을 위한 통계 정보 수집.

간단히 말해서 배열은 다음과 같아야 합니다.

레드시리즈[0]=10; 레드시리즈[1]=11; 레드시리즈[2]=4 ...

그린시리즈[0]=6; 그린시리즈[1]=8; GreenSeries[2]=10 ...

그것이 중요하다면 색상 변화의 역학은 다음과 같습니다. 빨간색이 녹색으로 바뀔 수 없는 것처럼 녹색은 빨간색으로 바뀔 수 없습니다. 저것들. 그 사이에는 항상 노란색이 있습니다.

 

주문이 마감된 것으로 확인되어 마감해야 하는 경우 티켓 뒤에 매개변수를 나열해야 합니까?

예: OrderClose(OrderTicket(),OrderLots(),Bid,30,Blue);

OrderClose(OrderTicket(),NULL,NULL,NULL,NULL)로 대체;

또는 OrderClose(OrderTicket(),EMPTY,EMPTY,EMPTY,EMPTY);

티켓만 고려하고 마감을 위해 더 짧게 쓸 수 있나요?

 
rosomah :

주문이 마감된 것으로 확인되어 마감해야 하는 경우 티켓 뒤에 매개변수를 나열해야 합니까?

예: OrderClose(OrderTicket(),OrderLots(),Bid,30,Blue);

OrderClose(OrderTicket(),NULL,NULL,NULL,NULL)로 대체;

또는 OrderClose(OrderTicket(),EMPTY,EMPTY,EMPTY,EMPTY);

티켓만 고려하고 마감을 위해 더 짧게 쓸 수 있나요?


아니요. 주문의 부분 마감이라는 개념이 있습니다. 따라서 매개변수를 명시적으로 지정해야 합니다. 데모에서 로트 = 1.5인 주문을 열고 이 주문에 대해 로트 = 1을 닫으십시오. 주문이 이익을 봤다면 전체가 아니라 일부만 청산할 수 있음을 알 수 있습니다. 나머지 로트가 계속해서 이익을 얻을 수 있도록 합니다.
 
silhouette :

코드는 각 시리즈 유형(녹색 또는 빨간색)에 고유한 배열이 있음을 보여줍니다.

목적: MQL과 Excel을 통한 추가 분석을 위한 통계 정보 수집.

간단히 말해서 배열은 다음과 같아야 합니다.

레드시리즈[0]=10; 레드시리즈[1]=11; 레드시리즈[2]=4 ...

그린시리즈[0]=6; 그린시리즈[1]=8; GreenSeries[2]=10 ...

그것이 중요하다면 색상 변화의 역학은 다음과 같습니다. 빨간색이 녹색으로 바뀔 수 없는 것처럼 녹색은 빨간색으로 바뀔 수 없습니다. 저것들. 그 사이에는 항상 노란색이 있습니다.

음, 두 개의 2차원 배열을 설정합니다. 하나는 녹색 데이터용이고 하나는 빨간색 데이터용입니다. 한 차원에서 다른 숫자 값으로 시간을 기록합니다. 녹색 데이터가 나타나면 녹색 배열을 1 증가시키고 0 막대의 시간과 값을 입력합니다. 빨간색 배열의 경우에도 마찬가지입니다. 또한 어레이에 데이터를 축적한 후 필요에 따라 처리할 수 있습니다. 또는 즉시 모든 데이터를 어드바이저에서 파일에 씁니다.
 

안녕하세요.

수동으로 열린 빈 마법이있는 주문에서 EA가 연 주문을 어떻게 인식합니까?

 
swird :

안녕하세요.

빈 마법으로 동일한 주문에서 Expert Advisor가 수동으로 연 주문을 어떻게 인식합니까?

주문 반복 주기에서 다음과 같이 OrderMagicNumber 연산자로 확인해야 합니다.

 if ( OrdersTotal ()> 0 )
{   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
   {   if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
      {   if ( OrderMagicNumber ()==MagNum) // тут
         {   //--- некоторое действие.

}  }  }  }
 
artmedia70 :
음, 두 개의 2차원 배열을 설정합니다. 하나는 녹색 데이터용이고 하나는 빨간색 데이터용입니다. 한 차원에서 다른 숫자 값으로 시간을 기록합니다. 녹색 데이터가 나타나면 녹색 배열을 1 증가시키고 0 막대의 시간과 값을 입력합니다. 빨간색 배열의 경우에도 마찬가지입니다. 또한 어레이에 데이터를 축적한 후 필요에 따라 처리할 수 있습니다. 또는 즉시 모든 데이터를 어드바이저에서 파일에 씁니다.

고맙습니다.

그러나 나는 시간 차원을 만드는 요점을 이해할 수 없습니다. 결국 시리즈에는 여러 막대가 있으며 시간이 다릅니다. 따라서 시리즈를 녹화할 수 없습니다.

그리고 한 가지 더: 내 코드에서 논리적 오류가 어디에 있는지 파악할 수 없습니다. 작동하지 않는 이유는 무엇입니까? 이것이 없으면 무언가를 리메이크하려는 어떤 시도도 쓸모가 없습니다.

 
silhouette :

고맙습니다.

그러나 나는 시간 차원을 만드는 요점을 이해할 수 없습니다. 결국 시리즈에는 여러 막대가 있으며 시간이 다릅니다. 따라서 시리즈를 녹화할 수 없습니다.

그리고 한 가지 더: 내 코드에서 논리적 오류가 어디에 있는지 파악할 수 없습니다. 작동하지 않는 이유는 무엇입니까? 이것이 없으면 무언가를 리메이크하려는 어떤 시도도 쓸모가 없습니다.

왜 시리즈의 시간인가? 음, 예를 들어 (어떤 통계를 수집하고 싶은지 모르겠습니다) 통계 데이터를 처리할 때 이 값뿐만 아니라 이 값의 시간도 알고 있으면 유용할 것입니다. Excel에서 그래프를 그릴 때 이 시리즈의 계열 및 데이터 위치, 서로에 대한 상대적 위치(빨간색 및 녹색) 등을 시각적으로 볼 수 있습니다. 필요하지 않다면 사용하지 마십시오.

나는 당신의 코드를 보지 않았고 논리 오류가 어디에 있는지 말할 수 없습니다. 나는 기억합니다 - 당신은 Victor의 지표(Vinin)를 기반으로 한 것입니다. 왜 Victor에게 그것에 대해 물어보지 않겠습니까?