如何编码? - 页 280 1...273274275276277278279280281282283284285286287...347 新评论 CodeMeister 2011.11.22 03:47 #2791 当然,在真实账户中可能会出现在模拟或策略测试器中 没有显示的问题,但通常情况下,这些问题不会反复出现,也不常发生。我从未见过或听说过这个问题。 从你的解释中,我无法确定问题发生时有多少笔交易在进行。如果错误是在没有交易的情况下发生的,这就是一个谜。如果是在有5笔交易的情况下发生,这可能与问题有关。 ERR_TRADE_DISABLED 133 交易被禁用。必须停止所有交易的尝试。 这个错误的文件似乎表明,EA的交易方式出了问题。但是,由于两个EA都在使用相同的OrderSend()逻辑,我想这是否与你有两个EA在运行有关。通常情况下,任何争论问题都会导致 "交易背景繁忙"(146),任何账户问题都会导致 "资金不足"(134)错误。值得尝试的是,一次只运行一个EA,看看这是否会有不同。 michaelB 2011.11.22 05:21 #2792 Avasys 这可能听起来很傻,但你确实编译了EA,对吗? 编译后,在专家文件夹中应该有一个ex4文件。 Avasys 2011.11.22 07:43 #2793 michaelB: 这可能听起来很傻,但你确实编译了EA,对吗?编译后,在专家文件夹中应该有一个ex4文件。 这也是我需要知道的 我把mq4文件粘贴在专家文件夹中,但当我重新启动MT4时,它并没有在专家文件夹中创建ex4文件。 所以我需要检查 代码是否有错误。 [删除] 2011.11.22 11:26 #2794 如何改变 IndicatorShortName 的颜色 亲爱的先生们。 我如何在代码中为这一行添加我自己的颜色呢? IndicatorShortName(GetTimeFrameStr() + "MACD("+FastEma+", "+SlowEma+", "+SignalSMMA+")。 为了改变我在指标的独立窗口中左上角的小信息的颜色? 浦西奥 Avasys 2011.11.22 12:02 #2795 谁能告诉我这个代码有什么问题? 是否有任何错误,因为当我把mq4文件粘贴到专家文件夹时,它没有创建ex4文件 //+------------------------------------------------------------------+ //| simple EA.mq4 //| Copyright © 2011, luktom.biz |版权所有。 //|www.luktom.biz/en。 //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, luktom.biz.". #property link "http://www.luktom.biz" extern double stopLoss = 300.0; extern double takeProfit = 500.0; extern string Begin = "2: 00"; extern string End = "10: 00"; 外部的双倍距离 = 60; bool isECN = true; bool cond = false; bool cond2 = false; double low; double high; 外置双数lot = 0.1; int magic = 1232344524285020; int slippage = 1; string comment = ""; int ticket; int short = 0; long int = 0; //+------------------------------------------------------------------+ //|专家初始化函数 | //+------------------------------------------------------------------+ int init() { //---- //---- (0) 返回。 } //+------------------------------------------------------------------+ //|专家去初始化功能| //+------------------------------------------------------------------+ int deinit () { //---- 打印(countOrders(magic,OP_BUY))。 //---- (0)返回。 } //+------------------------------------------------------------------+ //|专家启动功能| //+------------------------------------------------------------------+ int start() { 打印 (AccountCurrency ())。 //---- 如果(isGoodTime (Begin, End)) { short = 0; long = 0。 if (! cond) { low = Bid; high = Ask; } cond = true; 如果 (Bid < low) low = Bid; 如果(Ask > high) high = Ask; } 如果((高-低)*1000>距离) { cond2 = true; } 如果(! isGoodTime (Begin, End)) { cond = false; } 如果(! isGoodTime (Begin, End) & & cond2) { 如果(countOrders (magic, OP_SELL) == 0) { 如果(Bid " = (CRL-0.0005) & & short == 0) { 空头 + +。 如果(isECN == false) { OrderSend (Symbol (), OP_SELL, lots, Bid, slippage, sltpValue (Ask + stopLoss * Point, stopLoss), sltpValue (Ask-takeProfit * Point, takeProfit), comment, magic) 。 } 如果(isECN) { ticket = OrderSend (Symbol (), OP_SELL, lots, Bid, slippage, 0,0, comment, magic); OrderSelect (ticket, SELECT_BY_TICKET); OrderModify (ticket, OrderOpenPrice (), sltpValue (Ask + stopLoss * Point, stopLoss), sltpValue (Bid-takeProfit * Point, takeProfit), 0); } } } 如果(countOrders (magic, OP_BUY) == 0) { 如果((Ask-high) > = 0.005 & & long = = 0) { long + +。 如果(isECN == false) { OrderSend (Symbol (), OP_BUY, lots, Ask, slippage, sltpValue (Ask-stopLoss * Point, stopLoss), sltpValue (Bid + takeProfit * Point, takeProfit), comment, magic) 。 } 如果(isECN) { ticket = OrderSend (Symbol (), OP_BUY, lots, Ask, slippage, 0,0, comment, magic); OrderSelect (ticket, SELECT_BY_TICKET); OrderModify (ticket, OrderOpenPrice (), sltpValue (Bid-stopLoss * Point, stopLoss), sltpValue (Ask + takeProfit * Point, takeProfit), 0) 。 } } } } //---- (0) 返回。 } //+------------------------------------------------------------------+ bool isGoodTime (string, string, Begin, End) { 如果(TimeCurrent () > Localtime (Begin) & & TimeCurrent < Localtime () (End)){ 返回(true)。 } 返回(false)。 } int countOrders (int, int oMagic oType) { int count = 0; for (int i = 0; i < OrdersTotal (); i ++) { 如果(OrderSelect(i,SELECT_BY_POS)) { 如果(OrderMagicNumber () == oMagic) { 如果(OrderSymbol () = the = Symbol () ) { 如果(OrderType () == oType || oType < 0) { count ++; } } } } } 返回(计数)。 } double sltpValue (double, int w1 w2) { 如果(w2 = = 0) 返回(0)。 返回(NormalizeDouble (w1, Digits))。 } How to code? 编码帮助 Simple system: Need very Kale 2011.11.22 12:15 #2796 Avasys: 谁能告诉我这段代码有什么问题?是否有任何错误,因为当我在专家文件夹中粘贴mq4文件时,它并没有创建ex4文件。 你能告诉我们你从哪里得到这个EA吗? 看起来这个EA是混乱的。例如,在第129行,你定义了函数 isGoodTime,我们看到。 bool isGoodTime (string, string, Begin, End) 它应该是。 bool isGoodTime (string Begin, string End) ea中有很多类似的错误。看起来代码不完整,或者被这样的代码修改所保护,这使得这个源码没有用。 gpociejewski 2011.11.22 13:00 #2797 Kalenzo: 你能告诉我们你从哪里得到这个EA吗?看起来Ea是杂乱无章的。例如,在第129行,你定义了函数isGoodTime,我们看到。 bool isGoodTime (string, string, Begin, End) 它应该是。 bool isGoodTime (string Begin, string End) 。 在EA里有很多这样的错误。看起来代码是不完整的,或者受到这样的代码修改的保护,这使得这个源头没有用。 [lang=pl]我是一个作者。我附上了Avasys的mq4文件。我没有修改代码中的函数 isGoodTime。在我的终端中,它是有效的。Avasys,你为什么这么紧张? 如果你有问题,请与我联系,而不是在论坛上谈论这个问题[/lang] 。 附加的文件: simple_ea_1.mq4 5 kb Avasys 2011.11.22 13:19 #2798 g.pociejewski:[lang=pl]我是一个作者。我附上了Avasys的mq4文件。我没有改变代码中的函数isGoodTime。在我的终端中,它是有效的。Avasys,你为什么这么紧张? 如果你有问题,请与我联系,而不是在论坛上谈论这个问题[/lang] 。 我不紧张,我在论坛上找不到你。 这个EA工作得很好,但每天又会做多笔交易。所以我担心的是要求EA每天只做一次交易。 [删除] 2011.11.22 21:07 #2799 CodeMeister: 当然,问题可能发生在真实账户中,而在模拟或策略测试器中没有显示出来,但通常它们不会重复出现,也不经常发生。我从未见过或听说过这个问题。从你的解释中,我无法确定问题发生时有多少个交易是开放的。如果错误是在没有交易的情况下发生的,这就是一个谜。如果是在有5笔交易的情况下发生,那可能与问题有关。 ERR_TRADE_DISABLED 133 交易被禁用。必须停止所有交易的尝试。 这个错误的文件似乎表明,EA的交易方式出了问题。但是,由于两个EA都在使用相同的OrderSend()逻辑,我想这是否与你有两个EA在运行有关。通常情况下,任何争论问题都会导致 "交易背景繁忙"(146),任何账户问题都会导致 "资金不足"(134)错误。值得尝试的是,一次只运行一个EA,看看这是否会有不同。 出现问题的EA一次只开一个交易。 当错误发生时,没有其他交易被打开。 我将尝试只运行一个EA,看看这是否有帮助。 谢谢你的建议。 [删除] 2011.11.23 02:52 #2800 如何阅读MT4标签 嗨,您好。 我修改了一个指标,我创建了一个带有数值的OBJ_LABEL对象,这样我的EA就可以接收OBJ_LABEL中的数值。 这些值是价格点,我不能在指标中创建另一个缓冲区来容纳它们,所以我只是把它们放在这些标签中。 这似乎是一个很好的解决方案,但是,我不知道如何在我的EA中读取MT4中的标签!? 我使用了GETOBJECT函数,但它只能返回某些属性,而标签或文本对象的文本值不在其中!!!谁能帮帮我? 谁能帮帮我? 谢谢! 1...273274275276277278279280281282283284285286287...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
当然,在真实账户中可能会出现在模拟或策略测试器中 没有显示的问题,但通常情况下,这些问题不会反复出现,也不常发生。我从未见过或听说过这个问题。
从你的解释中,我无法确定问题发生时有多少笔交易在进行。如果错误是在没有交易的情况下发生的,这就是一个谜。如果是在有5笔交易的情况下发生,这可能与问题有关。
ERR_TRADE_DISABLED 133 交易被禁用。必须停止所有交易的尝试。
这个错误的文件似乎表明,EA的交易方式出了问题。但是,由于两个EA都在使用相同的OrderSend()逻辑,我想这是否与你有两个EA在运行有关。通常情况下,任何争论问题都会导致 "交易背景繁忙"(146),任何账户问题都会导致 "资金不足"(134)错误。值得尝试的是,一次只运行一个EA,看看这是否会有不同。
Avasys
这可能听起来很傻,但你确实编译了EA,对吗?
编译后,在专家文件夹中应该有一个ex4文件。
这可能听起来很傻,但你确实编译了EA,对吗?编译后,在专家文件夹中应该有一个ex4文件。
这也是我需要知道的
我把mq4文件粘贴在专家文件夹中,但当我重新启动MT4时,它并没有在专家文件夹中创建ex4文件。
所以我需要检查 代码是否有错误。
如何改变 IndicatorShortName 的颜色
亲爱的先生们。
我如何在代码中为这一行添加我自己的颜色呢?
IndicatorShortName(GetTimeFrameStr() + "MACD("+FastEma+", "+SlowEma+", "+SignalSMMA+")。
为了改变我在指标的独立窗口中左上角的小信息的颜色?
浦西奥
谁能告诉我这个代码有什么问题?
是否有任何错误,因为当我把mq4文件粘贴到专家文件夹时,它没有创建ex4文件
//+------------------------------------------------------------------+
//| simple EA.mq4
//| Copyright © 2011, luktom.biz |版权所有。
//|www.luktom.biz/en。
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, luktom.biz.".
#property link "http://www.luktom.biz"
extern double stopLoss = 300.0;
extern double takeProfit = 500.0;
extern string Begin = "2: 00";
extern string End = "10: 00";
外部的双倍距离 = 60;
bool isECN = true;
bool cond = false;
bool cond2 = false;
double low;
double high;
外置双数lot = 0.1;
int magic = 1232344524285020;
int slippage = 1;
string comment = "";
int ticket;
int short = 0;
long int = 0;
//+------------------------------------------------------------------+
//|专家初始化函数 |
//+------------------------------------------------------------------+
int init()
{
//----
//----
(0) 返回。
}
//+------------------------------------------------------------------+
//|专家去初始化功能|
//+------------------------------------------------------------------+
int deinit ()
{
//----
打印(countOrders(magic,OP_BUY))。
//----
(0)返回。
}
//+------------------------------------------------------------------+
//|专家启动功能|
//+------------------------------------------------------------------+
int start()
{
打印 (AccountCurrency ())。
//----
如果(isGoodTime (Begin, End))
{
short = 0;
long = 0。
if (! cond)
{
low = Bid;
high = Ask;
}
cond = true;
如果 (Bid < low) low = Bid;
如果(Ask > high) high = Ask;
}
如果((高-低)*1000>距离)
{
cond2 = true;
}
如果(! isGoodTime (Begin, End))
{
cond = false;
}
如果(! isGoodTime (Begin, End) & & cond2)
{
如果(countOrders (magic, OP_SELL) == 0)
{
如果(Bid " = (CRL-0.0005) & & short == 0)
{
空头 + +。
如果(isECN == false)
{
OrderSend (Symbol (), OP_SELL, lots, Bid, slippage, sltpValue (Ask + stopLoss * Point, stopLoss), sltpValue (Ask-takeProfit * Point, takeProfit), comment, magic) 。
}
如果(isECN)
{
ticket = OrderSend (Symbol (), OP_SELL, lots, Bid, slippage, 0,0, comment, magic);
OrderSelect (ticket, SELECT_BY_TICKET);
OrderModify (ticket, OrderOpenPrice (), sltpValue (Ask + stopLoss * Point, stopLoss), sltpValue (Bid-takeProfit * Point, takeProfit), 0);
}
}
}
如果(countOrders (magic, OP_BUY) == 0)
{
如果((Ask-high) > = 0.005 & & long = = 0)
{
long + +。
如果(isECN == false)
{
OrderSend (Symbol (), OP_BUY, lots, Ask, slippage, sltpValue (Ask-stopLoss * Point, stopLoss), sltpValue (Bid + takeProfit * Point, takeProfit), comment, magic) 。
}
如果(isECN)
{
ticket = OrderSend (Symbol (), OP_BUY, lots, Ask, slippage, 0,0, comment, magic);
OrderSelect (ticket, SELECT_BY_TICKET);
OrderModify (ticket, OrderOpenPrice (), sltpValue (Bid-stopLoss * Point, stopLoss), sltpValue (Ask + takeProfit * Point, takeProfit), 0) 。
}
}
}
}
//----
(0) 返回。
}
//+------------------------------------------------------------------+
bool isGoodTime (string, string, Begin, End) {
如果(TimeCurrent () > Localtime (Begin) & & TimeCurrent < Localtime () (End)){
返回(true)。
}
返回(false)。
}
int countOrders (int, int oMagic oType) {
int count = 0;
for (int i = 0; i < OrdersTotal (); i ++) {
如果(OrderSelect(i,SELECT_BY_POS)) {
如果(OrderMagicNumber () == oMagic) {
如果(OrderSymbol () = the = Symbol () ) {
如果(OrderType () == oType || oType < 0) {
count ++;
}
}
}
}
}
返回(计数)。
}
double sltpValue (double, int w1 w2)
{
如果(w2 = = 0)
返回(0)。
返回(NormalizeDouble (w1, Digits))。
}
谁能告诉我这段代码有什么问题?
是否有任何错误,因为当我在专家文件夹中粘贴mq4文件时,它并没有创建ex4文件。
你能告诉我们你从哪里得到这个EA吗?
看起来这个EA是混乱的。例如,在第129行,你定义了函数 isGoodTime,我们看到。
bool isGoodTime (string, string, Begin, End)
它应该是。
bool isGoodTime (string Begin, string End)
ea中有很多类似的错误。看起来代码不完整,或者被这样的代码修改所保护,这使得这个源码没有用。
你能告诉我们你从哪里得到这个EA吗?
看起来Ea是杂乱无章的。例如,在第129行,你定义了函数isGoodTime,我们看到。
bool isGoodTime (string, string, Begin, End)
它应该是。
bool isGoodTime (string Begin, string End) 。
在EA里有很多这样的错误。看起来代码是不完整的,或者受到这样的代码修改的保护,这使得这个源头没有用。[lang=pl]我是一个作者。我附上了Avasys的mq4文件。我没有修改代码中的函数 isGoodTime。在我的终端中,它是有效的。Avasys,你为什么这么紧张?
如果你有问题,请与我联系,而不是在论坛上谈论这个问题[/lang] 。
[lang=pl]我是一个作者。我附上了Avasys的mq4文件。我没有改变代码中的函数isGoodTime。在我的终端中,它是有效的。Avasys,你为什么这么紧张? 如果你有问题,请与我联系,而不是在论坛上谈论这个问题[/lang] 。
我不紧张,我在论坛上找不到你。
这个EA工作得很好,但每天又会做多笔交易。所以我担心的是要求EA每天只做一次交易。
当然,问题可能发生在真实账户中,而在模拟或策略测试器中没有显示出来,但通常它们不会重复出现,也不经常发生。我从未见过或听说过这个问题。
从你的解释中,我无法确定问题发生时有多少个交易是开放的。如果错误是在没有交易的情况下发生的,这就是一个谜。如果是在有5笔交易的情况下发生,那可能与问题有关。
ERR_TRADE_DISABLED 133 交易被禁用。必须停止所有交易的尝试。
这个错误的文件似乎表明,EA的交易方式出了问题。但是,由于两个EA都在使用相同的OrderSend()逻辑,我想这是否与你有两个EA在运行有关。通常情况下,任何争论问题都会导致 "交易背景繁忙"(146),任何账户问题都会导致 "资金不足"(134)错误。值得尝试的是,一次只运行一个EA,看看这是否会有不同。出现问题的EA一次只开一个交易。 当错误发生时,没有其他交易被打开。 我将尝试只运行一个EA,看看这是否有帮助。 谢谢你的建议。
如何阅读MT4标签
嗨,您好。
我修改了一个指标,我创建了一个带有数值的OBJ_LABEL对象,这样我的EA就可以接收OBJ_LABEL中的数值。 这些值是价格点,我不能在指标中创建另一个缓冲区来容纳它们,所以我只是把它们放在这些标签中。 这似乎是一个很好的解决方案,但是,我不知道如何在我的EA中读取MT4中的标签!? 我使用了GETOBJECT函数,但它只能返回某些属性,而标签或文本对象的文本值不在其中!!!谁能帮帮我?
谁能帮帮我?
谢谢!