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

 
Artyom Trishkin :
그 달의 첫 번째 요일 이 몇 요일인지 아는 것으로 충분합니다. 나머지는 계산됩니다.

이 옵션을 봤는데 험난한 길을.. 오른손으로 오른쪽 귀를 긁는듯.. MT 글리치 이후에 그냥 글리치일수도..친구들아 옵션좀 보여줘..

 
Darirunu :

죄송합니다, 당신은 아마도 질문에주의를 기울이지 않았을 것입니다 ..

조건을 4로 작성하는 방법: 매월 첫 번째 금요일이 강세일 경우

두 번째 떼 약세 월요일 다음 판매 거래를 엽니다.

DayOfWeek()==1 월요일은 분명하지만 그 달의 월요일은 무엇입니까? 글쎄, 당신의 경우 필요하지 않습니다. 명확합니다 .. 당신에 대해 묻는 것이 아닙니다))

이해했다! 당신은 당신에게만 알려진 알고리즘에 대해 이야기하고 있습니다. 나는 썼습니다. 우리는 그 달의 1일에 대한 요일을 결정합니다 ! 그런 다음 표 또는 두 개의 간단한 공식을 사용하여 관심있는 날짜의 날짜를 결정합니다.

달력 테이블 확인

월의 시작일이 6이면 첫 번째 금요일의 숫자는 7입니다. 그렇지 않으면 첫 번째 금요일의 숫자는 6입니다.

월의 시작일이 2보다 작으면 두 번째 월요일의 수는 9 - 월의 시작일입니다. 그렇지 않으면 두 번째 월요일의 숫자는 16입니다.

수학 함수를 사용하면 나머지 와 계수가 훨씬 짧아집니다.

 
LRA :

이해했다! 당신은 당신에게만 알려진 알고리즘에 대해 이야기하고 있습니다. 나는 썼습니다. 우리는 그 달의 1일에 대한 요일을 결정합니다 ! 그런 다음 표 또는 두 개의 간단한 공식을 사용하여 관심있는 날짜의 날짜를 결정합니다.

달력 테이블 확인

월의 시작일이 6이면 첫 번째 금요일의 숫자는 7입니다. 그렇지 않으면 첫 번째 금요일의 숫자는 6입니다.

월의 시작일이 2보다 작으면 두 번째 월요일의 수는 9 - 월의 시작일입니다. 그렇지 않으면 두 번째 월요일의 숫자는 16입니다.

감사합니다.. 신의 축복이 있기를.. 확인하겠습니다.
 
Darirunu :
감사합니다.. 신의 축복이 있기를.. 확인하겠습니다.

당신의 소원에 대해 대단히 감사합니다. 그러나 점 뒤에 공백을 넣고 점 앞에서 건너뜁니다. 이것은 프로그래밍에 도움이 될 것입니다. 행운을 빕니다. 필요한 경우 이익을 얻으십시오!

 
LRA :

당신의 소원에 대해 대단히 감사합니다. 그러나 점 뒤에 공백을 넣고 점 앞에서 건너뜁니다. 이것은 프로그래밍에 도움이 될 것입니다. 행운을 빕니다. 필요한 경우 이익을 얻으십시오!


그것은 매우 어려운 것으로 판명되었습니다. 아마도 더 쉬운 옵션이 있을 것입니다. 누구나 공유할 수 있습니까?

내일 그것이 바뀔 것이라고 가정해 봅시다. 업데이트의 무언가와 모든 것이 다시 작성되어야 할 것입니다.

 
Darirunu :

그것은 매우 어려운 것으로 판명되었습니다. 아마도 더 쉬운 옵션이 있을 것입니다. 누구나 공유할 수 있습니까?

내일 그것이 바뀔 것이라고 가정해 봅시다. 업데이트의 무언가와 모든 것이 다시 작성되어야 할 것입니다.

그렇게 어렵지 않습니다. 그러나 각 상황에 대해 고유한 값, 복사해야 하는 일일 막대 및 구조에 넣을 막대를 설정해야 합니다.

 /********************Script program start function********************/
void OnStart ()
{
 MqlDateTime mqlDateTime0, mqlDateTime1;
 datetime arrDateTime[ 7 ];
 CopyTime ( _Symbol , PERIOD_D1 , 0 , 7 , arrDateTime);
 TimeToStruct (arrDateTime[ 0 ], mqlDateTime0);
 TimeToStruct (arrDateTime[ 6 ], mqlDateTime1);
 if (mqlDateTime0.day_of_week == FRIDAY && mqlDateTime0.mon != mqlDateTime1.mon)
  {
   Print ( "Ура!!! Сегодня первая пятница" );
   // Дальше можно брать по времени пятницы открытие и закрытие бара и на основании этого определяем бычья или медвежья свеча...
  }
} /********************************************************************/

MqlRates 구조에서 양초 매개변수를 사용하는 것이 좋습니다.

 
Alexey Viktorov :

그러나 각 상황에 대해 고유한 값, 복사해야 하는 일일 막대 및 구조에 넣을 막대를 설정해야 합니다.



그것이 내가 말하는 것이고 MQL4에만 관심이 있습니다. 다른 솔루션을 찾아야합니다.

 
Darirunu :

그것이 내가 말하는 것이고 MQL4에만 관심이 있습니다. 다른 솔루션을 찾아야합니다.

이것은 mql4입니다.
파일:
00.mq4  2 kb
 
double ma;
   int    res;
   int nomber = OrdersHistoryTotal();
   int tip=OrderType();
   if(OrderSelect(nomber,SELECT_BY_POS,MODE_HISTORY))
   {
   tip=OrderType();
   }
   ma=iMA(NULL,0,MovingPeriod,120,MODE_SMA,PRICE_CLOSE,1);
   if(Bid<ma)
   if(tip!=OP_SELL)
   {
      res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,Bid-TP*Point,"",MAGICMA,0,Red);
      return;
     }



안녕하세요. 도움이 필요하다. 닫힌 매도 주문이 있으면 다음 주문은 매수로만 열 수 있습니다. 코드에 무엇이 잘못되었습니까? 알려주세요.
 
Darirunu :

그것이 내가 말하는 것이고 MQL4에만 관심이 있습니다. 다른 솔루션을 찾아야합니다.

그리고 또 다른 생각이 떠올랐다.

첫 번째 금요일이 필요한 경우 숫자는 8보다 작아야 합니다. 해당 월의 첫 번째 날이 금요일이면 다음 금요일은 여덟 번째 금요일이 됩니다. 따라서 요일 과 연속, 두 번째, 세 번째 요일에 대해 쉽게 다시 계산할 수 있습니다.

사유: