Из-за различий в расчетах технических индикаторов между моей платформой тестирования и MT4 я решил попробовать перенести API-интерфейс TA-LIB с открытым исходным кодом в MetaTrader с помощью библиотеки пользовательских индикаторов, совместимой с MetaTrader.
Я знаю, что для того, чтобы сделать функции доступными для MetaTrader, я могу просто создать файл экспорта и затем использовать объявление #import в коде MT4, но я изо всех сил пытаюсь понять, как бы я использовал это для написания пользовательского индикатора в C, а затем, как получить доступ к нему. это через МТ4.
Я знаю, что это можно сделать, но я не могу найти никаких примеров в Интернете.
У кого-нибудь есть ссылки или пример шаблона индикатора, написанного на C, C ++?
Я полагаю, что вы сделаете DLL, а затем вызовете ее из индикатора или советника.
Выполните поиск в Google по созданию DLL и / или перейдите к http://www.mql4.com.
Существует также группа Yahoo для экспертов и индикаторов Metatrader, в которой много людей, которые могут дать вам лучший ответ.
Загляни в свою папку MetaTrader\experts\samples\DLLSample\
Будут исходные файлы:
StdAfx.h
ExpertSample.dsp
ExpertSample.dsw
ExpertSample.def
ExpertSample.cpp
Есть шаблон для вашей DLL. Используй это.
Не забудьте сделать правильный импорт из DLL в вашем MetaTrader.
// Setup the standard call specification keyword for the compiler.
#define MQL_EXPORT __declspec(dllexport)
#define WINAPI __stdcall
MQL_EXPORT void WINAPI aCallToSimpleExternalCustomIndicatorCODE(){
return;
}
//
#include <aSimpleExternalCustomIndicatorCODE_HEADER.h> // should you deploy .h declarations
//
#import "aSimpleExternalCustomIndicatorCODE.dll" // #import-<start>
void aCallToSimpleExternalCustomIndicatorCODE(); // <fun> interface declaration
#import // #import-<end>
//
int start(){ // MT4.anEventFACTORY -> launched per each aNewQuoteArrivalEVENT
aCallToSimpleExternalCustomIndicatorCODE(); // example of a simple external code
return( 0 );
}