问吧! - 页 58

 

OrderSend的止损和止盈参数 是 "价格值 "而不是点数。尝试使用 "Ask-stoploss*Point "和 "Ask+takeprofit*Point "来代替;当涉及到EA的编写时,不仅趋势是你的朋友,而且手册也是你的朋友;-)

 
ralph.ronnquist:
OrderSend的止损和止盈参数是 "价格值 "而不是点数。试着用 "Ask-stoploss*Point "和 "Ask+takeprofit*Point "代替;当涉及到EA的编写时,不仅趋势是你的朋友,而且手册也是你的朋友;-)

拉尔夫。

非常感谢你的耐心和礼貌的回答。 我知道这些错误是非常愚蠢的错误。 作为一个初学者,我不知道该从何下手,当EA通过了编译器的检验,而策略测试器 说它成功加载,但却没有产生任何结果。

在发布我的请求之前,我实际上已经尝试了与手册中的内容接近(但显然不正确)的东西。 那个早期版本通过了编译器的审核,但是策略测试器拒绝了OrderSend的语法。 所以我查看了我做了一些修改的EA中的OrderSend语句,看看它的语法。 这就是我得出的不好的语法的地方。 我现在明白了,该EA的作者在执行OrderSend语句之前使用正确的语法预设了 "stoploss "和 "takeprofit"。

我对Fortran和Basic有一些编程经验,但现在MQL4语言对我来说是个挑战。

再次感谢您简洁而有礼貌的回答。 他们是最有帮助的。

筏子

BTY 现在EA运行了,我可以看到我在EA中也有几个逻辑错误,但现在我把语法问题解决了,我会把这些问题弄清楚的。

 

需要帮助的EA覆盖

大家好。

我正在尝试将一个跨期交易的EA转换为脚本,谁能告诉我如何去做?

谢谢

 

某种脚本可以监控交易,直到达到预设的利润,这样一旦交易在超过预设的利润后开始下降,就必须关闭该货币的所有交易。但如果利润上升超过了预设值,它就应该追踪预设值而不是个别交易。

 

我需要一个脚本,在两个价格之间进行比较,并找出哪一个价格更高。

比如说

int a1, a2;

a1=1.1111;

a2=1.1112;

if(a1<a2)

{

Print("OK");

}

但这不是,因为比较只针对点之前的数字。

我需要比较整个数字和小数点后的数字。

我希望你能理解我的意思,并帮助我。

 

将 "int "改为 "double",就像这样

double a1, a2;

阅读关于类型的文档。

 

哦,我把它忘了。

非常感谢您的帮助.

 

为什么会返回0。

iMA(NULL,0,10,-3,MODE_EMA,PRICE_HIGH,1);

谢谢。

 

如何强制运行start()函数

你好。

在一个EA中,start()函数只有在所附图表中的货币对价格变化时才会运行。

我想知道是否可以在不等待价格变化的情况下运行它。

谢谢。

-鄂高

 

如果你想让它运行一次。

你可以使用init()函数,在程序启动时运行。

谢谢。