如何编码? - 页 280

 

当然,在真实账户中可能会出现在模拟或策略测试器中 没有显示的问题,但通常情况下,这些问题不会反复出现,也不常发生。我从未见过或听说过这个问题。

从你的解释中,我无法确定问题发生时有多少笔交易在进行。如果错误是在没有交易的情况下发生的,这就是一个谜。如果是在有5笔交易的情况下发生,这可能与问题有关。

ERR_TRADE_DISABLED 133 交易被禁用。必须停止所有交易的尝试。

这个错误的文件似乎表明,EA的交易方式出了问题。但是,由于两个EA都在使用相同的OrderSend()逻辑,我想这是否与你有两个EA在运行有关。通常情况下,任何争论问题都会导致 "交易背景繁忙"(146),任何账户问题都会导致 "资金不足"(134)错误。值得尝试的是,一次只运行一个EA,看看这是否会有不同。

 

Avasys

这可能听起来很傻,但你确实编译了EA,对吗?

编译后,在专家文件夹中应该有一个ex4文件。

 
michaelB:
这可能听起来很傻,但你确实编译了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))。

}

 
Avasys:
谁能告诉我这段代码有什么问题?

是否有任何错误,因为当我在专家文件夹中粘贴mq4文件时,它并没有创建ex4文件。

你能告诉我们你从哪里得到这个EA吗?

看起来这个EA是混乱的。例如,在第129行,你定义了函数 isGoodTime,我们看到。

bool isGoodTime (string, string, Begin, End)

它应该是。

bool isGoodTime (string Begin, string End)

ea中有很多类似的错误。看起来代码不完整,或者被这样的代码修改所保护,这使得这个源码没有用。

 
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] 。

附加的文件:
 
g.pociejewski:
[lang=pl]我是一个作者。我附上了Avasys的mq4文件。我没有改变代码中的函数isGoodTime。在我的终端中,它是有效的。Avasys,你为什么这么紧张? 如果你有问题,请与我联系,而不是在论坛上谈论这个问题[/lang] 。

我不紧张,我在论坛上找不到你。

这个EA工作得很好,但每天又会做多笔交易。所以我担心的是要求EA每天只做一次交易。

 
CodeMeister:
当然,问题可能发生在真实账户中,而在模拟或策略测试器中没有显示出来,但通常它们不会重复出现,也不经常发生。我从未见过或听说过这个问题。

从你的解释中,我无法确定问题发生时有多少个交易是开放的。如果错误是在没有交易的情况下发生的,这就是一个谜。如果是在有5笔交易的情况下发生,那可能与问题有关。

ERR_TRADE_DISABLED 133 交易被禁用。必须停止所有交易的尝试。

这个错误的文件似乎表明,EA的交易方式出了问题。但是,由于两个EA都在使用相同的OrderSend()逻辑,我想这是否与你有两个EA在运行有关。通常情况下,任何争论问题都会导致 "交易背景繁忙"(146),任何账户问题都会导致 "资金不足"(134)错误。值得尝试的是,一次只运行一个EA,看看这是否会有不同。

出现问题的EA一次只开一个交易。 当错误发生时,没有其他交易被打开。 我将尝试只运行一个EA,看看这是否有帮助。 谢谢你的建议。

 

如何阅读MT4标签

嗨,您好。

我修改了一个指标,我创建了一个带有数值的OBJ_LABEL对象,这样我的EA就可以接收OBJ_LABEL中的数值。 这些值是价格点,我不能在指标中创建另一个缓冲区来容纳它们,所以我只是把它们放在这些标签中。 这似乎是一个很好的解决方案,但是,我不知道如何在我的EA中读取MT4中的标签!? 我使用了GETOBJECT函数,但它只能返回某些属性,而标签或文本对象的文本值不在其中!!!谁能帮帮我?

谁能帮帮我?

谢谢!

原因: