如何编码? - 页 156

 

附上EA

所附的是我一直想做的EA。

我想做的是让所有的条形图案在30分钟、60分钟和240分钟的3个TF中的每一个打开,这将会增加很多,但是。我不知道如何让它正常工作。

它确实在交易,但不是我想要的方式。因此,任何帮助都是伟大的。

谢谢

贝诺

附加的文件:
 

获利 问题

在订单开启后的X分钟内,修改订单(调整它的获利)的代码是什么?感谢任何对此作出回应的人。

 

心灵英雄

大家好。

谁能帮我用附件中的指标创建一个EA。我只需要在箭头的方向上开仓。

以下是指标http://rosdi.name/forex/experts/indicators/RK_MindHero.mq4

谢谢

 

请编辑我的2个Ea

我有两个使用MACD和简单移动平均线的EA,谁能帮我编辑一下?这是我喜欢的信号设置>>

.................................................. .................................................. .

指标1 >>>>>> 卖出:一旦1小时和15分钟图上的MACD确认出现负背离,并且5个收盘期的简单移动平均线与15分钟图上的10个收盘期的简单移动平均线交叉,则卖出。

买入:一旦macd在1小时和15分钟图表上确认正背离,并且5条收盘期简单移动平均线在15分钟图表上穿过10条收盘期简单移动平均线向上,则买入。

止损:50

获利: 15

追踪止损:0

手数:0.1

.....................................................................................................

指标2 >>>>>> 卖出:一旦4小时和1小时图上的macd确认出现负背离,并且5个收盘期的简单移动平均线与1小时图上的10个收盘期简单移动平均线交叉,则卖出。

买入:一旦4小时和1小时图上的macd确认正背离,并且5个收盘期的简单移动平均线与1小时图上的10个收盘期简单移动平均线相交,则买入。

止损:100

获利:25

追踪止损:0

手数:0.1

谢谢你

附加的文件:
 

新手7-10天的交易信号

大家好。

第一次发帖,希望这里有人能给我指出正确的方向

我通过固定赔率平台交易货币。我的交易是在一段时间内(如7天、10天等)不会触及市场的某一水平。

我使用各种标准来输入交易,现在才开始考虑将其自动化。

我快速浏览了一下这里的培训课程,但不想重蹈覆辙,我想知道是否有其他人沿着这些路线进行编程?基本上,我正在寻求帮助的部分是。

1)当满足条件时,用电子邮件发送即时警报

2)能够在可配置的天数内进行回测,看我的水平(可配置)是否被突破。我的想法是,我可以在不同的时间段测试不同的水平(不同的回报),然后相应地调整我的策略。

希望我听起来不会太傻!

希望我听起来不会太笨!提前感谢你!"。

 

EA停止交易但仍显示笑脸

你好。

我在这里遇到了一个奇怪的问题。我正在运行一个EA(使用一个自定义指标)。有时会发生EA停止工作的情况(虽然笑脸还在,但比如说图表上的输出不再打印)。这种情况发生时没有任何警告,而且非常难以预测。

上次发生时,我在EA日志中发现以下内容,显示在03:08:06,EA被删除,因为图表被关闭(uninit原因4)。问题是,这时我正在睡觉,绝对没有想到要关闭图表。由于我每隔5分钟将账户发布到一个FTP网站上,最后一次更新是在凌晨3点左右,我认为这一定与此有关。不幸的是,我对如何处理这个问题没有任何头绪。

任何想法都可以。

最好的问候。

史蒂芬

 
mike360:
在订单打开X分钟后,修改订单(调整它的获利)的代码是什么? 提前感谢任何对此作出回应的人。

首先,你必须使用OrderSelect函数 选择订单。

然后检查订单开放时间并与当前时间进行比较。

你可以改变止损和止盈

你可以使用下面的代码

for (int i=0;i<OrdersTotal();i++)

{

OrderSelect(i,SELECT_BY_POS,MODE_TRADES)

if(TimeCurrent()-OrderOpenTime()>= after_X_amaount_of_time_in_seconds)

{

OrderModify(OrderTicket(),OrderOpenPrice(),New_SL,New_TP,0,CLR_NONE);

}

}

 
 

研究OrderSelect()函数。 好好了解它,这很重要。

bool OrderSelect( int index, int select, int pool=MODE_TRADES)

该函数选择一个订单进行进一步处理。如果函数成功,它返回TRUE。如果函数失败,则返回FALSE。要获得错误信息,必须调用GetLastError()函数

如果订单是由票号选择的,则池参数被忽略。票号是一个唯一的订单标识符。要想知道订单从哪个列表中被选中,必须分析其关闭时间。如果订单的收盘时间等于0,那么该订单是开放的或待定的,并从终端开放头寸列表中获取。我们可以通过订单类型来区分未结头寸和挂单。如果订单关闭时间不等于0,则该订单是已关闭的订单或已删除的挂单,并从终端历史中选择。它们之间的区别还在于其订单类型。

参数。

index - 订单索引或订单票,取决于第二个参数。

select - 选择的标志。它可以是以下任何一个值。

SELECT_BY_POS - 订单池中的索引。

SELECT_BY_TICKET - 索引是订单票。

pool - 可选的订单池索引。当选择的参数是SELECT_BY_POS时使用。它可以是以下任何一个值。

MODE_TRADES (默认) - 从交易池中选择的订单(已开仓和挂单)。

MODE_HISTORY - 从历史库中选择订单(已关闭和已取消的订单)。

示例。

如果(OrderSelect(12470, SELECT_BY_TICKET)==true)

{

Print("订单#12470开盘价是", OrderOpenPrice())。

Print("订单#12470的收盘价是",OrderClosePrice())。

}

否则

Print("OrderSelect返回的错误是",GetLastError())。

 

如果你还没有找到,也请下载这个。

http://www.mql4.com/files/mql4bookenglish.chm