초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 1361

 
Dmitriy VC # :

이것은 분명합니다. 그렇게 하면 됩니다.

문제는 그것을 시장에 어떻게 배치하느냐 하는 것입니다. Expert Advisor를 게시할 때 리소스 파일도 지정할 수 있습니까?

의역:

- Expert Advisor 코드에 사용자 지정 지표가 포함된 리소스에 대한 링크가 포함된 경우 시스템에서 다운로드도 제안합니까?

리소스는 #resource "<리소스 파일 경로>" 명령으로 삽입됩니다.

 #resource "<путь_к_файлу_ресурса>"
상수 문자열 <path_to_resource_file>의 길이는 63자를 초과할 수 없습니다.

리소스에 포함된 모든 파일 및 디렉토리의 이름은 영어여야 합니다.

컴파일러는 다음 순서로 지정된 경로에서 리소스를 찾습니다.

  • 경로가 백슬래시 구분 기호 "\"("\\"로 작성됨)로 시작하면 자원은 terminal_data_directory \MQL4\ 디렉토리를 기준으로 검색됩니다.
  • 백슬래시가 없으면 이 리소스가 기록된 소스 파일의 위치를 기준으로 리소스를 검색합니다.
 

아래에는 리소스로 표시기 연결이 있습니다.

https://www.mql5.com/ru/docs/runtime/resources

Документация по MQL5: Программы MQL5 / Ресурсы
Документация по MQL5: Программы MQL5 / Ресурсы
  • www.mql5.com
Ресурсы - Программы MQL5 - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
이론적으로 지표를 리소스를 통해 Expert Advisor에 연결하면 컴파일하는 동안 하나의 파일을 얻을 수 있으며 이를 마켓에 배치할 수 있습니다.
 
Aleksei Stepanenko # :
이론적으로 지표를 리소스를 통해 Expert Advisor에 연결하면 컴파일하는 동안 하나의 파일을 얻을 수 있으며 이를 마켓에 배치할 수 있습니다.

아아. Indicator는 Indicator이며, 리소스를 통해 연결될 때 Expert Advisor는 이를 참조만 합니다. 그들은 다르게 작동합니다. 리소스에 소리와 사진이 있어도 하나의 파일을 얻습니다...

 
Fast235 # :

아래에는 리소스로 표시기 연결이 있습니다.

https://www.mql5.com/ru/docs/runtime/resources

여러분, 저는 여기에 메시지가 거의 없지만 "공통된 진실"을 알고 있습니다.

그리고 문제는 Expert Advisor에 리소스로 연결하는 방법이 아니라 2개의 파일로 구성된 하나의 제품을 마켓에 업로드하는 방법입니다...

누구든지 그런 경험이 있습니까?

 
하나의 파일로 모든 것이 압축되고 모든 추가 표시기 - 모든 것이 하나의 파일(EA)에 포함됩니다. 다른 두 파일에 대해 이야기할 수 있습니까?
 
Fast235 # :
하나의 파일에 모든 것이 압축되어 있습니다.

아니요. 표시기는 전문가가 처리할 수 없는 이벤트를 처리할 수 있으며 그 반대의 경우도 마찬가지입니다. 따라서 하나의 파일이 작동하지 않습니다. 이들은 서로 다른 프로그램입니다.

예를 들어 표시기는 OnCalculate()와 함께 작동하고 OnTrade()와 함께 작동할 수 없습니다. 어떻게 이것이 하나의 exe에서 가능합니까? 가르치다!

Документация по MQL5: Программы MQL5 / Выполнение программ
Документация по MQL5: Программы MQL5 / Выполнение программ
  • www.mql5.com
Выполнение программ - Программы MQL5 - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Dmitriy VC # :

아니요. 표시기는 전문가가 처리할 수 없는 이벤트를 처리할 수 있으며 그 반대의 경우도 마찬가지입니다. 따라서 하나의 파일이 작동하지 않습니다. 서로 다른 프로그램입니다.

계속 이렇게 생각하시면 됩니다)

 
Документация по MQL5: Программы MQL5 / Выполнение программ
Документация по MQL5: Программы MQL5 / Выполнение программ
  • www.mql5.com
Выполнение программ - Программы MQL5 - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

지표는 다음과 같습니다.

 #property version    "1.00"
#property strict
#property indicator_chart_window

int OnInit ()
   {
   
   return ( INIT_SUCCEEDED );
   }

int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
   {
   printf ( "preved medved!" );
   return (rates_total);
   }

다음은 전문가입니다.

 #property version    "1.00"
#property strict
#resource "\\Indicators\\Res_Ind.ex4"

int OnInit ()
   {
   return ( INIT_SUCCEEDED );
   }

void OnDeinit ( const int reason)
   {
   
   }

void OnTick ()
   {
   double val= iCustom ( Symbol (), 0 , "::Indicators\\Res_Ind.ex4" , 0 , 0 );
   }

다음은 하나의 파일에 있는 모든 것입니다.

4개는 사실이지만 상위 5개에도 포함됩니다.
파일:
Res_Exp.ex4  12 kb
사유: