任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 914

[Deleted]  
Top2n:

非常感谢你。这一切都很有效。我会研究你写的东西...
 
Top2n:

有其他建议吗?

我将一个脚本连接到一个离线图形,终端挂起。也许可以在机器人中安装代码,那么如何处理#import "user32.dll"

脚本只是一个例子,没有人说应该把它放在离线图表上。它通常是在一个正常的图表上运行,并在行中指定离线图表的TF

 int whdl=WindowHandle (Symbol(), period_renko);  

#import "user32.dll "是不需要的,它在 WinUser32.mqh中被调用

事实上,有一个指标 "6MTH_Renko_Chart_Builder_Indi_Ver_02.mq4",可以在创建的Renko图表上模拟tick。它是这样工作的,指标在普通图表上运行,然后打开 实时更新的Renco图表


 
evillive:

脚本只是一个例子,没有人说应该把它放在离线图表上。它通常是在一个正常的图表上运行,并在行中指定离线图表的TF

#import "user32.dll "是不需要的,它在 WinUser32.mqh中被调用

事实上,有一个指标 "6MTH_Renko_Chart_Builder_Indi_Ver_02.mq4",可以在创建的Renko图表上模拟tick。它是这样工作的,指标在普通图表上运行,然后打开实时更新的Renko图表。


谢谢你!)
 

你好,你能告诉我如何做到这一点吗?

有一段这样的代码,它是有效的。这些是接近交易水平 时的信号。Buy1_line是图表上的一个水平,buy1是价格与相应水平的距离,单位是点。问题是,该代码有能力禁用你不需要的级别。在这种情况下,级别buy1_line的值(0.00000)和距离-被显示为6位数,这在原则上没有意义。(该水平是禁用的,你不需要知道距离)问题!如果相应的级别被禁用,如何使到级别--buy1的距离无效?(或者用OFF代替这个数字?)

string buy1_line=DoubleToStr(Price_Line,Digits);
string buy2_line=DoubleToStr(Price_Line2,Digits);
string buy1=     DoubleToStr((Price_Line-Bid)/Point,0);
string buy2=     DoubleToStr((Price_Line2-Bid)/Point,0);       

message=
 "buy_1 ("+buy1_line+"):"+(buy1>"0"?"+":"")+buy1+"   \n"+
 "buy_2 ("+buy2_line+"):"+(buy2>"0"?"+":"")+buy2+"   \n";

SendNotification(message);
 

你好,请你告诉我是否有办法获得刚发出的订单的票据?

ticket =OrderSend(Symbol(, cmd, Lot((OOP-OSL)/Point),OOP,1,OSL, OTP,NULL, Expert_ID, 0);

然后我检查ticket是否<1,现在我想获得OrderTicket()的号码,而不需要再次查看所有未结订单,因为可能有许多订单,如果我一次发送两个几乎相同的订单,并有不同的止损,我预计会出现问题。

谢谢你!

 
danik:

你好,请你告诉我是否有办法获得刚发出的订单的票据?

ticket = OrderSend(Symbol(, cmd, Lot((OOP-OSL)/Point),OOP,1,OSL, OTP,NULL, Expert_ID, 0);

然后我检查ticket是否<1,现在我想获得OrderTicket()的号码,而不需要再次查看所有未结订单,因为可能有许多订单,如果我一次发送两个几乎相同的订单,并有不同的止损,我预计会出现问题。

谢谢你!

你不需要OrderSend(),要知道一个已经打开的订单的票据,你应该用OrderSelect() 选择它。

在循环中,你应该滚动浏览所有的市场订单,选择其中的每一个,如果它们的类型、符号和魔术师相匹配,就在数组中写入票据。

然后将数组按升序排序。票面价值最高的是最近的订单。

 
是的,我想我们必须这样做。 我想知道是否有一个技巧或方法来获得一个刚刚发送的订单的票据。 没有,我必须用老式的方法来做,太糟糕了。
 
danik:
我想可能有办法拿到刚发出去的票。 如果没有,我就得用老办法了,这很可惜。 谢谢!

只有打开的票据会像你写的那样 -ticket =OrderSend(Symbol(), cmd, Lot((OOP-OSL)/Point),OOP,1,OSL, OTP,NULL, Expert_ID, 0)。

但前提是请求的执行没有错误,而且这样的票据很快就被覆盖了。

 
danik:

你好,请你告诉我是否有办法获得刚发出的订单的票据?

ticket = OrderSend(Symbol(, cmd, Lot((OOP-OSL)/Point),OOP,1,OSL, OTP,NULL, Expert_ID, 0);

然后我检查ticket是否<1,现在我想获得OrderTicket()的号码,而不需要再次查看所有未结订单,因为可能有许多订单,如果我一次发送两个几乎相同的订单,并有不同的止损,我预计会出现问题。

谢谢你!

为什么你不喜欢在全局变量 层面声明票据?
 

问题是这些票据不止一张。也许是4张,我还不清楚。这就是为什么我创建了一个带有票据编号和其他信息的类,这些信息不被orderselect存储。所以我想对票据进行访问。但到目前为止,我只能创建类对象,并把它们放到CarrayObj 中,然后获得索引,比较票据,进一步分析。但我已经解决了,谢谢。 我在其他地方责怪自己。先生们evilliveAlexeyVik-- 感谢你们的及时回复!