MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1313

 
Valeriy Yastremskiy :

이해가 잘 안되는데 저 창 때문이 아닐 수도 있습니다. 막대가 있는 차트 창에 대해 이야기하고 있습니다. 이들은 움직이고 있다. 표시기 어드바이저, 경고 창, 메시지를 로드할 때 대화 상자 창이 있지만 모두 이동합니다. 어떤 창을 말씀하시는 건가요? 성경 대화는 그것과 아무 관련이 없습니다. 나는 또한 4k에 라이브러리가 없습니다

다음은 올빼미 창입니다.


필요한 경우 일정에 따라 이동하고 싶습니다.

 
MakarFX :

다음은 올빼미 창입니다.


필요한 경우 일정에 따라 그를 이동시키고 싶습니다.

창문이 아니라 패널입니다. 움직여도 돼 코드로도 말하지 않을게 코드가 필요하며 일반적으로 다시 그립니다. 패널이 그려지는 위치와 좌표가 설정되어 있는 곳을 찾아 마우스로 이벤트를 따라 붙이고(누르기), 이동하고, 지우고, 새로 그립니다. 이 같은. 하지만 나는 전혀 화가가 아니다.

 
Valeriy Yastremskiy :

어드바이저에서 삭제할 때 주석을 지울 필요는 없지만 표시기에서는 필요합니다. 그래서 의도?

적절한 프로그래머는 최소한 다음을 작성할 것입니다.

 void OnDeinit ( const int reason)
{
     Comment ( "" );
}
댓글이 사용된 경우 그는 스스로 정리할 것입니다. 그리고 많은 초보자들은 그것에주의를 기울이지 않습니다. 그것이 모든 비밀입니다.
 
안녕하세요.
특정 수준의 가격을 계산하는 방법( 오픈 포지션 고려)을 알려주시겠습니까? 마진 콜 및 스탑 아웃 가격이 얼마인지 계산합니다.
 
Konstantin Nikitin :

적절한 프로그래머는 최소한 다음을 작성할 것입니다.

댓글이 사용된 경우 그는 스스로 정리할 것입니다. 그리고 많은 초보자들은 그것에주의를 기울이지 않습니다. 그것이 모든 비밀입니다.

그래서 위에서 썼고, 썼습니다.) 질문은 왜 Expert Advisors와 지표에서 다른 행동을 하느냐였습니다. 숨겨진 의미가 있거나 다른 작가 팀에서 역사적으로 발전한 것이 있습니까?)

 
Konstantin Nikitin :

적절한 프로그래머는 최소한 다음을 작성할 것입니다.

댓글이 사용된 경우 그는 스스로 정리할 것입니다. 그리고 많은 초보자들은 그것에주의를 기울이지 않습니다. 그것이 모든 비밀입니다.
사실 이와 관련하여 명시적인 일반 요구 사항은 없습니다.
 
Andrey Sokolov :
사실 이와 관련하여 명시적인 일반 요구 사항은 없습니다.

내가 요구 사항을 언급 했습니까? 나는 누군가는 순간을 고려하고 누군가는 그렇지 않다고 말했습니다.

 
Konstantin Nikitin :

내가 요구 사항을 언급 했습니까? 나는 누군가는 순간을 고려하고 누군가는 그렇지 않다고 말했습니다.

이 방법이 아니라

 

도서관에서   쉽고 빠른   https://www.mql5.com/ru/articles/3527은 "SubWindow.mq5" 파일을 로드하여 표시기 하위 창에서 프로그램 창을 시작하는 기능을 구현했으며 모든 것이 mql5에서 작동하며 mql4에서는 내용도 컴파일되지 않습니다. 오류가 발생했지만 하위 창이 열리지 않습니다. 어떻게 해야 합니까?


 //+------------------------------------------------------------------+
//|                                                    SubWindow.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2016, MetaQuotes Software Corp."
#property link        "http://www.mql5.com"
#property indicator_separate_window
#property indicator_plots    0
#property indicator_buffers 0
#property indicator_minimum 0.0
#property indicator_maximum 0.0
//--- Имя программы
#define PROGRAM_NAME :: MQLInfoString ( MQL_PROGRAM_NAME )
//--- Идентификатор события для изменения высоты подокна эксперта
#define ON_SUBWINDOW_CHANGE_HEIGHT ( 38 )
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ( void )
  {
//--- Короткое имя индикатора
   :: IndicatorSetString ( INDICATOR_SHORTNAME ,PROGRAM_NAME);
//--- Инициализация прошла успешно
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Деинициализация                                                  |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int     rates_total,
                 const int     prev_calculated,
                 const int     begin,
                 const double &price[])
  {
//--- Если инициализация прошла успешно
   if (prev_calculated< 1 )
       //--- Отправим сообщение эксперту, чтобы получить от него размер для подокна
      :: EventChartCustom ( 0 ,ON_SUBWINDOW_CHANGE_HEIGHT, 0 , 0.0 ,PROGRAM_NAME);
//---
   return (rates_total);
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent ( const int     id,
                   const long    &lparam,
                   const double &dparam,
                   const string &sparam)
  {
//--- Обработка события изменения высоты подокна эксперта
   if (id== CHARTEVENT_CUSTOM +ON_SUBWINDOW_CHANGE_HEIGHT)
     {
       //--- Принимать сообщения только от имени эксперта
       if (sparam==PROGRAM_NAME)
         return ;
       //--- Изменить высоту подокна
      :: IndicatorSetInteger ( INDICATOR_HEIGHT ,( int )lparam);
       //--- Обновить график
      :: ChartRedraw ();
     }
  }
//+------------------------------------------------------------------+
 

안녕하세요!

(모든) 표시기에 계정에 수표를 첨부하려고합니다!

 bool VerifityToSchet()
  {
   if (AccountNumber() != account)
     {
       Print ( "На данном счете индикатор работать не будет, вы его приобрели незаконным путем!!!" );   
     } else
     {
     Print ( "На данном счете индикатор авторизован" );
     }
   return ( false );
  } 

당연히 init(), start()에 포함시켰는데 터미널을 다시 시작하면 계정이 무효가 된다고 욕을 합니다!

내가 무엇을 잘못하고 있지?