问吧! - 页 99

 
Big Be:
什么时候你想使用一个静态变量--它能解决什么问题?

你什么时候想在INIT()部分放点东西--它能解决什么问题?

Big Be

那么,对此的回答,是代替MQ4文档中的解释,还是补充?

 

如何保持对多个订单的跟踪?

我目前正在制作一个每次只有1笔交易的EA。

我有很多变量来跟踪这个交易中发生的事情。

如果我在同一时间有更多的交易,我想我可以用数组来记录这些变量,以票据号码为关键。但据我所知,键必须是0、1、2、3等,对吗?所以这是不可能的。

我可以用一个多维数组来代替,我希望你能理解我的javascript/php描述。

barsSinceOpen = array(

0 => array(0 => 123123, 1 => 63)

1 => array(0 => 552352, 1 => 5)

);

第二个维度中的0是票号,1是交易开始后的条数。

barSinceOpen只是一个例子。我知道我可以每次都为每笔交易计算这个,但这不是重点。我有很多东西需要跟踪交易的情况。

为了选择正确的订单,我必须对数组进行迭代,选择具有正确票据的第二级数组。

你认为这是个好主意吗?你会怎么做呢?

 

另一个问题

例如,当我做了一个orderModify()来设置一个获利

然后在下一个交易日之前,或者我们也可以说在我再次选择同一订单之前,我做了另一个orderModify()来设置一个止损。在这个过程中,我使用OrderTakeProfit(),所以它不会删除获利。但是,它还是删除了获利。

我是否需要等待下一个交易日或再次选择订单,以便OrderTakeProfit()返回我的新获利?

 
Big Be:
你什么时候想使用静态变量--它能解决什么问题?

什么时候你想在INIT()部分放点东西--它能解决什么问题?

大贝
ralph.ronnquist:
那么,这个问题的答案,是代替MQ4文档中的解释,还是补充?

这将是补充性的。

(我总是试图先做功课。)

也许我需要解释和例子。

大贝

 
Big Be:
你什么时候想使用静态变量 - 它能解决什么问题?

你什么时候想在INIT()部分放些东西--它能解决什么问题?

大的是

一个静态变量在每次函数调用 中都会保持不变,当然,除非它在函数中被改变。你可能只想在该函数中使用一个整数,例如每次函数调用你都想增加1。

但是,你也可以为此使用全局变量。

init的例子。

int init() {

TakeProfit=TakeProfit*Point。

StopLoss=StopLoss*Point。

TrailingStop=TrailingStop*Point。

breakEven=breakEven*Point。

返回(0)。

}

这些都是外部变量,如果你想获得50个点,你可以将takeprofit设置为50。但是,为了在EA中发挥作用,它必须与货币的点值相乘,例如0.001。

 
SimonF:
一个静态变量将在该变量所在的每个函数调用中保持不变,当然,除非它在函数中被改变。你可能只想让一个整数在该函数中增加1,例如每次函数调用都增加1。

但是,你也可以为此使用全局变量。

...

西蒙

谢谢。 请帮忙说清楚。

这是否意味着一个静态变量即使不是全局的,也会保留最后分配给它的值?

关于init(),看起来它是作为一个设置函数 使用的。

- 你能告诉我其他关于它的好例子吗?

- 你必须在它后面加上deinit()吗?

大贝

 

询问

codersguru:
大家好。

我收到很多私人信息,要求我帮助处理一些代码。

在这里,您可以发布与MQL4有关的问题,我会尽力回答。

你好。

我想直接向你学习mql,我读过你的教程,我已经编写了几个EA的代码。

 

基于收盘的ma颜色

尊敬的客户

是否有任何ma指标根据蜡烛的收盘情况改变颜色。例如,如果蜡烛收盘在SMA之上,那么线的颜色是蓝色的,但如果低于MA,那么颜色将变为红色。

我知道有一个名为 "ma_in_color.mq4 "的指标,对不起,我不知道如何发布它,我的问题是,有没有人可以在这个指标中编写一个声音警报。

非常感谢

 

有什么最简单的方法可以让一个指标的缓冲区数值显示为注释或打印出专家文件夹,以便我可以看到数值的变化? 我在这个指标中有8个缓冲区。

戴夫

 

ctrl-D .