Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
我不记得了,我得检查一下,但我不想检查。也许,在mql4中,当试图用一个现有对象的名字创建一个对象时,会返回一个错误,而在mql5中不是一个错误,而是修改参数,如果坐标不同。
正如Artem所说--检查该对象的存在。
是的,这是正确的。
突然(像往常一样)ObjectGetInteger(0,objectName,OBJPROP_TYPE)工作得更快。
ObjectFind是一个同步命令,也就是说,它等待图表对象的完全更新(和可用性)......使用它充满了明显的延迟。
如果你使用你自己的对象(即在你自己的股票中创建的),那么你不应该使用ObjectFind- 你已经知道在哪个窗口中创建了对象,而且它很可能存在,并且是正确的类型。
最坏的情况是用户删除了该对象或改变了该属性。
谢谢你。这很有意思。
祝大家今天愉快。
Kovalev的书中说,数组的索引 可以作为常量、变量 或表达式设置为整数值。
当我在mql4中设置索引作为 变量 时,编译器只给我一个错误
我是这样设置索引的
intW=1000。
double T_P[W]={0};
空白的OnTick()
{
编码
}
请告诉我,我做错了什么。
谢谢你。
祝大家今天愉快。
Kovalev的书中说,数组的索引 可以作为常量、变量 或表达式设置为整数值。
当我在mql4中设置索引作为 变量 时,编译器只给我一个错误
我是这样设置索引的
intW=1000。
double T_P[W]={0};
空白的OnTick()
{
编码
}
请告诉我,我做错了什么。
谢谢你。
阵列索引不是阵列的大小。
明白了,谢谢。有没有办法 用一个变量来设置数组的大小?
明白了,谢谢。有没有办法 用一个变量来设置数组的大小?
在第一个数组维度上设置一个新的尺寸
intArrayResize(
void&array[],//由引用传递的数组
intnew_size,// 新的阵列大小
intreserve_size=0// reserve_size值(多余的)
)
设置第一个数组维度的新尺寸
intArrayResize(
void&array[],// 通过引用传递的数组
intnew_size,// 新的阵列大小
intreserve_size=0// reserve_size值(多余的)
)。
谢谢你提供的宝贵信息。
你好!请帮我写一个简单的代码。
我目前正在处理订单开仓/平仓机制,遇到了平仓的问题。
代码很简单。该算法的想法是在图表上绘制周期为100的MA(移动平均线)。如果前一根蜡烛[1] 在 MA上方 开盘,并 在 MA下方 收盘,那么下一根蜡烛[0]就会打开一个卖出的 订单。
//(购买的条件不同,我就不介绍了)
为了关闭订单,需要满足以下条件--当前价格已经超过了订单开仓价格的设定值,例如,40点。
例子: 一手以 Bid= 1.20045 开启,它应该以 Ask= 1.20005 收盘。
打开和关闭的代码被打包成两个相应的函数--CheckForOpen()和CheckForClose(),它们依次被OnTick()函数调用。事实上,价格可以超过一定的点值(超过收盘水平),但订单不会被关闭。
我搞不清楚哪里出了问题。
p/s/截图和代码附后。
你好!请帮我写一个简单的代码。
我目前正在处理订单开仓/平仓机制,遇到了平仓的问题。
代码很简单。该算法的想法是在图表上绘制周期为100的MA(移动平均线)。如果前一根蜡烛[1] 在 MA上方 开盘,并 在 MA下方 收盘,那么下一根蜡烛[0]就会打开一个卖出的 订单。
//(购买的条件不同,我就不介绍了)
为了关闭订单,需要满足以下条件--当前价格已经超过了订单开仓价格的设定值,例如,40点。
例子: 一手以 Bid= 1.20045 开启,它应该以 Ask= 1.20005 收盘。
打开和关闭的代码被打包成两个相应的函数--CheckForOpen()和CheckForClose(),它们依次被OnTick()函数调用。事实上,价格可以超过一定的点值(超过收盘水平),但订单不会被关闭。
我搞不清楚哪里出了问题。
p/s/截图和代码附后。
CheckForOpen()不应该直接在OnTick中调用,而应该在自己编写的OnBar中调用(应该在OnTick中调用)--在bar opening中调用。但这是一件微不足道的事情,
,而不是Open[1],Close[1](前一根蜡烛已经突破了MA100),我们应该看Open[1],Open[0](前一根蜡烛从MA的一侧打开,当前一根从另一侧打开)。否则就会看到蜡烛图之间的浅浅的差距,逻辑上就会被原谅。
中位数的SMA在第0个柱子上发生变化,也就是说,它不是恒定的。它不能与之相比。纠正算法。
设置第一个数组维度的新尺寸
intArrayResize(
void&array[],// 通过引用传递的数组
intnew_size,// 新的阵列大小
intreserve_size=0// reserve_size值(多余的)
)。
再次感谢您的提示,但是.....,在帮助中写到这个函数只适用于动态数组。而我的代码并不是一个动态数组,而是一个普通的数组。
如果你能告诉我(或者更好的是,告诉我)如何改变正规数组的一维大小,我将非常感激。
再次感谢您的帮助。