程序库: MT4Orders - 页 4 1234567891011...95 新评论 Stanislav Korotky 2016.11.03 14:04 #31 通过缓存计数器,可以很容易地加速 OrdersHistoryTotal 本身的运行。 Aleksey Vyazmikin 2016.11.03 18:17 #32 我正试图连接它,但它不起作用!我有一个单独的类来处理订单,所以我在 EA 代码的开头做了改动,结果我的类出现了 100 个错误,我是不是运行错了?#property strict#include <cPoza13-1.mqh>#include <MT4Orders.mqh>#include <MQL4_to_MQL5.mqh> fxsaber 2016.11.04 11:12 #33 -Aleks-:我正试图连接它,但它不起作用!我有一个单独的类来处理订单,所以我在 EA 代码的开头做了改动,结果我的类出现了 100 个错误,我是不是运行错了?#property strict#include <cPoza13-1.mqh>#include <MT4Orders.mqh>#include <MQL4_to_MQL5.mqh> MT4Orders 只影响下面的代码(#include 之后)。因此,请将您的类放在库之后,而不是之前。 --- 2016.11.04 11:29 #34 fxsaber: MT4Orders 只影响下面的代码(在 #include 之后)。因此,请不要将您的类放在库之前,而是放在库之后。1. 在没有心灵感应协会帮助的情况下,您首先需要查看他有哪些错误。2. 如果cPoza13-1 使用 MT4Orders 和 MQL4_to_MQL5,为什么它们不包含在cPoza13-1 文件中?以及外部某处......奇怪的编码方法 Maxim Dmitrievsky 2016.11.04 11:32 #35 我决定试一试,因为我正在 mt5 上重写机器人,需要快速测试一下:)。您说它适用于对冲账户,这可以理解。非交易账户的情况如何?考虑到我的策略将只使用一个未结头寸,其他一切都能正常工作吗? fxsaber 2016.11.04 11:38 #36 o_O:如果cPoza13-1 使用 MT4Orders 和 MQL4_to_MQL5,为什么它们不包含在cPoza13-1 文件中?还有......奇怪的编码方法方法很明确。cPoza 是一个纯粹的 MQL4 库。这就是它没有被修正的原因。例如,我用这种方法将另一个 MT4 智能交易系统(另类 转换)转换为跨平台代码#include <MT4Orders.mqh> //https://www.mql5.com/zh/code/16006#include <MQL4_to_MQL5.mqh> //https://www.mql5.com/zh/code/16006#ifdef __MQL5__ #define MODE_MINLOT SYMBOL_VOLUME_MIN double MarketInfo( const string Symb, const ENUM_SYMBOL_INFO_DOUBLE Type ) { return(SymbolInfoDouble(Symb, Type)); } void OnTick() { start(); } #endif#include "OpenTiks.mq4" //https://www.mql5.com/zh/code/8578 也就是说,我的转换方法是不干扰原始文件。 MetaEditor build 1463 MetaEditor build 1463 错误、漏洞、问题 fxsaber 2016.11.04 11:38 #37 Maxim Dmitrievsky: 我决定试一试,因为我正在 mt5 上重写机器人,需要快速测试一下:)。您说它适用于对冲账户,这可以理解。非交易账户的情况如何?考虑到我的策略只使用一个未结头寸,其他一切都能正常工作吗? 可以!我通过 MT4Orders 在证券交易所做所有事情。我不限制开仓数量。 fxsaber 2016.11.04 11:44 #38 Stanislav Korotky: OrdersHistoryTotal 本身可以很容易地通过缓存计数器来加速。当然,这是可能的。还没看到有必要。-Aleks-: 我使用的是历史分析,我的 MM 交易涉及到平仓和开仓的 情况,并使用开始时的财务结果来考虑风险。在这种情况下,我们可以想象趋势的确定--完成趋势的工作是以不同的方式进行的--开仓和平仓,但重要的是要知道你可以冒多大的风险,因为趋势运行的时间越长,完成趋势的可能性就越大--因此开仓订单和退出点的数量是不同的。 显然,应该这样做。 fxsaber 2016.11.04 11:51 #39 将 MT4-advisor(替代 转换)转换为跨平台版本的另一个示例#include <MT4Orders.mqh> //https://www.mql5.com/zh/code/16006#include <MQL4_to_MQL5.mqh> //https://www.mql5.com/zh/code/16006#ifdef __MQL5__ double AccountBalance( void ) { return(AccountInfoDouble(ACCOUNT_BALANCE)); } int TimeHour( const datetime Date ) { MqlDateTime Tmp; TimeToStruct(Date, Tmp); return(Tmp.hour); } void OnTick() { start(); } #endif#include "20_200_expert_v4_2_AntS.mq4" //https://www.mql5.com/zh/code/7891 原文来源附后。 附加的文件: 20_200_expert_v4_2_AntS.mq4 50 kb 初学者的问题 MQL5 MT5 MetaTrader Questions from Beginners MQL5 MetaEditor build 1463 Aleksey Vyazmikin 2016.11.04 14:14 #40 fxsaber: MT4Orders 只影响下面的代码(在 #include 之后)。因此,请将您的类放在库之后,而不是之前。明白了--谢谢--错误几乎没有了,但还有一个:OrderCloseBy' -函数 未定义 cPoza13-1.mqh 1885 8 //+------------------------------------------------------------------------------------------------------------------------------------+//| Возвращает TRUE, если один ордер закрылся другим//+------------------------------------------------------------------------------------------------------------------------------------+ bool cPoza::closeBy(int ticketB, int ticketA){ if(ticketB > 0 && ticketA > 0) { if(OrderCloseBy(ticketB, ticketA)) return true; else Print("Magic=", mMagic, " ",__FUNCTION__, " Встречное закрытие не вышло ticketB=", ticketB, " ticketA=", ticketA, " вызвало ошибку-", _LastError); } else return false; return false;} 求助,我的EA只卖不买,请高手帮我看看哪里出了错? [存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. 示例: 使用 MetaTrader 4客户端初学者的常见错误 1234567891011...95 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我正试图连接它,但它不起作用!
我有一个单独的类来处理订单,所以我在 EA 代码的开头做了改动,结果我的类出现了 100 个错误,我是不是运行错了?
#property strict
#include <cPoza13-1.mqh>
#include <MT4Orders.mqh>
#include <MQL4_to_MQL5.mqh>
我正试图连接它,但它不起作用!
我有一个单独的类来处理订单,所以我在 EA 代码的开头做了改动,结果我的类出现了 100 个错误,我是不是运行错了?
#property strict
#include <cPoza13-1.mqh>
#include <MT4Orders.mqh>
#include <MQL4_to_MQL5.mqh>
MT4Orders 只影响下面的代码(在 #include 之后)。因此,请不要将您的类放在库之前,而是放在库之后。
1. 在没有心灵感应协会帮助的情况下,您首先需要查看他有哪些错误。
2. 如果cPoza13-1 使用 MT4Orders 和 MQL4_to_MQL5,为什么它们不包含在cPoza13-1 文件中?以及外部某处......奇怪的编码方法
如果cPoza13-1 使用 MT4Orders 和 MQL4_to_MQL5,为什么它们不包含在cPoza13-1 文件中?还有......奇怪的编码方法
方法很明确。cPoza 是一个纯粹的 MQL4 库。这就是它没有被修正的原因。
例如,我用这种方法将另一个 MT4 智能交易系统(另类 转换)转换为跨平台代码
#include <MQL4_to_MQL5.mqh> //https://www.mql5.com/zh/code/16006
#ifdef __MQL5__
#define MODE_MINLOT SYMBOL_VOLUME_MIN
double MarketInfo( const string Symb, const ENUM_SYMBOL_INFO_DOUBLE Type )
{
return(SymbolInfoDouble(Symb, Type));
}
void OnTick()
{
start();
}
#endif
#include "OpenTiks.mq4" //https://www.mql5.com/zh/code/8578
我决定试一试,因为我正在 mt5 上重写机器人,需要快速测试一下:)。您说它适用于对冲账户,这可以理解。非交易账户的情况如何?考虑到我的策略只使用一个未结头寸,其他一切都能正常工作吗?
OrdersHistoryTotal 本身可以很容易地通过缓存计数器来加速。
当然,这是可能的。还没看到有必要。
我使用的是历史分析,我的 MM 交易涉及到平仓和开仓的 情况,并使用开始时的财务结果来考虑风险。
在这种情况下,我们可以想象趋势的确定--完成趋势的工作是以不同的方式进行的--开仓和平仓,但重要的是要知道你可以冒多大的风险,因为趋势运行的时间越长,完成趋势的可能性就越大--因此开仓订单和退出点的数量是不同的。
#include <MQL4_to_MQL5.mqh> //https://www.mql5.com/zh/code/16006
#ifdef __MQL5__
double AccountBalance( void )
{
return(AccountInfoDouble(ACCOUNT_BALANCE));
}
int TimeHour( const datetime Date )
{
MqlDateTime Tmp;
TimeToStruct(Date, Tmp);
return(Tmp.hour);
}
void OnTick()
{
start();
}
#endif
#include "20_200_expert_v4_2_AntS.mq4" //https://www.mql5.com/zh/code/7891
MT4Orders 只影响下面的代码(在 #include 之后)。因此,请将您的类放在库之后,而不是之前。
明白了--谢谢--错误几乎没有了,但还有一个:
OrderCloseBy' -函数 未定义 cPoza13-1.mqh 1885 8
//+------------------------------------------------------------------------------------------------------------------------------------+
//| Возвращает TRUE, если один ордер закрылся другим
//+------------------------------------------------------------------------------------------------------------------------------------+
bool cPoza::closeBy(int ticketB, int ticketA)
{
if(ticketB > 0 && ticketA > 0)
{
if(OrderCloseBy(ticketB, ticketA)) return true;
else Print("Magic=", mMagic, " ",__FUNCTION__, " Встречное закрытие не вышло ticketB=", ticketB, " ticketA=", ticketA, " вызвало ошибку-", _LastError);
}
else return false;
return false;
}