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

 
TarasBY :

첫 번째: 처음에는 어레이 크기를 변경하려는 철학에 결함이 있습니다. 100개 중 99개의 경우에서 표시기 판독값을 처리하기 위해 10개의 셀로 얻을 수 있습니다.

두 번째: 각 진드기에 대한 이러한 징후를 다시 계산하는 것은 정보가 부족한 두뇌의 변덕입니다.


Igor, 상황을 벗어나는 방법에 대한 실용적인 조언을 시작하거나 게시할 필요가 전혀 없습니다.
 

대충, 하지만 요점까지) 실험을 하고 나서 포인트 개수에 대한 데이터를 한 셀에 요약할 수 있다는 것을 깨달았습니다. 충분 해.

 
FAQ : Igor, 또는 상황을 벗어나는 방법에 대한 좋은 조언을 제공하기 시작하거나 게시할 필요가 전혀 없습니다.
내가 표현한 생각의 본질을 "실천적인 조언"으로 번역하고 있습니다. 사람은 막다른 길을 가고 있습니다.
 

따라서 막다른 골목이라는 사실만 언급하지 말고 필요한 곳에 지시하십시오.

여기 스레드가 있습니다 ...

 
Fox_RM : 거침없지만 요점까지) 실험을 해보고 나서 포인트 개수에 대한 데이터를 한 셀에 요약할 수 있다는 것을 깨달았습니다. 충분 해.
기분을 상하게 하거나 불쾌감을 줄 생각은 조금도 없이.
 

모든 것이 괜찮습니다! 이 포럼은 사람들의 소중한 도움이 됩니다! 1~2달 전에는 어레이로 작업하는 방법을 전혀 몰랐습니다.)

 
Fox_RM :

배열이 이질적인 경우 모든 요소를 문자열 유형으로 캐스트한 다음 다음을 통해 원하는 요소를 찾아야 합니다.

문자열 찾기 ( https://www.mql5.com/en/forum/138609/page22#613148 ) . 잘못된 경우 수정합니다.


감사하다. 이 기능을 찾았습니다.

아직 제대로 사용하는 방법을 몰라서요.

검색된 부분이 시작되는 문자열의 위치만 반환합니다. 그러나 일부가 아닙니다.

문자열의 일부가 필요합니다.

 
Snegovik :


감사하다. 이 기능을 찾았습니다.

아직 제대로 활용하는 방법을 몰라서요.

검색된 부분이 시작되는 문자열의 위치만 반환합니다. 그러나 일부가 아닙니다.

문자열의 일부가 필요합니다.

StringSubstr ().
 
TarasBY :
StringSubstr ().


정확히 무엇이 필요한지.

정말 감사합니다.

 

여러분 - 좋은 저녁입니다!

문제: 두 선의 교차점을 찾는 기능을 염두에 둘 수 없습니다(Kimovskaya도 시도했습니다. 결과는 동일합니다).

사실 주기적으로 교차가 실제로 발생한 곳이 아닌 것으로 결정됩니다.

다음과 같은 일이 발생합니다.


빨간색 수평선은 함수가 계산하는 가격 수준입니다. 노란색 - 있어야 하는 수준입니다.

흥미롭게도 이 버그가 항상 발생하는 것은 아닙니다. 교차로가 원래 있어야 하는 대로 정의되는 경우가 많습니다...

아래는 함수에 대한 코드입니다.

 //+----------------------------------------------------------------------------+
void Middle( string nm1, string nm2)
  {
   //double M;
   double x1, x2, x3, x4;
   double y1, y2, y3, y4;
   double k1, k3;
  
   if ( ObjectFind (nm1)== 0 && ObjectFind (nm2)== 0 )
    {
    y1= ObjectGet (nm1, OBJPROP_PRICE1);
    y2= ObjectGet (nm1, OBJPROP_PRICE2);
    x1= ObjectGet (nm1, OBJPROP_TIME1);
    x2= ObjectGet (nm1, OBJPROP_TIME2);
    
    y3= ObjectGet (nm2, OBJPROP_PRICE1);
    y4= ObjectGet (nm2, OBJPROP_PRICE2);
    x3= ObjectGet (nm2, OBJPROP_TIME1);
    x4= ObjectGet (nm2, OBJPROP_TIME2);
    
    k1=(y2-y1)/(x2-x1); 
    k3=(y4-y3)/(x4-x3);
    
     if (k1 != k3)
      {
      T = (y1 - y3 + k3*x3 - k1*x1)/(k3 - k1);
      M = y1 + k1*(T - x1);
      Tt = T;
      }
    }
   return ( 0 );
  }
//+----------------------------------------------------------------------------+

예고편에서 - 테스트를위한 고문.

나는 당신에게 간청합니다 - 내가 뭘 잘못하고 있는지 말해주세요 !!!

미리 감사드립니다)

파일:
proba_per.mq4  11 kb