[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 505 1...498499500501502503504505506507508509510511512...652 新评论 --- 2012.01.15 17:23 #5041 eugggy: bar是当前条形图相对于外部设置(Start_Point)中设置的时间的移动。 bar = ?"在删除什么的时候? Sceptic Philozoff 2012.01.15 17:26 #5042 ask: 你必须要粗鲁吗? 你现在很无礼:仍然没有问题陈述,你所涂抹的东西什么都不是,甚至连伪代码都没有。 而你认为我把你送到心灵感应者那里是错误的? [删除] 2012.01.15 17:26 #5043 sergeev: bar = ??在删除什么的时刻? 希望能恢复到以前的值。也就是说,如果我不需要这个文件,当酒吧到期时,我必须删除它。 --- 2012.01.15 17:47 #5044 eugggy: 我希望它以前的价值 好吧,只希望它能顺利完成。 [删除] 2012.01.15 17:57 #5045 sergeev: 好吧,你只是希望它能顺利完成。 :-)你就不能指出这个错误吗? --- 2012.01.15 18:01 #5046 eugggy: :-)你就不能指出这个错误吗? :)但为了回答这个问题,什么吧=??,你不能这样做? [删除] 2012.01.15 18:15 #5047 sergeev: :) 但你不能回答什么吧=??的问题,你能做到吗? 。 好吧,这个话题是为新手准备的,如果我确定在删除的那一刻是什么吧,那么也许EA就能成功。我认为是这样的:当文档被关闭时,即出现一个新的条形图,变量条形图的值会增加1。在删除函数中,我把条形图-1,即已经关闭的文档的编号,如果前一个条形图不符合指定的标准,则删除该文档,其编号=变量条形图的当前值减去1,。错误的原因会不会是我在删除一个已经删除的文件? TESKATLIPOKA 2012.01.15 19:06 #5048 没有人注意到这个错误,所以再一次。 你能告诉我代码中的错误吗? 谢谢。 //+------------------------------------------------------------------+ //| 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); } //+------------------------- [ARCHIVE] Any rookie question, [存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. [Archive!] Any rookie question, Yury Reshetov 2012.01.15 19:12 #5049 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.如果你双击同一标签的 "描述 "栏中的错误信息,编辑器中的光标将跳到编译器检测到错误的地方。 --- 2012.01.15 19:29 #5050 eugggy: 好吧,这是一个初学者的话题,如果我确定删除时的酒吧是什么,也许EA就能发挥作用。 因此,请问我如何才能知道酒吧的情况。 1...498499500501502503504505506507508509510511512...652 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
bar是当前条形图相对于外部设置(Start_Point)中设置的时间的移动。
bar = ?"在删除什么的时候?
你现在很无礼:仍然没有问题陈述,你所涂抹的东西什么都不是,甚至连伪代码都没有。
而你认为我把你送到心灵感应者那里是错误的?
bar = ??在删除什么的时刻?
我希望它以前的价值
好吧,只希望它能顺利完成。
好吧,你只是希望它能顺利完成。
:-)你就不能指出这个错误吗?
:)但为了回答这个问题,什么吧=??,你不能这样做?
:) 但你不能回答什么吧=??的问题,你能做到吗? 。
没有人注意到这个错误,所以再一次。
你能告诉我代码中的错误吗? 谢谢。
//+------------------------------------------------------------------+
//| 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);
}
//+-------------------------
没有人注意到这个错误,所以再一次。
你能告诉我代码中的错误吗?谢谢。
。
它们是这样的(你的代码中还有更多的错误,但这些错误甚至不会通过编译器): 。 而且,即使你把代码改成从编译器的角度看更理智的东西:
如果你不知道误差,在比较之前没有事先对实际数值进行归一化,理论上还是会有误差的。更糟糕的是,如果价格在一个点上变化超过一个点,而你的条件又滑过了,正常化可能会失败。
用下面的方法找到交叉条件是比较正确的。
P.S. 在MetaTrader中,编译后找到错误点是很容易的。
1.在 "工具箱 "选项卡的 "文件 "栏中,指定编译器检测到错误的行号和符号号,用逗号分隔。
2.如果你双击同一标签的 "描述 "栏中的错误信息,编辑器中的光标将跳到编译器检测到错误的地方。
好吧,这是一个初学者的话题,如果我确定删除时的酒吧是什么,也许EA就能发挥作用。