问吧! - 页 171

 

你好。

我',试图做一个EA,但在代码上有一些问题。该EA似乎可以工作,但有一个错误。

"OrderDelete函数 的无效票"

如何解决这个问题?

这里是代码的一部分。

{

int OrderCnt;

for(OrderCnt=0;OrderCnt<total;OrderCnt++)

if(Bid>iBuyPrice){closing = true; OrderDelete(OrderTicket()); return(0);}

if(Ask<iSellPrice){closing = true; OrderDelete(OrderTicket()); return(0);}

{

OrderSelect(OrderCnt,SELECT_BY_POS,MODE_TRADES)。

如果(OrderSymbol()==Symbol() && OrderMagicNumber()==magicnumber && OrderType()==OP_BUYSTOP) OrderDelete(OrderTicket())。

else if(OrderSymbol()==Symbol() && OrderMagicNumber() == magicnumber && OrderType() == OP_SELLSTOP) OrderDelete(OrderTicket())。

else if(OrderSymbol()==Symbol() && OrderMagicNumber() ==magicnumber && OrderType() ==OP_SELLLIMIT) OrderDelete(OrderTicket() );

否则如果(OrderSymbol()==Symbol() && OrderMagicNumber() ==magicnumber && OrderType() ==OP_BUYLIMIT) OrderDelete(OrderTicket())。

}

if(!ContinueTrading) Enter=false;

}

return(0);

 

MA十字星与套利和对冲

结案...

 

关于EA编码的减法问题

我知道如果我想说80个点,我会编码为80 * Point。

但是,如果我想编码减去2个货币价值后的点数,我是否要编码A=1.4290-1.4210/点?

非常感谢您的帮助。

戴夫

 

不要忘了"()"

它必须是"(1.4290-1.4210 )/点"

 

ICustom参数

我有两个关于ICustom的问题。

首先,如果你没有在ICustom调用中包括指标的所有参数,我认为缺少的参数是由指标中的默认值设置的,这样的假设是否正确?

另一个问题是,如果提供的参数是错误的类型,是否有任何错误信息被抛出,可以在stdlib中识别?

谢谢你的回答

 

如果你漏掉了参数,那么就会使用默认值。但要小心,因为你希望使用的参数需要与它们在指标中出现的顺序完全一致。

我不记得如果你试图传递错误的类型是否会出错,但我确信你可以很容易地测试它。

好运

卢克斯

 

如何做到这一点

打开交易,如果交易亏损,添加15个追踪止损,让交易继续进行,并打开一个新的交易(EA在任何时候都只打开一个交易),所以EA现在只用新的交易来操作。

 

在利润中为未结订单增加手数的脚本

嗨,编码大师。

我刚刚阅读了您的MT4课程,并试图编写一个脚本,将手数添加到盈利的未平仓订单中。

将手数添加到处于盈利状态的未平仓订单中。

也非常感谢您的教程,它写得很好,而且相当幽默....。

这里是代码。

#property show_inputs

#include

//+------------------------------------------------------------------+

//| 脚本程序启动功能

//+------------------------------------------------------------------+

int start()

{

int total,cnt,err;

total = OrdersTotal();

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。

if(OrderProfit() >= 15) //利润大于15点

如果(OrderType()==OP_BUY)

OrderSend(OrderSymbol(),OP_BUY, 0.1, MarketInfo(OrderSymbol(),MODE_ASK), 2, NULL, NULL, NULL, NULL,CLR_NONE) 。

否则

OrderSend(OrderSymbol(),OP_SELL, 0.1, MarketInfo(OrderSymbol(),MODE_BID), 2, NULL, NULL, NULL, NULL,CLR_NONE)。

err=GetLastError();

Print("error(",err,")。",ErrorDescription(err))。

Sleep(1000);

}

//----

//----

return(0);

}

这有什么好的代码大师吗?

提前感谢,非常感谢...

谢谢

杰夫

 

大家好

谁能帮帮我。 我收到了一个文件,我被告知我必须先在metatrader窗口中 "反编译",然后在图表上加载指标!这是什么意思?究竟什么是编译和反编译?我如何做到这一点,还有,是否有一份pdf文件,逐步说明如何浏览诸如加载EA等事情,以及其他类似的mt4的事情。 我现在对mt4的许多事情都很好,即下发指标是足够直接的,但我确实需要了解更多。 非常感谢。

 

我认为--你需要进行编译。

反编译是非法的,与黑客行为一样。

因为ex4文件是加载/附加到窗口/图表上的。编译是在MetaEditor中进行的。

请从头阅读这个关于如何做的主题。

https://www.mql5.com/en/forum/178706