MQL4 EA의 차트에 지표 추가 - 페이지 6

 

Alain Verleyen :

 #import "user32.dll"
int RegisterWindowMessageW( string MessageName);
int PostMessageW( int hwnd, int msg, int wparam, uchar &Name[]);
#import

#define INDICATOR_NAME "Indicator_name"
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void StartCustomIndicator( int hWnd, string IndicatorName, bool AutomaticallyAcceptDefaults= false )
  {
   uchar name2[];
   StringToCharArray (IndicatorName,name2, 0 , StringLen (IndicatorName));

   int MessageNumber=RegisterWindowMessageW( "MetaTrader4_Internal_Message" );
   int r=PostMessageW(hWnd,MessageNumber, 15 ,name2);
   Sleep ( 10 );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
// In my code where I launch the indicator
   int hWnd=WindowHandle( Symbol (), 0 );
   StartCustomIndicator(hWnd,INDICATOR_NAME);

   return ( INIT_SUCCEEDED );
  }


여보세요


SCRIPT에서 이 코드를 사용하려고 하지만 때때로 내 메타 트레이더가 갑자기 닫힙니다.


무엇이 문제인지 아십니까?

 

Chart.mqh는 꽤 뻔하다........


 //+------------------------------------------------------------------+
//|                                                       Chart.mqh  |
//|                   Copyright 2009-2016, MetaQuotes Software Corp. |
//|                                               http://www.mql5.com |
//+------------------------------------------------------------------+
#include <Object.mqh>
//---
#ifdef __MQL4__
bool ChartIndicatorAdd ( long chart_id, int subwin, int handle) { return ( false ); }
#endif
 
Alain Verleyen 코드를 추가 하기만 하면 됩니다.

작동하지 않습니다. 표시기에서 표시기 추가 코드를 실행해야 합니다. 많은 솔루션을 시도했지만 결과를 얻지 못했습니다. 추가하고 싶은 인디케이터가 추가되는데 인디케이터 설정창은 계속 켜져있고 수동 확인을 기다립니다.
MT4 Build 1353에서 이 작업을 수행하고 있습니다.

분명히, 해당 코드는 스크립트에서 제대로 작동하고 키보드 에뮬레이션도 스크립트에서 작동합니다.
지표에서 운이 없습니다 ...
 
Nicolas Baptista 사용자 지정 표시기 에서 일하고, 그렇지 않으면 창 이름을 변경합니다.

참고2 : 15자(".ex4" 이전)를 초과하는 표시기를 사용하지 마십시오.

엄청난
사유: