내 접근 방식. 코어 - 엔진. - 페이지 93

 

즉, 일반 차트에서 리소스의 내용을 읽을 수 없었습니다.

아마도 그가 뭔가를 잘못했을 것입니다 ...

먼저 테스터를 위한 Expert Advisor를 만듭니다. 그 안에 객체를 만들고 파일과 연결합니다.

 int OnInit ()
  {
   //----------------------------------------------
   if (! ObjectCreate ( 0 , "Resource" , OBJ_BITMAP_LABEL , 0 , 0 , 0 )) Print ( "Object is not created!" );
   else Print ( "Object created!" );
   //-------------------------------
   if (! ObjectSetString ( 0 , "Resource" , OBJPROP_BMPFILE , "::Resource" )) Print ( "BMPFILE is not created!" );
   else Print ( "BMPFILE created!" );
   //----------------------------------------------
   return ( INIT_SUCCEEDED );
  }

그런 다음 OnTick() 함수가 다음에 작성됩니다. 코드:

 void OnTick ()
  {
   uchar Arr[];
   uint   Data[];
   //---------------------------
   string price = ( string ) Bid ;
   //---------------------------
   int width = StringToCharArray (price,Arr);
   //---------------------------
   ArrayResize (Data,width);
   //---------------------------
   ArrayCopy (Arr,Data);
   //---------------------------
   if (! ResourceCreate ( "::Resource" ,Data,width, 1 , 0 , 0 , 0 , COLOR_FORMAT_XRGB_NOALPHA )) Print ( "Resource is not created!" );
   //---------------------------
  }


다음으로 타이머 기능이 있는 표시기를 만들고 작성 합니다.

 void OnTimer ()
  {
//---
   uint Data[],width,height;
   //-----------------------------
   if (! ResourceReadImage ( "::Resource" ,Data,width,height)) Print ( "Failed to read resource!" );
   else Print ( "Resource is readable!" );
   //-----------------------------
   
  }

테스터에서 어드바이저를 시작한 다음 일반 차트의 지표를 시작합니다.

그리고... 아무것도 읽지 않습니다. 그가 리소스를 읽을 수 없다고 씁니다.

 

글쎄, 무슨 일이야?

실수 -

ERR_RESOURCE_NOT_FOUND

 
fxsaber :

토론을 떠났습니다.

화내지 마세요. 개인적이지 않은 일. 기사만으로는 아무것도 이해하지 못합니다. 솔루션이 너무 복잡합니다.

더 잘 말해 보세요. 테스터에서 Expert Advisor가 생성한 리소스를 일반 차트의 표시기로 읽을 수 없는 이유는 무엇입니까?

내가 코드에 실수를 하고 있는 건가요, 아니면 그냥 작동하지 않는 건가요?

 

요컨대, 질문은 열려 있습니다. 문제가 무엇인지 누가 알겠습니까? 지금은 산산조각난 내 결정을 비판할 때입니다.))

어떤 비판도 수용하겠습니다. 내 실수인지 아니면 테스터에서 생성된 리소스의 비전이 작동하지 않는지 이해하면 됩니다.

그러면 리소스가 프로그램 간에 정보를 전송하기 위한 보편적인 솔루션이 될 수 있는지 여부가 분명해질 것입니다.

이 정보는 모두에게 유용할 것이라고 생각합니다.

 

역시나 명확하지 않습니다.

동일한 차트에 지표와 어드바이저를 설치했습니다. 표시기는 여전히 리소스를 표시하지 않습니다.

나는 자원이 채워진 직후에 고문 자체에 자원의 읽기를 배치했습니다. 리소스가 표시됩니다.

리소스는 선언된 프로그램에서만 볼 수 있습니다.

또는 표시기에서만 볼 수 있는 것은 아닙니다.

이제 리소스가 다른 차트에서 어드바이저를 볼 수 있는지 확인하겠습니다.

 
Реter Konow :

...

이제 리소스가 다른 차트에서 어드바이저를 볼 수 있는지 확인하겠습니다.

아니요, 리소스도 표시되지 않습니다.

고수들은 다 어디로 갔는지...

분명히 내가 실수하고 있습니다. 그러나 무엇에...

아니면 전혀 작동하지 않습니까?


추신. 그런데 리소스가 이상적인 통신 수단으로 작동하는 경우 fxsaber가 차트 설명 문자열을 사용하여 다른 프로그램에 메시지를 보내는 이유는 무엇입니까?

 
리소스를 만든 후 파일에 저장하려고 합니다.
 
Реter Konow :
리소스를 만든 후 파일에 저장하려고 합니다.

훌륭한 독백.)

 
Vitaly Muzichenko :

훌륭한 독백.)

무슨 일인지 아세요?

 
생각을 해봤는데. 다른 프로그램의 리소스를 사용하는 방법이 있습니다. 아마도 해결책이 거기에 있을 것입니다. 지금 바로 문서를 살펴보겠습니다.