본문 바로가기
트레이딩/메타트레이더 코딩

메타트레이더 . 코딩 . function pointer . 콜백 함수

by i.got.it 2019. 5. 13.

 

 

메타트레이더의 함수 포인터, 콜백 

- C 에서의 함수 포인터, 콜백 개념 / 문법 과  동일. 

 

 

 

typedef int (*TFunc)(int,int);

TFunc func_ptr;

int sub(int x,int y) { return(x-y); }
int add(int x,int y) { return(x+y); }
int neg(int x)       { return(~x);  }

func_ptr=sub;
Print(func_ptr(10,5));

func_ptr=add;
Print(func_ptr(10,5));

func_ptr=neg;           // error: neg is not of  int (int,int) type
Print(func_ptr(10));    // error: there should be two parameters

 

 

 

 

 

함수포인터 지원된건  MetaTrader 5 build 1325 (2016년)이후 부터이므로 2016년 이후 배포된 MQL5 에서도 당연 사용가능. 메타트레이더 4 의 MQL4  에서도 지원됨. 

 

 

 

 

한편, 함수포인터는 MQL5 에서 함수 인자로 전달하여 콜백 용도로 사용가능하나, DLL 함수 import 하여 DLL 에서 제공하는 함수인자로 함수 포인터 전달 불가함. 

https://www.mql5.com/en/forum/37632

 

how to declare and call a function with callback function pointer as parameter imported from dll?

for example: here is a dll named tclient.dll, which include a function below: any thoughts? thanks a lot...

www.mql5.com

 

 

 

활용예

2개의 클래스 A(예 CCyFinDevice), B(예 CCyFinOnNewBar) 가 있고, A에서 B 인스턴스 만들어 사용중이고, B에게 A측의 콜백함수를 전달 하는 방법.

 

 

메타트레이더 . 코딩 . 클래스 non-static 멤버함수를 콜백함수로 전달하기

개요 상황 : 2개의 클래스 A(예 CCyFinDevice), B(예 CCyFinOnNewBar) 가 있고, A에서 B 인스턴스 만들어 사용중이고, B에게 A측의 콜백함수를 전달해야함. 문제점 클래스의 멤버함수는 콜백으로 전달 불가하

igotit.tistory.com

 

 

 

 

 

연관

 

 

 

 

 

함수포인터, 콜백(Callback)

함수포인터 1. int Function(int a) {... } ; 로 정의된 함수가 있다치자. 2. 위 1의 함수의 포인터(함수이름이 포인터임)를 받을 수 있는 함수포인터 변수 pFunc 선언하고 1의 함수포인터를 대입하는 방법 i

igotit.tistory.com

 

 

 

 

메타트레이더 4. 체계정리. 활용법/지식.

MetaTrader 4 메타트레이더 4 활용정보 체계정리. - 글로벌 트레이딩 소프트웨어. - 지속 발전 가능한 안정된 시스템. - 직접 코딩 가능한 MQL4 언어. C 언어 유사 - - MQL4 에서도 클래스 사용가능하므로

igotit.tistory.com

 

 

 

메타트레이더 5. 체계정리. 활용법/지식

MetaTrader 5 메타트레이더 5 , 메타에디터, MQL5 활용정보 체계정리. 본 글에서 주요 정리대상 정보 1. 메타트레이더 5 사용법. 2. MQL5 언어 기반 "직접 코딩"하여 메타프레이더5에서 자동매매 달성하기

igotit.tistory.com

 


첫 등록 : 2019.05.13

최종 수정 : 2023.03.20

단축 주소 : https://igotit.tistory.com/2162


 

'트레이딩 > 메타트레이더 코딩' 카테고리의 다른 글

MQL5. Arrays. 배열  (0) 2019.05.17
MQL5. struct. 구조체, DLL 함수인자에 구조체 전달 방법  (0) 2019.05.16
MQL5. EventChartCustom  (0) 2019.05.11
MQL5. Custom Indicator  (3) 2019.05.10
MQL5. 소켓통신  (0) 2019.05.09

댓글



 

비트코인




암호화폐       외환/나스닥/골드         암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)         프랍 트레이더 온라인 지원가능. MT4,MT5