如何编码? - 页 247

 

隐藏止损需要帮助

大家好,我找到了这个隐藏跟踪止损的代码,想做一个隐藏止损的代码,它可以工作,但它不能关闭订单。我想在BID从高位回落并穿越BE HLINE时关闭订单,而在BID从低位穿越BE HLINE时不关闭。我已经做了很多例子,但它不像我想要的那样工作......请帮助我,这里是 "买入 "的代码。

void HideBreakEvenBuy(){

int totalorders = OrdersTotal();

for(int i=totalorders-1;i>=0;i--){

如果(OrderSymbol()==OrderSymbol()){

如果(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){

如果(OrderType()==OP_BUY){

如果(MarketInfo(OrderSymbol(),MODE_ASK)-OrderOpenPrice() >= breakeven*Point && ObjectGet("sl "+OrderTicket()+"b", OBJPROP_PRICE1) < OrderOpenPrice() ){

ObjectCreate("BE "+OrderTicket()+"b",OBJ_HLLINE, 0, 0, 0);

ObjectSet("BE "+OrderTicket()+"b", OBJPROP_PRICE1, OrderOpenPrice()+BE*Point) 。

ObjectSet("BE "+OrderTicket()+"b", OBJPROP_COLOR, Red);

ObjectSet("BE "+OrderTicket()+"b", OBJPROP_STYLE, 3);

}

如果(MarketInfo(OrderSymbol(),MODE_ASK) -ObjectGet("BE "+OrderTicket()+"b", OBJPROP_PRICE1)

>=收支平衡*Point && ObjectGet("BE "+OrderTicket()+"b", OBJPROP_PRICE1)

>= OrderOpenPrice() && ObjectGet("BE "+OrderTicket()+"b", OBJPROP_PRICE1) <MarketInfo(OrderSymbol(),MODE_ASK)) {

//ObjectSet("BE "+OrderTicket()+"b", OBJPROP_PRICE1, MarketInfo(OrderSymbol(),MODE_ASK) -TrailingStop*Point);

如果(OrderType() == OP_BUY && MarketInfo(OrderSymbol(),MODE_ASK) >= ObjectGet("BE "+OrderTicket()+"b", OBJPROP_PRICE1)) OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol() ,MODE_BID), SlippageClose, Silver) 。

}

}

}

}

}

}

最好的问候 go_rich

 

如何在现有的专家顾问中添加跟踪止损

如何为已经完成的专家添加追踪止损?这个专家可以进行编辑。谢谢你的帮助

 

2个指标合二为一

大家好,从几个月前开始,我使用基于两个指标的策略,并为我带来了良好的利润(我使用它和基本面),我正在寻找一个可以将这些指标连接在一起的人,以获得更多的便利如果有人感兴趣,请私信我,谢谢。

 
vladokvr:
大家好,从几个月前开始,我使用基于两个指标的策略,并为我带来了良好的利润(我使用它和基本面),我正在寻找一个可以将这些指标连接成一个的人,以获得更多的便利如果有人感兴趣,请私信我,谢谢

谁能帮帮我,或者举个例子,如何将两个指标合二为一,我想这对很多交易者来说是很有趣的。

 

前一棒的计算/测试器冻结

你好,我想知道是否有人能帮我快速修正一下EA代码。

我需要我的EA取过去60天内的最低价格,并从同一时期的最高价格中减去它。一旦有了差异,我希望结果能乘以1000,以便得到我所需要的计算范围。

例如,如果欧元兑美元在过去60天内的最高价是1.30000,最低价是1.20000,差值将是0.1(或1000点)。然后我将0.1乘以1000,得到我想要的100点范围。(基本上每1000点的交易范围,我需要一个100的值来计算)。

如果差值是1250点,我需要的值是125。

总之,这是我使用的代码。

double highval = High;

double lowval = Low;

int DesiredRange = NormalizeDouble(highval - lowval,3)*1000;

出于某种原因,在策略测试器中,它在短时间内运行良好。然而,在某些日期,测试器只是暂停了,没有继续交易。它只是冻结而不停止;你必须手动停止程序,将开始日期改为第二天,才能继续。

我的代码有问题吗?如果我把上面的代码拿出来,它在恒定的DesiredRange下运行良好。起初我认为这可能是由于四舍五入的原因,但似乎四舍五入是正确的。

请帮助我吧! 谢谢。

 

你为什么不使用月度时间框架,获得前两个月的最高和最低值。2个月等于60天。

在这种情况下,获得最高值是只比较当前蜡烛的高点和前一个蜡烛的高点。最低值也是如此。

jamesmean:
你好,我想知道是否有人能帮我快速修正一下EA代码。

我需要我的EA将过去60天内的最低价格,从同期的最高价格中减去。一旦得出差值,我希望结果能乘以1000,以得到我所需要的计算范围。

例如,如果欧元兑美元在过去60天内的最高价是1.30000,最低价是1.20000,差值将是0.1(或1000点)。然后我将0.1乘以1000,得到我想要的100点范围。(基本上每1000点的交易范围,我需要一个100的值来计算)。

如果差值是1250点,我需要的值是125。

总之,这是我使用的代码。

double highval = High;

double lowval = Low;

int DesiredRange = NormalizeDouble(highval - lowval,3)*1000;

出于某种原因,在策略测试器中,它在短时间内运行良好。然而,在某些日期,测试器只是暂停了,没有继续交易。它只是冻结而不停止;你必须手动停止程序,将开始日期改为第二天,才能继续。

我的代码有问题吗?如果我把上面的代码拿出来,它在恒定的DesiredRange下运行良好。起初我认为这可能是因为四舍五入的原因,但似乎四舍五入是正确的。

请帮助我吧! 请提前感谢!
 

这并不是一件容易的事。

vladokvr:
谁能帮帮我,或者举个例子,如何把一个指标变成两个指标,我想这对很多交易者来说是很有意义的!
 

检查 你的条形图

jamesmean:
你好,我想知道是否有人能帮我快速修正一下EA代码。

我需要我的EA取过去60天内的最低价格,并从同一时期的最高价格中减去它。

......

总之,这是我使用的代码。

double highval = High;

double lowval = Low;

int DesiredRange = NormalizeDouble(highval - lowval,3)*1000;

我的代码有什么问题吗?如果我把上面的代码拿出来,用一个恒定的DesiredRange就可以正常工作。起初我认为这可能是因为四舍五入的原因,但似乎四舍五入是正确的。

请帮帮我吧!请提前感谢!

嗨,詹姆斯。

编辑 - 我删除了我的建议。不是正确的代码(是针对iCustom的,不是iHighest,iLowest)。还在学习。

---

你可以考虑Codersguru的建议,也可以使用一个月的时间,因为它可以给你一个更准确的平均数。

希望这有帮助。

罗伯特

 

指标,价格突破最新分形

如何确定(通过代码)价格是否打破了最后一个上涨或下跌 的分形。

我曾在mql中尝试使用ifractals,但没有成功。我想在我的代码中确定最后一个下跌分形的位置。

我想通过代码选择附图中顶部有箭头的柱子,但我不知道如何完成这个任务。希望得到任何帮助。

TIA !

附加的文件:
chrt1.gif  23 kb
 

忘了关于分形 的问题,我找到了一个解决方案。问题是为了确定分形,你必须用一个 "for循环 "来回溯时间,这在我看来会造成很大的开销。但我不是一个程序员,所以可能有更好的解决方案。

THNX

原因: