10点3.mq4 - 页 92

 

你好,yeoeleven。

谢谢你的回答和你的建议。

我将遵循它们。

 
forex4syg:
在Jugulator中似乎有一个计算ActualOrders的错误。

在我的测试中,只有GBPJPYm的一个仓位在某个时间点开仓。由于ConfirmedOrders=1和ActualOrders=2,它被关闭。

不知道这个问题出在哪里。在代码中,当订单被发送时,ActualOrders似乎总是会增加1。如果SendOrder失败(由于各种原因),ActualOrders仍然会增加1。也许,从SendOrder中检查错误会更好。如果没有错误,那么 ActualOrders 将增加 1。

谢谢!

这应该在这里得到修正(第89页,第890帖,Jugulator.zip)。在EA中有一个新的变量,被设置为订单号。如果订单失败,就不应该有订单号,代码会在增加ActualOrders变量之前检查这一点。

void OrderNeedsOpening() {

//在改变它们之前保留数值

double TempActualLotSize = ActualLotSize;

//增加批量大小

ActualLotSize = NormalizeDouble(ActualLotSize * LotsIncreaseBy, LotPrecision);

//我们是想做多吗?

如果(OrderDirection == 1) {

//设置止盈 并建立一个多头订单

ActualTP = Ask + (TakeProfit * Point);

LastTicket = OrderSend(Symbol(), OP_BUY, ActualLotSize, Ask, OrderSlippage, ActualSL, ActualTP, "Order" + (ActualOrders + 1), Magic, 0, Blue) 。

}

//我们是想做空吗?

else if (OrderDirection == 2) {

//设置止盈并建立一个空头订单

ActualTP = Bid - (TakeProfit * Point);

LastTicket = OrderSend(Symbol(), OP_SELL, ActualLotSize, Bid, OrderSlippage, ActualSL, ActualTP, "Order" + (ActualOrders + 1), Magic, 0, Red);

}

//如果订单通过了,它将大于0

如果(LastTicket > 0) {

ActualOrders++;

}

//订单失败了,所以我们需要把这个值设置回来

否则 {

ActualLotSize = TempActualLotSize。

}

}

你使用的代码是否反映了这一变化,因为这是我正在运行的,我没有任何问题,打开多个订单,让他们在应该TP或SL时关闭。请注意,这种类型的变化也存在于代码的其他区域,所以仅仅复制和粘贴这一部分并不能解决这个问题。

 

Jugulator H4结果

以下是今天上午的0.10和0.01的结果。

 

Jugulator H4结果

以下是美国东部时间今天上午10点,在几个重大新闻报道之后,0.10和0.01的结果。

0.01账户上涨了268.94美元

0.10账户上涨了1,912.44美元

 

10points3动态止损

本周关闭10points3动态止损。盈利时关闭交易对。之前发布的设置

总的来说是个好的一周。

在关闭Jugulator之前,我仍在等待USDJPY的回调。

约翰

附加的文件:
 

Jugulator1.1

延续第891号帖子的设置和第898号帖子的先前结果。以下是本周收盘后的详细声明。

将在周一 开盘前看一下设置,可能会使用更接近马特的设置,因为它们显然比我的好。

约翰

附加的文件:
jug4.htm  67 kb
jug4.gif  6 kb
 
mtaboneweb:
这应该在这里得到修正(第89页,第890帖,Jugulator.zip)。 在EA中有一个新的变量,被设置为订单号。 如果订单失败,就不应该有订单号,代码在增加ActualOrders变量之前会检查这个。

void OrderNeedsOpening() {

//在改变它们之前保留数值

double TempActualLotSize = ActualLotSize;

//增加批量大小

ActualLotSize = NormalizeDouble(ActualLotSize * LotsIncreaseBy, LotPrecision);

//我们是想做多吗?

如果(OrderDirection == 1) {

//设置止盈并建立一个多头订单

ActualTP = Ask + (TakeProfit * Point);

LastTicket = OrderSend(Symbol(), OP_BUY, ActualLotSize, Ask, OrderSlippage, ActualSL, ActualTP, "Order" + (ActualOrders + 1), Magic, 0, Blue) 。

}

//我们是想做空吗?

else if (OrderDirection == 2) {

//设置止盈并建立一个空头订单

ActualTP = Bid - (TakeProfit * Point);

LastTicket = OrderSend(Symbol(), OP_SELL, ActualLotSize, Bid, OrderSlippage, ActualSL, ActualTP, "Order" + (ActualOrders + 1), Magic, 0, Red);

}

//如果订单通过了,它将大于0

如果(LastTicket > 0) {

ActualOrders++;

}

//订单失败了,所以我们需要把这个值设置回来

否则 {

ActualLotSize = TempActualLotSize。

}

}

你使用的代码是否反映了这一变化,因为这是我正在运行的,我没有任何问题,打开多个订单,当他们应该TP或SL时,他们关闭。 请注意,这种类型的变化也在代码的其他区域,所以仅仅复制和粘贴这一部分并不能解决这个问题。

我正在测试的版本不包含上述变化。我将使用较新的版本。谢谢mtaboneweb!

 
yeoeleven:
我仍在继续测试10points3动态止损,仍在获得良好的效果。

我昨天删除了英镑兑美元,以努力使这个EA对小账户安全,这可能减少了利润率,但希望增加了安全性。

约翰

你还在使用第18页上的原始10points3动态止损吗?

谢谢

 

10points3动态停止

hawkv:
你还在使用第18页上的原始10points3动态止损吗? 谢谢。

是的,这是我仍在与Goblin和Jugulator一起测试的版本。它仍然能很好地支持那些由它开发的EA。

约翰

 

tf

1.在酒吧中等待。现在,EA在一个一致的点位循环中打开新的订单。一种替代的方法是确保新的订单不在同一个小节中打开。因此,如果你有一个非常大的动作,EA会等到收盘,重新评估趋势,然后在周期内下另一个订单,如果点值大于EA的点值设置中的指定。

.1 - .2 - .3 - .5 - .8 - 1.3 - 2.1 - 4.4 - 6.5 - 等等。

这是由stockwet在goblin线程中发布的。非常有趣的想法,但不是从订单离开的地方开始,而是跳过那些被超越的订单,进入下一个增量,所以如果价格迅速上升,你只有在你的板上的损失。当条形图完成后,EA会检查 应该执行的订单,并从那里开始执行正确的手数。因此,订单4可能最终实际上是2.1手而不是0.5手。这样,你的2.1手可以弥补下一个正常订单(.5)的损失,如果它是在那个特定的价格点开始的,则无法弥补。你的2.1手订单现在变成了4号订单,并从那里开始进展。如果进展到10,这不会减少损失,但会允许进展到更远的地方再关闭,从而使你有更好的机会收回成本。或者,如果确定趋势已经改变,交易可以被关闭,以获得比通常情况下更小的损失。这是否是一个可行的想法?