[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 );