해도에 설치된 인디케이터의 버퍼 읽기 - 페이지 5

 
Dmitry Fedoseev :
어떤 진술? 제목 설명이 잘못되었습니다. 버퍼 읽기에는 문제가 없습니다. 어떤 문제가 있는지 -이 게시물에 대한 링크를 작성하고 제공했습니다. 당신을 쫓아가서 강제로 밀치기도 합니까?

공격성은 논쟁에 반비례합니다! 무슨 링크를 말씀하시는지 이해가 안됩니다.

지표 및 전문가 고문 코드가 제공되었습니다. 경우에 따라 iCustom을 통해 버퍼를 얻을 수 없는 것으로 표시됩니다. 따라서 제목은 사실일 뿐만 아니라 입증되었습니다.

다른 종류의 iCustom 제한도 마찬가지입니다. 더 이상 아무 말도 하지 않는다면 "할 수 있다"와 "문제가 없어 보인다"의 요점은 무엇입니까? 당신은 건설적인 일을 할 수 없으므로 가지에 간섭하지 마십시오.

 
기본이 아닌 입력 매개변수를 사용하여 차트에서 실행된 지표의 버퍼 값을 수신 하는 Expert Advisor를 작성하는 것은 불가능합니다. iCustom은 각 표시기에 대해 SOURCE에 자체 호출을 작성해야 하는 방식으로 구현되기 때문입니다.
 
comp :

그런 말은 머리에 얼마나 큰 타격을 입혔습니까? 코드베이스에서 지표를 찾기로 결정했습니다. 나는 내가 익숙한 것을 사용하는 사람을 찾지 못했습니다: 이벤트 모델 + OOP.

이 상황에 대한 좌절감이나 실망감이 더 크다고 말하기는 어렵습니다. 표시기는 원시적으로 작성되어야 합니다.

Expert Advisor에 데이터 반환과 함께 이벤트 모델이 필요한 예를 보여주십시오.

차트에서 실행되는 지표에 대한 액세스에 대해 아무런 반대가 없습니다. 그리고 매개변수 구조에도 적용됩니다(MT5에는 이미 존재합니다 ).

그러나 다시 한 번 나는 당신이 잘못된 측면에서 문제에 접근하고 있음을 암시하려고 합니다. 현미경으로 못을 박을 필요가 없습니다. 다른 용도입니다.

 
comp :
기본이 아닌 입력 매개변수를 사용하여 차트에서 실행된 지표의 버퍼 값을 수신 하는 Expert Advisor를 작성하는 것은 불가능합니다. iCustom은 각 표시기에 대해 SOURCE에 자체 호출을 작성해야 하는 방식으로 구현되기 때문입니다.

난 몰랐 거든

올빼미 읽기 버퍼 0

칠면조는 다른 차트에 매달릴 수 있습니다

icomp 터키

부엉이

또한 올빼미에서 칠면조 버퍼에 값을 쓸 수 있습니다.

파일:
icomp_v2.ex4  8 kb
ecomp_v2.ex4  6 kb
 

차트에서 실행되는 모든 지표의 이름과 입력 매개변수를 반환하는 스크립트의 예

 #property strict

string GetBetweenString( string &SourceString, const string BeginString, const string EndString = "" )
{
   string Str = SourceString;
   int Pos1 = 0 ;
   int Pos2 = 0 ;

   if (BeginString != "" )
    Pos1 = StringFind (SourceString, BeginString);

   if (Pos1 >= 0 )
  {
    Pos1 += StringLen (BeginString);

    Pos2 = StringFind (SourceString, EndString, Pos1);

     if (Pos2 != Pos1)
      Str = StringSubstr (SourceString, Pos1, Pos2 - Pos1);
     else
      Str = "" ;
  }

  SourceString = StringSubstr (SourceString, Pos2 + StringLen (EndString));

   return (Str);
}

string FileToString( const string FileName )
{
   string Res = "" ;

   const int handle = FileOpen (FileName, :: FILE_READ |:: FILE_BIN );

   if (handle != INVALID_HANDLE )
  {
     uchar Array[];

     FileReadArray (handle, Array);

    Res = CharArrayToString (Array);

     FileClose (handle);
  }

   return (Res);
}

string GetIndicatorsData( const long Chart_ID = 0 )
{
   string Res = "Current chart:" ;

   const string FileName = :: WindowExpertName () + ".tpl" ;

   if ( ChartSaveTemplate (Chart_ID, "..\\MQL4\\Files\\" + FileName))
  {
     string Str = FileToString(FileName);

     int PosName = StringFind (Str, "name=Custom Indicator" );

     while (PosName > 0 )
    {
       const string IndicatorName = GetBetweenString(Str, "<indicator>\r\nname=Custom Indicator\r\n<expert>\r\nname=" , "\r\n" );

      Res += "\n\nIndicator: " + IndicatorName;

       const int PosInputs = StringFind (Str, "<inputs>" );
      PosName = StringFind (Str, "name=Custom Indicator" );

       if (PosInputs > 0 )
         if ((PosName < 0 ) || (PosName > PosInputs))
          Res += "\nInputs:\n" + GetBetweenString(Str, "<inputs>\r\n" , "\r\n</inputs>" );

      Res += "\n\nLast Null Buffer Value (ONLY Default Inputs) = " + ( string ) iCustom ( Symbol (), Period (), IndicatorName, 0 , 0 ) ;
    }
  }

   return (Res);
}

void OnStart ( void )
{
   MessageBox (GetIndicatorsData());

   return ;
}

이 데이터는 지표 값을 계산하기에 충분해야 합니다. 그러나 iCustom의 "줄임표" 때문에 이것이 불가능합니다.

 
pako :

난 몰랐 거든

올빼미 읽기 버퍼 0

칠면조는 다른 차트에 매달릴 수 있습니다

icomp 터키

부엉이

출처?
 
comp :
출처?
동기가 없다
 
comp :

차트에서 실행되는 모든 지표의 이름과 입력 매개변수를 반환하는 스크립트의 예

이 데이터는 지표 값을 계산하기에 충분해야 합니다. 그러나 iCustom의 "줄임표" 때문에 이것이 불가능합니다.

어떤 칠면조가 차트와 해당 매개 변수에 매달려 있는지 알고 싶습니까?

제목을 볼 수 있습니다

얼마나 많은 매개변수를 볼 수 있는지

스크립트가 올바르게 표시됩니다.


이름과 매개변수 수

 
pako :

어떤 칠면조가 차트와 해당 매개 변수에 매달려 있는지 알고 싶습니까?

아니요, 귀하의 EA가 변화하는 지표 데이터를 표시하지 않기 때문에 귀하의 예에서 무엇이 작동하지 않는지 이해하고 싶습니다.

 
comp :

아니요, 귀하의 EA가 변화하는 지표 데이터를 표시하지 않기 때문에 귀하의 예에서 무엇이 작동하지 않는지 이해하고 싶습니다.

버퍼 0의 데이터를 보여줍니다.

기록이 보여주는 것