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

 
rapid_minus:

注意事项

Sleep()函数不能从自定义指标中调用,因为指标是在界面线程中执行的,不能拖累它。该函数每0.1秒对专家的停止标志状态进行一次嵌入式检查。策略测试器中 的Sleep()函数并没有造成任何延迟

每个人都很聪明,这很吓人。我写道,滑移在测试器中被忽略了(这很清楚),但只要我指定了位置,所有位置都是开放的。但在演示滑块上却不起作用,只开了一个头寸,而且立即关闭。这是我无法解决的问题。

你的代码在哪里?

也许 可能有帮助?

 
rapid_minus:

每个人都是多么聪明--只是吓人。如果你不知道如何阅读:我已经写了,在测试器中忽略了滑移(这很清楚),但位置都是开放的,如所示。但在演示滑块上却不起作用,只开了一个头寸,而且立即关闭。我无法解决这个问题。

显然,这不是你第一次无礼了,这就是为什么没有人回答。虽然你的第二个问题已经得到了答案。

但你只能这样回答。

迅速_减
很明显,竞价已经老化,但我希望 这种设计能允许在当前栏上以不同的竞价开盘价开几个仓。它在测试器中工作正常,但在演示中,它打开一个位置并立即关闭。

你希望的是什么?我们已经提供了一个解决方案。你应该仔细阅读。

 
rapid_minus:
poz = OrderSend(Symbol(,OP_SELL,lot,Bid,slip,0,0,NULL,magic,Red);
Sleep(10000);
poz = OrderSend(Symbol(,OP_SELL,lot,Bid,slip,0,0,NULL,magic,Red);
我们需要在每次Sleep(10000)之后;RefreshRates();投标 将被更新,姜饼将是我们的。
 
AlexeyVik:

是的,以确定小数点后的数字。如果批量是由一些公式定义的,并且结果可能有更多的小数位,则需要对批量值进行标准化。在某些情况下,你可能只放一个两点,但这样你可能会遇到错误,所以最好以编程方式定义。

还有另一种方法可以做到这一点。有两种方法可以解决这个问题,一种是将数字转换成字符串,定义字符串长度,找到点字符的索引,字符串长度和点字符索引之间的差值将被评估为数字的小数部分。而在mql5论坛上,你可以找到几种变体,有些更薄,有些更容易。

这是我的另一个变体。

这个函数决定了绝对任何数字的小数位数。

这个算法简单得令人发指--考虑除以1的残余物有多少次大于零。

我没有说我的方法更好。每个程序员都在写他或她自己解决问题的方法。

一个双数类型的数字,即使它的小数部分没有有效数字,看起来也是2.0,这是不太正确的,为了得到一个正常的整数,它被隐含地转换为int类型。

非常感谢你。

但为什么要把(int)放在表达式之前呢?

 
Igemon:

非常感谢你。

为什么(int)被放在表达式前面?

这个,非常有用。
 
谢谢你,LRA!正如在这个问题上一样,帮助来自于错误的一面。大多数当地的 "大师 "不帮助新人,而只是欣赏自己,尽管在其他分支上,他们有时自己也在简单的事情上。这就是为什么他们像新生一样易怒。 也感谢artmedia70的链接。这让我笑了。而且很美,是小报上的一张小脸。
 
此刻,该指标在离线图表中记录了tick图表,那么图表的打开 是手动的。
我可以从 "打开离线图表 "中按其名称在专家顾问中打开一个图表吗?我已经看了ChartOpen(),但它的名字不起作用。
 
Igemon:       为什么(int) 被放在表达式前面?
用它试试,不用它试试。一位这方面的专家说:经验=真理的标准
 
大家好...你能告诉我是否有一个mql4函数可以满足以下条件:如果一个订单打开,比方说在指标信号上买入...然后,如果有一个反转信号,买入被关闭,卖出被打开...等等。或者建议如何在你的专家顾问中注册...预先感谢
 
下午好!请你告诉一个文盲如何用百分比来表示蜡烛?