10点3.mq4 - 页 42

 
yeoeleven:
这个神奇的数字是由tururo添加的,他的修正版10 points3称为10points3动态止损,可以在这个主题的第18页找到。它是在讨论之后被修正的,其原因在该主题的那个区域被概述。

我添加这些信息并不是为了贬低马特的努力,而是为了说明这个神奇的数字最初是怎么来的。当这个话题进入很多页时,很容易错过这种关键的帖子。

约翰

谢谢你,约翰。

10点3的动态止损对我来说效果不错。

在10point3中有一个重要的 功能,可能在动态版本中也有,它使我损失了2%的利润(一整天的利润)。

我与InterbankFX的支持人员就此事进行了激烈的争论,并要求退款,但他证明是EA犯了错误。

发生了什么?

我有10个点,最大交易量=10。

我在IBFX的微型账户中的手数是0.1。

EA开了6个头寸做空欧元兑美元,因为价格上涨了。

订单之间的距离是8点。

第七个仓位是由EA要求的,但IBFX没有执行。

价格被重新报价,偏差为4点。

EA以某种方式确认了新的价格,第7个头寸以4点的距离而不是8点的距离被打开。

EA没有改变tp,因此这个位置的tp是6点,而不是10点的距离。

这导致了巨大的损失。

只有6个点的点差不足以弥补之前6个订单的损失。

如果有人能够纠正这个EA?

在这样的情况下,它应该改变tp。

 

只是想知道...

有没有人试过或有人知道,如果你改变这个EA的刻度水平,会发生什么?在目前的设置下,我看到如果你在0.7500买入,你会在0.7485翻倍,在0.7470再次翻倍。如果你把它改成以下的情况......如果你在0.7500买入,它将在0.7475翻倍,然后在0.7450再次翻倍呢?我想你还需要做其他调整?

 

缩放比例

JN75:
有没有人试过或有人知道,如果你改变这个EA的刻度水平,会发生什么?在目前的设置下,我看到如果你在0.7500买入,你会在0.7485翻倍,在0.7470再次翻倍。如果你把它改成以下的情况......如果你在0.7500买入,它将在0.7475翻倍,然后在0.7450再次翻倍呢?我想你还需要做其他调整?

Pips15将被改为Pips25以改变增量比例。类似于将TP40改为TP25,将MaxTrades10改为MaxTrades6,我们没有对Pips15进行实验,但预计这就是所需的全部。

约翰

 
mikon12:
谢谢你,约翰。

10points3的动态止损对我来说效果不错。

10point3有一个重要的功能,可能在动态版本中也有,这让我损失了2%的保证金(一整天的利润)。

我与InterbankFX的支持人员就此事进行了激烈的争论,并要求退款,但他证明是EA犯了错误。

发生了什么?

我有10个点,最大交易量=10。

我在IBFX的微型账户中的手数是0.1。

EA开了6个头寸做空欧元兑美元,因为价格上涨了。

订单之间的距离是8点。

第七个仓位是由EA要求的,但IBFX没有执行。

价格被重新报价,偏差为4点。

EA以某种方式确认了新的价格,第7个头寸以4点的距离而不是8点的距离被打开。

EA没有改变tp,因此这个位置的tp是6点,而不是10点的距离。

这导致了巨大的损失。

只有6个点的点差不足以弥补之前6个订单的损失。

如果有人能够纠正这个EA?

在这样的情况下,它应该改变TP。

你可以把滑点的值改成一个较低的值。默认情况下,它被设置为5,这意味着将接受与当前价格相比最多5个点的价格。由于你的点数和获利值较低,这将产生很大的影响。如果你把它设置成较低的值,那么不利的一面是,在高波动时期,有时订单将不会被下达,直到价格发生变化。可以做一个修改,在交易开始后,当进场价格已知时,调整止盈

 

Pipstep(15)似乎很低,但是如果你将Pipstep提高到18-20,这将增加你达到最大交易量的风险。 作为FIREBIRD的比较,该EA的Pipstep通常在18-25之间。我认为这个EA的Pipstep在18-20之间是可以接受的。 (10point3)

 

诸位好。

如果你增加点数,EA将更难获利,因为止损必须更长的时间才能获利,十字星必须做更大的过滤。

 

10点误差计算功能

取自mql4.com by Andrey Khatimlyanskyy

模板

int start()

{

// check whether the market should be entered now

...

// calculate the Stop Loss and Take Profit levels, and lot size

...

// check whether trade context is free

int TradeAllow = _IsTradeAllowed();

if(TradeAllow < 0)

{

return(-1);

}

if(TradeAllow == 0)

{

RefreshRates();

// recalculate the Take Profit and Stop Loss levels

...

}

// open a position

if(OrderSend(...) < 0)

Alert("Error opening position # ", GetLastError());

return(0);

}[/CODE]

function

[CODE]/////////////////////////////////////////////////////////////////////////////////

// int _IsTradeAllowed( int MaxWaiting_sec = 30 )

//

// the function checks the trade context status. Return codes:

// 1 - trade context is free, trade allowed

// 0 - trade context was busy, but became free. Trade is allowed only after

// the market info has been refreshed.

// -1 - trade context is busy, waiting interrupted by the user (expert was removed from

// the chart, terminal was shut down, the chart period and/or symbol was changed, etc.)

// -2 - trade context is busy, the waiting limit is reached (MaxWaiting_sec).

// Possibly, the expert is not allowed to trade (checkbox "Allow live trading"

// in the expert settings).

//

// MaxWaiting_sec - time (in seconds) within which the function will wait

// until the trade context is free (if it is busy). By default,30.

/////////////////////////////////////////////////////////////////////////////////

int _IsTradeAllowed(int MaxWaiting_sec = 30)

{

// check whether the trade context is free

if(!IsTradeAllowed())

{

int StartWaitingTime = GetTickCount();

Print("Trade context is busy! Wait until it is free...");

// infinite loop

while(true)

{

// if the expert was terminated by the user, stop operation

if(IsStopped())

{

Print("The expert was terminated by the user!");

return(-1);

}

// if the waiting time exceeds the time specified in the

// MaxWaiting_sec variable, stop operation, as well

if(GetTickCount() - StartWaitingTime > MaxWaiting_sec * 1000)

{

Print("The waiting limit exceeded (" + MaxWaiting_sec + " sec.)!");

return(-2);

}

// if the trade context has become free,

if(IsTradeAllowed())

{

Print("Trade context has become free!");

return(0);

}

// if no loop breaking condition has been met, "wait" for 0.1

// second and then restart checking Sleep(100);

}

}

else

{

Print("Trade context is free!");

return(1);

}

}

该代码检查是否有一个繁忙的交易环境错误,如果有,它将等待(30秒或由用户停止),直到交易环境可用。一旦可用将重新计算TP和SL。

 
mikon12:
约翰。

非常感谢您的提示。

不幸的是,这不可能是问题的原因。

我有一个迷你的InterbankFX实时账户。

那里的符号都有 "m "的标记。

例如EURUSDm。

我有10points3运行,手数为0.1(每点10美分),它工作得很好。

它对符号没有任何问题。

然后,我让10point3运行在FXDD(微型,允许0.01手数),它在手数为0.1时也能工作,但在手数为0.01时却不能工作。

它以0.01开出第一个头寸,然后在必要时无法将头寸加倍。这就像一只死老鼠。

当第一个仓位达到tp时,该仓位被关闭并获得利润。

然后它又以0.01手的大小开了一个新的头寸,又死了。

我不知道为什么会发生这种情况。

试着改变帐户正常值=2

 
mtaboneweb:
我觉得也有必要提一下,虽然我确实对SecureProfit和OrderstoProtect进行了修改,以确保在他们关闭2个以上的头寸时有更大的利润,但我从未在欧元/美元上超过4次交易。 发生的情况是,默认情况下OrderstoProtect是3,当你达到第3个位置时,它将寻找10pt的SecureProfit出场。 我对这些设置的改变使我在遇到第4个(较少的)头寸时不会惊慌失措,然后即使发生这种情况也会尝试14个点而不是10个点。

美元/瑞郎刚刚在实战中使我的账户余额下降,自从改变并只运行欧元/美元后,一直上升得非常好。 另外,我从不关闭软件。 我从来没有手动关闭过交易。 无论报告、新闻、周末等等,任何事情都是允许发生的。 这对一些人来说可能听起来很危险,我想有一天可能是这样的,但这些事件都会导致市场真正的移动,而不是几个小时/几天的平躺。 在我看来,到目前为止,我期待着这些时间,实际上已经帮助市场移动到足以关闭一些交易(到目前为止每次都有利润)。 到目前为止,即使它稍微向错误的方向发展,并开了第2、3、4个头寸,它也总是在继续之前退缩一下,这是我赚取更大利润的地方,因为更多的交易量较大,除非是4-6个,这比较温和。 如果它开了2-3个,我也不生气,因为我知道利润会更大,而且我还有空间/时间来关闭。

这是我刚刚运行的一个更新,它显示了3个未结头寸,可能会变成4个,但如果它下沉得足够多,在3个交易中会有一个体面的利润。 手数被搞乱了,因为我是在第一个头寸已经打开后测试MM的,似乎无论我走多低,它都不会低于0.30手开始。 现在我从0.24开始,这正是我想要的位置。 我将不得不进行更多的试验。

感谢大家的支持、信息、团队合作等。 在过去的12个月里,我对这个EA和设置的感觉远远好于我所尝试的其他任何东西,而且这一切都在一个软件中自动完成。 我已经为Intellicharts编写了超过100种不同的脚本,使用了几乎所有可用的指标和许多组合,通过回测取得了很好的效果,但在实战中总是失败。 每次向相反方向开双倍仓位,给你另一个机会,同时确保利润,这个想法起初对我来说似乎很疯狂,但它确实有效。 最初写这个EA的人是一个非常值得我感谢的人,同时也感谢其他所有做出贡献的人。

我相信这个EA......我认为当设置正确时,你会获得成功,我是说从长远来看......。

为了打开0.02和0.04的微观,最新发布的EA是什么?

 
kentashiburo:
如果你把它设置为0,你将没有任何的止损。

可以扣减止损。

如果

PIPS=X

MAxtrades=Y

那么 StopLoss= (X+1)*y,

Pips=5

MAxtrades=5

止损=(1+5)*5=30

kt

你是如何得到这个公式的?

谢谢老兄......从长远来看,这肯定会有帮助....。