OnBookEvent에 대한 구독이 때때로 중단됩니다. 그런 일이 있습니까? - 페이지 8

 
fxsaber :

또한 유료 마켓 제품을 자동으로 내장할 수도 있습니다. 무료 데모 모드에서 모든 리소스(아이콘, 커서 등)를 떼어낼 수 있습니다. 알파 채널 등이 있습니다.

할 수 있다. 그리고 당신은 또한 분노하고 생각할 수 없습니다. 왜 이벤트가 끝나야합니까?

 
A100 :

난 믿지 않아! - 모든 것이 마켓에서 안전하게 보호된다고 쓰여 있습니다.

정규 수입품 이 의심됩니다)

 
A100 :

난 믿지 않아! - 모든 것이 마켓에서 안전하게 보호된다고 쓰여 있습니다.

이것이 진지한 것인지 풍자인지 알 수 없습니다. 진지하게, ResourceSave는 모든 것의 머리입니다.

하지만 가능하다

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

mql5 언어의 특징, 미묘함 및 작업 방법

fxsaber , 2017.10.31 08:11

 // Сохранение Bitmap-объекта в bmp/gif/png-файле (прозрачность не учитывается)
bool BitmapObjectToFile( const long chartID, const string ObjName, const string FileName, const bool FullImage = false )
{  
   const ENUM_OBJECT Type = ( ENUM_OBJECT ) ObjectGetInteger (chartID, ObjName, OBJPROP_TYPE );  
   bool Res = (Type == OBJ_BITMAP_LABEL ) || (Type == OBJ_BITMAP );
             
   if (Res)
  {
     const string Name = __FUNCTION__ + ( string ) MathRand ();

     ObjectCreate (chartID, Name, OBJ_CHART , 0 , 0 , 0 );
     ObjectSetInteger (chartID, Name, OBJPROP_XDISTANCE , - 1 e3);
    
     const long chart = ObjectGetInteger (chartID, Name, OBJPROP_CHART_ID );
        
    Res = ChartSetInteger (chart, CHART_SHOW , false ) && ObjectCreate (chart, Name, OBJ_BITMAP_LABEL , 0 , 0 , 0 ) &&
           ObjectSetString (chart, Name, OBJPROP_BMPFILE , ObjectGetString (chartID, ObjName, OBJPROP_BMPFILE )) &&
          (FullImage || ( ObjectSetInteger (chart, Name, OBJPROP_XSIZE , ObjectGetInteger (chartID, ObjName, OBJPROP_XSIZE )) &&
                         ObjectSetInteger (chart, Name, OBJPROP_YSIZE , ObjectGetInteger (chartID, ObjName, OBJPROP_YSIZE )) &&
                         ObjectSetInteger (chart, Name, OBJPROP_XOFFSET , ObjectGetInteger (chartID, ObjName, OBJPROP_XOFFSET )) &&
                         ObjectSetInteger (chart, Name, OBJPROP_YOFFSET , ObjectGetInteger (chartID, ObjName, OBJPROP_YOFFSET )))) &&
                         ChartScreenShot (chart, FileName, ( int ) ObjectGetInteger (chart, Name, OBJPROP_XSIZE ),
                                                          ( int ) ObjectGetInteger (chart, Name, OBJPROP_YSIZE ));
     ObjectDelete (chartID, Name);
  }                    

   return (Res);
}


애플리케이션

 // Сохраняет в png-файлах все Bitmap-объекты текущего чарта
void OnStart ()
{  
   for ( int i = ObjectsTotal ( 0 ) - 1 ; i >= 0 ; i--)
  {
     const string Name = ObjectName ( 0 , i);
    
     BitmapObjectToFile ( 0 , Name, ( string ) ChartID () + "\\" + Name + ".png" );    
  }      
}


위협 BMP-> GIF/PNG 파일 변환기도 구현됩니다.

 
A100 :

어디에서 변경합니까? MetaTrader 또는 문서에서... 예를 들어

광대역 이벤트의 경우 OnChartEvent가 더 구체적으로 작성 됩니다. 차트의 모든 mql5 프로그램 이벤트 메시지 보내기(즉, 차트는 구독 단위임)

실제로 일어나는 일

CheckBookEventCount() 함수를 추가할 수 있습니다.

즉, 카운터가 1보다 크면 구독 제거를 호출하지 않습니다.

 
prostotrader :

CheckBookEventCount() 함수를 추가할 수 있습니다.

즉, 카운터가 1보다 크면 구독 제거 호출하지 않습니다.

왜 안 돼?

질문이 남아 있지만:

  • 카운터를 감소시키는 기능은 무엇입니까?
  • 어떤 유리를 닫아야 할까요?

모든 것이 MarketBookRelease에 할당된 경우 CheckBookEventCount 왜, 카운터를 확인해야 합니까?

 

일반적으로 광대역 가입 단위가 일정이면 다음 이름의 전역 변수 를 기반으로 프로그램 간 가입/가입 취소 카운터를 구성하여 아무 것도 변경할 수 없습니다.

 string GVName( string symbol ) { return IntegerToString ( ChartID ()) + ":" + symbol; }

암묵적인 합의로

 
A100 :
내 샌드박스에. 유리에 연결된 외부 코드는 모든 것을 깨뜨릴 가능성이 큽니다.
 
prostotrader :

글쎄요, 예상대로 당신은 틀렸습니다.

나는 틀렸지만 이 경우에는 그렇지 않다. 다른 분들의 글을 좀 더 자세히 읽어보고 싶습니다. 문제가 무엇인지 몇 번이고 반복했지만 아무 소용이 없었습니다 ...

 
fxsaber :

Init 및 Deinit는 구독에 참여하지 않습니다. 아마도이 상황이 도움이 될 것입니다.

아니요, 상관없습니다. 표시기를 다시 로드할 때 예측할 수 없는 OnInit/OnDeinit 호출 시퀀스의 문제를 언급하더라도 개체 생성/파괴에 의존하면 문제가 사라지지 않습니다. 동일한 역설이 있습니다.

그러나 나는 이 순서(지표에서)가 오류의 원인이 아님을 다시 한 번 반복합니다.

 
Stanislav Korotky :

나는 틀렸지만 이 경우에는 그렇지 않다. 다른 분들의 글을 좀 더 자세히 읽어보고 싶습니다. 문제가 무엇인지 몇 번이고 반복했지만 아무 소용이 없었습니다 ...

맞습니다, 모든 게시물을 읽는 것이 좋을 것입니다.

https://www.mql5.com/ru/forum/267154/page7#comment_8170755
Подписка на OnBookEvent иногда отваливается - есть такое?
Подписка на OnBookEvent иногда отваливается - есть такое?
  • 2018.07.24
  • www.mql5.com
После того как поплотнее занялся стаканом и повесил на чарты несколько экспертов и индикаторов, подписанных на OnBookEvent, обнаружил, что некоторы...
사유: