[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 505

 
eugggy:
bar是当前条形图相对于外部设置(Start_Point)中设置的时间的移动。

bar = ?"在删除什么的时候?
 
ask: 你必须要粗鲁吗?

你现在很无礼:仍然没有问题陈述,你所涂抹的东西什么都不是,甚至连伪代码都没有。

而你认为我把你送到心灵感应者那里是错误的?

 
sergeev:

bar = ??在删除什么的时刻?
希望能恢复到以前的值。也就是说,如果我不需要这个文件,当酒吧到期时,我必须删除它。
 
eugggy:
我希望它以前的价值

好吧,只希望它能顺利完成。

 
sergeev:

好吧,你只是希望它能顺利完成。



:-)你就不能指出这个错误吗?
 
eugggy:
:-)你就不能指出这个错误吗?

:)但为了回答这个问题,什么吧=??,你不能这样做?
 
sergeev:

:) 但你不能回答什么吧=??的问题,你能做到吗? 。
好吧,这个话题是为新手准备的,如果我确定在删除的那一刻是什么吧,那么也许EA就能成功。我认为是这样的:当文档被关闭时,即出现一个新的条形图,变量条形图的值会增加1。在删除函数中,我把条形图-1,即已经关闭的文档的编号,如果前一个条形图不符合指定的标准,则删除该文档,其编号=变量条形图的当前值减去1,。错误的原因会不会是我在删除一个已经删除的文件?
 

没有人注意到这个错误,所以再一次。

你能告诉我代码中的错误吗? 谢谢。

//+------------------------------------------------------------------+
//| line.mq4 |
//| |
|
//+------------------------------------------------------------------+
//--输入参数
extern bool sell = 1; //允许卖出
extern bool buy = 1;
extern double lots = 0.1;
extern int sl = 50;
extern int tp = 150;

extern int order = 10; //

extern double bez = 15;
extern double tral_step = 15;
extern double tral_start = 10;

//+------------------------------------------------------------------+
//| expert initializationfunction|
//+------------------------------------------------------------------+
int init()
{
return(0);
}
//+
//|专家去初始化功能|
//+------------------------------------------------------------------+
int deinit()
{
//----

//
return(0);
}
//+------------------------------------------------------------------+
//|专家启动功能 |
//+------------------------------------------------------------------+
int start()
{
//----
string sell_stop ="ss"; //手动命名线
string buy_stop ="bs";

//buy------------------------------------------------------------------------------------------------

//找到线,当价格触及
if (ObjectFind (buy_stop) > 0 ) //如果有线 buy_stop
if ( ObjectGet (buy_stop, OBJPROP_PRICE1=Ask )//触及行
{
OrderSend (Symbol(),OP_BUYSTOP, lots, Ask+Point*order,3, Bid-sl*Point, Bid+tp*Point ); //发送订单
ObjectDelete (buy_stop); //行被删除
}


return(0);
}
//+-------------------------

 
TESKATLIPOKA:

没有人注意到这个错误,所以再一次。

你能告诉我代码中的错误吗?谢谢。


它们是这样的(你的代码中还有更多的错误,但这些错误甚至不会通过编译器): 。

if ( ObjectGet (buy_stop, OBJPROP_PRICE1=Ask )// касание линии
而且,即使你把代码改成从编译器的角度看更理智的东西:

if ( ObjectGet (buy_stop, OBJPROP_PRICE1) == Ask )// касание линии

如果你不知道误差,在比较之前没有事先对实际数值进行归一化,理论上还是会有误差的。更糟糕的是,如果价格在一个点上变化超过一个点,而你的条件又滑过了,正常化可能会失败。

用下面的方法找到交叉条件是比较正确的。

if (ObjectGet (buy_stop, OBJPROP_PRICE1) <= High[0]) && (ObjectGet (buy_stop, OBJPROP_PRICE1) >= Low[0]))//  на текущей свече касание линии уже имело место


P.S. 在MetaTrader中,编译后找到错误点是很容易的。

1.在 "工具箱 "选项卡的 "文件 "栏中,指定编译器检测到错误的行号和符号号,用逗号分隔。

2.如果你双击同一标签的 "描述 "栏中的错误信息,编辑器中的光标将跳到编译器检测到错误的地方。

 
eugggy:
好吧,这是一个初学者的话题,如果我确定删除时的酒吧是什么,也许EA就能发挥作用。
因此,请问我如何才能知道酒吧的情况。