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

 


물론 배열 읽기/쓰기로 전환하는 것이 좋습니다.

1. 반복할 때마다 배열의 크기를 1씩 변경할 필요는 없습니다. 예를 들어 필요한 경우 50 또는 100씩 늘리는 등 덜 자주 수행하는 것이 좋습니다.

2. 제어 인쇄의 경우 DoubleToStr()을 사용하는 것이 좋습니다.

3. 문자열 변수가 읽기에 사용되는 이유를 이해하지 못했습니다.

 
Vinin :


물론 배열 읽기/쓰기로 전환하는 것이 좋습니다.

1. 반복할 때마다 배열의 크기를 1씩 변경할 필요는 없습니다. 예를 들어 필요한 경우 50 또는 100씩 늘리는 등 덜 자주 수행하는 것이 좋습니다.

2. 제어 인쇄의 경우 DoubleToStr()을 사용하는 것이 좋습니다.

3. 문자열 변수가 읽기에 사용되는 이유를 이해하지 못했습니다.

1. 그렇지 않으면 작동하지 않습니다. 0 행을 씁니다. 매번 업데이트해야 하는 4개의 열인 것 같습니다.

2. 알았어

3. 사양. 하나는 이제 모든 것이 올바르게 읽습니다. 그러나 하나의 제로 라인은 불필요하고 하나는 다시 그것을 몰아내는 것으로 나타났습니다.그리고 거기에는 각각 가치가 없으며 제로 라인을 채 웁니다.

 
orb :

1. 그렇지 않으면 작동하지 않습니다. 0 행을 씁니다. 매번 업데이트해야 하는 4개의 열인 것 같습니다.

2. 알았어

3. 사양. 하나는 이제 모든 것이 올바르게 읽습니다. 그러나 하나의 제로 라인은 불필요하고 하나는 다시 그것을 몰아내는 것으로 나타났습니다.그리고 거기에는 각각 가치가 없으며 제로 라인을 채 웁니다.


이 접근 방식을 사용하면 큰 브레이크가 생깁니다.
 
Vinin :

이 접근 방식을 사용하면 큰 브레이크가 생깁니다.

알겠습니다. 이렇게 쓰는 것이 더 쉽습니다.

한 번 더 실행되는 동안을 제거하는 방법을 알려주실 수 있습니까?

 
orb :

알겠습니다. 이렇게 쓰는 것이 더 쉽습니다.

한 번 더 실행되는 동안을 제거하는 방법을 알려주실 수 있습니까?



나는 그것을 제거할 수 없었다. 하지만 문자열 변수를 사용하지 않았습니다.
 
이해했다. 그리고 당신은 할 수 있습니다. ArrayResize() ; 루프 수보다 적게 적용하면 배열에서 해당 문자열이 제거됩니까?
 
orb :
이해했다. 그러면 ArrayResize(); 루프 수보다 적게 적용하면 배열에서 해당 문자열이 제거됩니까?

예, 제거됩니다.

이 기능을 덜 자주 사용할수록 더 빠르게 작동합니다. 나는 100개의 요소를 예약했고 당신은 배열의 출력을 제어하는 것을 읽었습니다. 필요한 경우 배열을 다시 100개 요소로 늘립니다. 동시에 실제로 다운로드한 요소 수를 저장합니다. 어레이가 완전히 다운로드된 후 새로운 ArrayResize()를 수행하지만 다운로드된 요소의 실제 수만큼 수행합니다.

그러나 배열 작업을 위한 함수가 더 올바르게 작동합니다. 먼저 배열 요소 의 수를 파일에 저장한 다음 배열 자체를 저장합니다.

먼저 요소의 수를 세고 배열의 크기를 설정합니다. 어레이를 다운로드합니다. 그리고 주기 없음

 
Vinin :

예, 제거됩니다.

이 기능을 덜 자주 사용할수록 더 빠르게 작동합니다. 나는 100개의 요소를 예약했고 당신은 배열의 출력을 제어하는 것을 읽었습니다. 필요한 경우 배열을 다시 100개 요소로 늘립니다. 동시에 실제로 다운로드한 요소 수를 저장합니다. 어레이가 완전히 다운로드된 후 새로운 ArrayResize()를 수행하지만 다운로드된 요소의 실제 수만큼 수행합니다.

그러나 배열 작업을 위한 함수가 더 올바르게 작동합니다. 먼저 배열 요소의 수를 파일에 저장한 다음 배열 자체를 저장합니다.

먼저 요소의 수를 세고 배열의 크기를 설정합니다. 어레이를 다운로드합니다. 그리고 주기 없음

감사하다! 미래를 위해 배우십시오.
 

문제를 해결하는 방법을 알려주십시오.

현재 TF에 대한 선임 TF의 지원/저항 수준이 예상됩니다. 테스트한 가격 중 마지막으로 테스트한 수준을 결정해야 합니다. 나는 플래그로 그것을하려고했습니다.

int start()
{ 
      int limit;
      int counted_bars=IndicatorCounted();
      if(counted_bars>0) counted_bars--;

      limit=Bars-counted_bars;
      if(limit>barsToProcess)
         limit=barsToProcess;

     for(int i=0;i<limit;i++)

{
 
  bool flag_R[], flag_S[], S[];

   double Level_Re = iCustom(NULL,0,"........",0,i); // для каждого бара получаем значения со старшего ТФ
   double Level_Su = iCustom(NULL,0,"........",1,i); // для каждого бара получаем значения со старшего ТФ

{
   if (iHigh(Symbol(), 0 ,i)>=Level_Re)               // проверяем тестирование ценой уровня Re
   {flag_R[i]= true ; flag_S[i]= false ; S[i]= true ;}   // выставляем флаги
   
   if (iLow(Symbol(), 0 ,i)<=Level_Su)               / / проверяем тестирование ценой уровня Su
   {flag_R[i]= false ; flag_S[i]= true ; S[i]= true ;}   // выставляем флаги


   if (S[i]== false ) {flag_R[i]=flag_R[i+ 1 ]; flag_S[i]=flag_S[i+ 1 ];} // если тестирования не было - берем предыдущее значение

   if (flag_R[ 0 ]== true ) Print( "Re zone tested" ); if (flag_S[ 0 ]== true ) Print( "Su zone tested" );
   
}
}

return(0);
}

하지만 로그 에 아무것도 기록되지 않습니다 ... 레벨 자체는 제대로 계산되는데, 뭔가 플래그가 어울리지 않는군요....]

실수는 어디에 있습니까? 또는 가장 좋은 방법은 무엇입니까?

 
alkador :

TG로

다음과 같이 시도하십시오.

날짜/시간 만료=TimeCurrent()+MaxSecLiveTime;

OrderSend(Symbol(), OP_BUYSTOP, lot(), PriceBuy, 0, 0, 0, EA_Comment, Magic, 만료, CLR_NONE);


차이점은 무엇입니까?

 extern int MaxSecLiveTime = 120 ;
OrderSend ( Symbol (), OP_BUYSTOP, Lots(), PriceBuy, 0 , 0 , 0 , EA_Comment, Magic, TimeCurrent ()+MaxSecLiveTime, CLR_NONE );