编码帮助 - 页 387

 

这个脚本允许我们在图表上拖动我们的止损和止盈线。对于我们这些喜欢用价格行为手动平仓或移动止损的日内交易者来说,这是一个非常好的工具。(至少我是这么认为的。)谁能检查一下这个脚本,看看它是否能在最新的MT4平台上运行,如果不能,请更新。我将非常感激。

谢谢。

jbozman

附加的文件:
dragsltp.mq4  19 kb
 
jbozman:
这个脚本允许我们在图表上拖动我们的止损和止盈线。对于我们这些喜欢用价格行为手动平仓或移动止损的日内交易者来说,这真是一个不错的工具。(至少我是这么认为的。)谁能检查一下这个脚本,看看它是否能在最新的MT4平台上运行,如果不能,请更新。我将非常感激。

谢谢。

jbozman

你好。

纠正了,没有错误的编译。

看上去工作正常。

请测试一下。

祝您有一个良好的交易周。

Tomcat98

附加的文件:
 

非常感谢你。我将进行测试。

jbozman

 

这个指标在图表上放置了彩色区域,与各个时段相吻合。

有两件事。

1)谁能检查一下,确保它与MT4的最新版本兼容。

2)它可能已经在代码中,但不确定是否与最新版本兼容......也就是说,我希望所有的方框/高亮区域在新的一天从格林威治时间0开始出现。因此,如果我有一个彩色区域在格林尼治标准时间8点开始出现,一直到格林尼治标准时间14点,我希望这个区域从格林尼治标准时间0点开始出现在图表上......任何设置都是一样的。让所有这些区域在格林威治时间0点出现。

正如我所说,这可能是在代码中;但是,我想确保它是兼容的,如果它是的话。

非常感谢!

jbozman

附加的文件:
 
jbozman:
这个指标在图表上放置了彩色区域,与各个时段相吻合。

2件事。

1)谁能检查一下,确保它与MT4的最新版本兼容。

2)可能已经在代码中了,但不确定是否与最新版本兼容......也就是说,我希望所有方框/高亮区域在新的一天从格林尼治标准时间0开始出现。因此,如果我有一个彩色区域在格林尼治标准时间8点开始出现,一直到格林尼治标准时间14点,我希望这个区域从格林尼治标准时间0点开始出现在图表上......任何设置都是一样的。让所有这些区域在格林威治时间0点出现。

正如我所说,这可能是在代码中;但是,我想确保它是兼容的,如果它是的话。

非常感谢!

jbozman

jbozman

没有必要改变该指标的任何内容。它已经与新的metatrader 4兼容。

 
mladen:
jbozman 没有必要改变该指标的任何内容。它已经与新的metatrader 4兼容。

姆拉登,我弄错了。我给你发了错误的指标。

我用这个线条指标,而不是用矩形区域指标来标记会议。区域的颜色太混乱了。我希望要求你检查 这个指标不会太过分。这是一个在我编译时有错误的指标。请原谅。

jbozman

*编辑帖子...有1个警告...不是错误。关于控制路径不是全部返回一个值的问题。

附加的文件:
 
jbozman:
Mladen,我搞错了。我给你发了错误的指标。

我使用这个线条指标,而不是矩形区域指标来标记会议。区域的颜色太混乱了。我希望用这个来代替检查并不过分。这是一个在我编译时有错误的地方。请原谅。

jbozman

*编辑帖子...有一个警告...不是错误。关于控制路径不是全部返回一个值的问题。

试试这个:vertical_lines_v1.1.mq4

没有测试时移(使用TimeAdjustHours来设置时移)。

附加的文件:
 

亲爱的编码员,有没有一种简单的方法来增加基于余额的手数?例如,假设我想每10000单位的余额交易1手,或者我想每1000单位的余额交易0.02手?我需要哪些参数,代码是什么?

在第一个例子中,我将在10000<=余额<=19000的情况下进行第一手交易,20000<=余额<=29000的情况下进行第二手交易,等等。

谢谢你。

 
mladen:
试试这个:vertical_lines_v1.1.mq4 没有测试时间转换(使用TimeAdjustHours来设置时间转换)。

谢谢你,姆拉登。你知道,我甚至没有使用这个......然而,现在你提出来,也许我会利用它。它是用于夏令时,还是用于经纪人时间?

 
madopter:
亲爱的编码员,是否有一个简单的方法来增加基于余额的手数?例如,假设我想在每10000单位的余额中交易1手,或者如果我想在每1000单位的余额中交易0.02手?我需要哪些参数,代码是什么?

在第一个例子中,我将在10000<=余额<=19000的地段1,20000<=余额<=29000的地段2,等等。

谢谢你。

你可以这样做

double lots=5; // or whatever maximal lot size you chose

while (true)

{

if (AccountBalance()<19000) { lots = 1; break; }

if (AccountBalance()<29000) { lots = 2; break; }

if (AccountBalance()<39000) { lots = 3; break; }

//

//

// futher comparisons here in ascending order

//

//

break;

}