[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 89

 

帮助!请帮助--有一个自定义指标,除其他事项外,还可以画出买入和卖出箭头。如何根据它制作一个EA????如何让它更容易--判断一个箭头是否来自EA?或者,指标的代码是作为专家顾问的一个功能而制作的????。我对MQL很熟悉。我在那里没有找到我问题的答案。

我对它非常感兴趣。

 
andrey14 >> :

帮助!请帮助--有一个自定义指标,除其他事项外,还可以画出买入和卖出箭头。如何根据它制作一个EA????如何让它更容易--判断一个箭头是否来自EA?或者,指标的代码是作为专家顾问的一个功能而制作的????。我对MQL很熟悉。 我在那里没有找到我问题的答案。

帮助我。

https://www.mql5.com/ru/code/8524

 

很好,一个现成的顾问!我会注意的,谢谢你

 
sergeev >> :
在尝试的日志中说什么?

没有说什么

 
Mischek >> :

https://www.mql5.com/ru/code/8524

事实证明,情况比这要复杂一些。该专家顾问与指标一起工作,箭头被分配到两个指标阵列(指标缓冲区)。在我的指标中,对象(箭头)是用ObjectCreate()方法创建的。据我所知,对象(箭头)是根据时间价格坐标创建的。我认为最简单的方法是做一个专家顾问,在一个函数中使用指标公式,可以说,在相同的条件下开仓而不是箭头。如何成为?帮助!

 
andrey14 >> :

事实证明,情况比这要复杂一些。该专家顾问与指标一起工作,箭头被分配到两个指标阵列(指标缓冲区)。在我的指标中,对象(箭头)是用ObjectCreate()方法创建的。在这种情况下该怎么做?帮助!

你只需将指标的代码转移到你的专家顾问。在那里,代替ObjectCreate()命令为箭头Buy打开一个Buy交易。卖出的方式也是如此。
 
看了一下类似主题的列表--看起来找到一个对象是唯一的方法,如果不算的话--把指标代码完全转移到EA中。也就是说,要从这样的指标上拒绝。 请告知如何使它更容易。还是有其他方法?
 
LostTrader >> :
你可以简单地将指标的代码转移到专家顾问中。在那里,代替购买箭头的ObjectCreate()命令,打开一个购买交易。卖出的情况也是如此。

谢谢你!我会做的--我认为没有什么困难。

 

你好

在这里帮我一下。一句话。该EA只卖出和关闭,它在一个订单上工作。当随机指数在80以上时,我们可以抓住一些损失,所以我有一个想法,用KimAisCloseLastPosByStop 函数将条件改为在止损时卖出。也就是说,当最后一个头寸已经在止损上平仓时,它是真的 ,而当它没有平仓时,则 假的,而且这些条件已经被输入到卖出条件中。当连接时,一个仓位被打开,该仓位被止损关闭或根本不关闭。请告诉我代码中有什么问题,或者如何使它看起来像这样

i

int start()

{

䵮䵮

cnt=0。

票。

总计。

StochK_0, // K线值

StochD_1, // D线的数值

SL=StopLoss。

bool

isCloseLastPosByStop(NULL,OP_SELL, MagicNamber); // 函数 KimA

StochK_0=iStochastic(NULL, 0, K_per,D_per,Slow,MODE_SMA,0,MODE_MAIN, 0); // K

StochD_1=iStochastic(NULL, 0, K_per,D_per,Slow,MODE_SMA,0,MODE_MAIN, 2); /D

ticket= OrderTicket()。

total=OrdersTotal()。

如果 (total<1)

如果( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) ==0)

{

if ( (StochK_0<StochD_1) && (StochD_1 > 80) // 1st ist sale

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*Point,0, "My EXP", MagicNamber,0,Green); // sell

OrderSelect(0, SELECT_BY_POS)。

如果(OrderSelect(0, SELECT_BY_POS)==true )

Print("SELECT_BY_POS")。

否则

Print("选择失败的错误:",GetLastError())。

如果((StochK_0<30)&&(StochD_1<30))

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet)。

}

否则

如果( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) ==1)

{

如果 ((StochK_0<StochD_1) && (StochK_0 < 60) && (StochD_1 < 60) )第二 屁股 出售

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*0,0, "My EXP", MagicNamber, 0,Green); //

OrderSelect(0, SELECT_BY_POS)。

如果(OrderSelect(0, SELECT_BY_POS)==true )

Print("SELECT_BY_POS")。

否则

Print("失败的选择2错误:",GetLastError())。

如果((StochK_0<30)&&(StochD_1<30)) // 关闭条件

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet)。

}

return(0);

}

//___ fu ______ isCloseLastPosByStop(NULL,OP_SELL, MagicNamber)______

bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {

...............itd..............................

 
如何从一个指标制作一个简单的顾问,在Arrows?????? 上进行交易。