포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 812

 
Pomid :
감사합니다, 배웠습니다, 수정했습니다.
이미 완료되었습니다! 하지만 배울 수 없고, 아직 모르는 것이 항상 많고, 모든 것이 항상 업데이트됩니다. 그래서 "살고 배우십시오!"
 
barabashkakvn :
최적화를 활성화하지 않고 테스트할 때 모든 코어를 로드하는 이유는 무엇입니까? 결국 시각화로 테스트하는 경우 여기에 서두르지 않지만 시각화 없이 테스트하는 경우 현대 컴퓨터는 씨앗과 같은 작업을 하나의 코어에서 클릭합니다.

글쎄요, 시각화 없이 테스트할 때 모든 코어가 작동했다면 훨씬 더 빨랐을 것 같아요. 그냥 최신 프로세서로도 조용히 작동한다는 느낌이 들고, 속도가 충분하지 않고, 아마도 많은 것이 정확성에 달려 있습니다. 코드가 잘 최적화되어 있다면 모든 것이 빠르지는 않더라도 빠릅니다.

프로세서 또는 비디오 카드용 OpenCL이 테스트 중 속도에 어떤 영향을 미치나요? 아니면 코드 작성 전용인가요? 코드가 OpenCL로 작성된 경우 테스트 모드 에서 훨씬 더 빠르게 작동하고 코드가 다음과 같을 경우 그냥 코드.

 
7Konstantin7 :


알려주십시오. OpenCL이 테스트 시 속도에 어떻게든 영향을 미치나요, 아니면 코드 작성을 위한 것일 뿐이며, 코드가 OpenCL로 작성된 경우 테스트 모드에서 훨씬 더 빠르게 작동하고 코드가 코드일 경우에는 훨씬 더 빠르게 작동합니다.

내가 이해 하는 한 MT5의 OpenCL은 "무거운" 그래픽 작업에 도움이 되고 비디오 카드는 테스트 및 최적화에 참여하지 않습니다. 그렇지 않으면 모든 사람이 비트코인과 같이 오랫동안 에이전트 서비스에서 채굴을 했을 것입니다.
 
evillive :
내가 이해 하는 한 MT5의 OpenCL은 "무거운" 그래픽 작업에 도움이 되고 비디오 카드는 테스트 및 최적화에 참여하지 않습니다.

그렇다면 유감스럽게도 모든 것이 관련되기를 바랍니다)

방금 일어난 일입니다. 해당 MT5 사이트에서 로봇 코드를 보고 다운로드하고 테스트를 실행하면 모든 것이 너무 오래 걸립니다. 특히 모든 틱에서 하나가 아닌 모든 코어를 사용하는 것이 더 나을 것입니다. 하지만 그럴 가능성이 있습니다. 그 사이트에 게시된 대부분의 코드가 삐뚤게 쓰여져 있어서 테스트가 너무 오래 진행된 이유는 물론 제 프로세서는 인텔은 아니지만 4.000GHz의 8코어 가 모두 날아가야 하는데 앉아서 테스터가 누벅인지 아닌지, MT5가 이걸 탓하면 안타까운데 왜 그러냐.

 
tara :

변수는 다른 것이 아니라 거기에 있어야 합니다.

변하기 쉬운? 오 감사.
 
어디가 오류인지 알려주세요. 머리가 벌써 아파요. (
파일:
 
martovskiy_tigr :
어디가 오류인지 알려주세요. 머리가 벌써 아파요. (
얘기하는 건 어때? 무엇을 걱정합니까?
 

표시기 창이 -99999...에서 +99999...99까지 멈춥니다.

 
martovskiy_tigr :

표시기 창이 -99999...에서 +99999...99까지 멈춥니다.

i 값을 잘못 계산하면 루프가 계산되지 않으며 여러 위치에 범위를 벗어난 배열 도 있습니다(이유는 빨간색으로 강조 표시됨).

더 나은 방법:

   indx = rates_total-prev_calculated; //было indx = rates_total-prev_calculated-1; - что чаще всего < 0
   if (prev_calculated< 1 ) indx=rates_total-2; //было if(indx<0) indx=0; - то есть всегда i=0 а цикл-то до 1, на i=0 цикл никогда не просчитается
   sm_bar = (Close[ 1 ] - Open[ rates_total -1 ])/rates_total; //индекс не может быть [ rates_total ]
   i = indx;
   k = 0 ;
   ekviti[ rates_total-1 ] = 0 ; //индекс не может быть [ rates_total ]
   while (i >= 0 )
   {
     if (bar_n == TimeDayOfWeek(iTime( NULL , 0 ,i)))
    {
     ekviti[i] = ekviti[i +1 ] + close[i] - open[i] - sm_bar;
     k++;
    }
     else ekviti[i] = ekviti[i + 1 ];
    i--;
   }
 
감사하다. 그 전에는 절대 스스로 도핑을 하지 않을 것입니다. 그냥 몰랐어