gpt4 book ai didi

c# - 无法使用 Visual Studio 2015、MetaTrader Terminal 4 运行带有 [ nquotes ] 的简单智能交易系统

转载 作者:行者123 更新时间:2023-11-30 17:35:59 26 4
gpt4 key购买 nike

无法运行简单的智能交易系统。 Wnd.dll - 来自“bin”文件夹的文件,使用 VS2015 创建。

Wnd.dll 文件位于正确的“MQL4\Libraries\”文件夹中。
所以我尝试运行这个Advisor 处于实时模式,但什么也没发生。请帮助我做错了什么。

#property copyright "(c) 2012-2015 Brainroom Ltd."
#property link "http://www.nquotes.net"

#import "nquotes/nquoteslib.ex4"
int nquotes_setup( string className, string assemblyName );
int nquotes_init();
int nquotes_start();
int nquotes_deinit();
double nquotes_on_tester();
int nquotes_on_timer();
int nquotes_on_chart_event( int id, long lparam, double dparam, string sparam );

int nquotes_set_property_bool( string name, bool value );
int nquotes_set_property_int( string name, int value );
int nquotes_set_property_double( string name, double value );
int nquotes_set_property_datetime( string name, datetime value );
int nquotes_set_property_color( string name, color value );
int nquotes_set_property_string( string name, string value );
int nquotes_set_property_adouble( string name, double &value[], int count = WHOLE_ARRAY, int start = 0 );

bool nquotes_get_property_bool( string name );
int nquotes_get_property_int( string name );
double nquotes_get_property_double( string name );
datetime nquotes_get_property_datetime( string name );
color nquotes_get_property_color( string name );
string nquotes_get_property_string( string name );
int nquotes_get_property_array_size( string name );
int nquotes_get_property_adouble( string name, double &value[] );
#import

int init()
{
nquotes_setup( "Wnd.Wnd", "Wnd" ); // !!!!changed only this line (NULL, NULL) ->("Wnd.Wnd", "Wnd")
return ( nquotes_init() );
}

int start()
{
return ( nquotes_start() );
}

int deinit()
{
return ( nquotes_deinit() );
}

double OnTester()
{
return ( nquotes_on_tester() );
}

void OnTimer()
{
nquotes_on_timer();
}

void OnChartEvent( const int id, const long& lparam, const double& dparam, const string& sparam )
{
nquotes_on_chart_event( id, lparam, dparam, sparam );
}

C# 代码如下所示:

using NQuotes;
namespace Wnd
{
public class Wnd : MqlApi
{

public bool formCreated = false;
public override int start()
{
if (formCreated == false)
{
Form form = new Form();
form.Show();
formCreated = true;

Alert("Hello!");
}
return 0;
}
}
}

[更新]

Expert Wnd EURUSD,M15: removed EURUSD,M15: 50 tick events (3503 bars, 89656 bar states) processed (total time 0:00:05.390)
Wnd EURUSD,M15: EA.deinit() nquotes_deinit()-> [0]
Wnd OnTester returns 0.00000000000000
Wnd EURUSD,M15: EA.OnTester() nquotes_on_tester()-> [ 0.0000000000]
Tester: stop button pressed
Wnd EURUSD,M15: EA.start() nquotes_start()-> [0]
Wnd EURUSD,M15: Alert: Hello!
Wnd EURUSD,M15: EA.init() nquotes_init()-> [0]
Wnd EURUSD,M15: EA.init() nquotes_setup()-> [0]
Wnd test started

最佳答案

Welcome to the Wild Worlds of MQL4!

Q: What am I doing wrong?
A: Zero debugging effort was shown so far.


如果遇到麻烦,首先检查并发布库/组件的版本,支持人员从 .EX4 的商业供应商处收到的所有响应并挤压在您自己的调试工作中限制已发布的 API 接口(interface)协议(protocol),以隔离位置 "Gdě Sabáka Zarýta":

/*
- MISSING .MQ4 VERSION NUMBER ( Build 982+ New-MQL4 )
- MISSING .EX4 VERSION NUMBER ( "nquotes/nquoteslib.ex4" )
- MISSING .DLL VERSION NUMBER
+ ALWAYS PUBLISH ALL THE COMPILER-MODE DIRECTIVES
#property strict // ?!
AND ALL OTHER IMPORTANT DEFINITIONS OF THE .MQ4-FILE
====================================================================================
THESE ARE MORE IMPORTANT FOR DEBUGGING, THAN THE COMMERCIAL/COPY-{LEFT|RIGHT} REMARX
*/
int init(){
int aRetCODE = nquotes_setup( "Wnd.Wnd", "Wnd" ); // !!!!changed only this line (NULL, NULL) ->("Wnd.Wnd", "Wnd")
PrintFormat( "EA.init() nquotes_setup()-> [%d]",
aRetCODE
);
aRetCODE = nquotes_init();
PrintFormat( "EA.init() nquotes_init()-> [%d]",
aRetCODE
);
return ( aRetCODE ); // return( nquotes_init() )
}

int start(){
int aRetCODE = nquotes_start();
PrintFormat( "EA.start() nquotes_start()-> [%d]",
aRetCODE
);
return ( aRetCODE ); // return ( nquotes_start() );
}

int deinit(){
int aRetCODE = nquotes_deinit();
PrintFormat( "EA.deinit() nquotes_deinit()-> [%d]",
aRetCODE
);
return ( aRetCODE ); // return ( nquotes_deinit() );
}

double OnTester(){
int aRetCODE = nquotes_on_tester();
PrintFormat( "EA.OnTester() nquotes_on_tester()-> [%23.10f]",
aRetCODE
);
return ( aRetCODE ); // return ( nquotes_on_tester() );
}

void OnTimer(){
int aRetCODE = nquotes_on_timer();
PrintFormat( "EA.OnTimer() nquotes_on_timer()-> [%d]",
aRetCODE
);
// nquotes_on_timer();
}

void OnChartEvent( int id,
long &lparam,
double &dparam,
string &sparam
){
int aRetCODE = nquotes_on_chart_event();
PrintFormat( "EA.OnChartEvent() nquotes_on_chart_event()-> [%d]",
aRetCODE
);
// nquotes_on_chart_event( id, lparam, dparam, sparam );
}

依赖于 .EX4 文件中已发布的 API/#import:

#import     "nquotes/nquoteslib.ex4"
int nquotes_setup( string className, string assemblyName );
int nquotes_init();
int nquotes_start();
int nquotes_deinit();
double nquotes_on_tester();
int nquotes_on_timer();
int nquotes_on_chart_event( int id, long lparam, double dparam, string sparam );

int nquotes_set_property_bool( string name, bool value );
int nquotes_set_property_int( string name, int value );
int nquotes_set_property_double( string name, double value );
int nquotes_set_property_datetime( string name, datetime value );
int nquotes_set_property_color( string name, color value );
int nquotes_set_property_string( string name, string value );
int nquotes_set_property_adouble( string name, double &value[], int count = WHOLE_ARRAY, int start = 0 );

bool nquotes_get_property_bool( string name );
int nquotes_get_property_int( string name );
double nquotes_get_property_double( string name );
datetime nquotes_get_property_datetime( string name );
color nquotes_get_property_color( string name );
string nquotes_get_property_string( string name );
int nquotes_get_property_array_size( string name );
int nquotes_get_property_adouble( string name, double &value[] );
#import

关于c# - 无法使用 Visual Studio 2015、MetaTrader Terminal 4 运行带有 [ nquotes ] 的简单智能交易系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40476587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com