问吧! - 页 136

 

暂停订单

各位朋友,大家好。

在MQL4的编程方面,我是一个真正的新手,但我每天都在学习。目前,我正在尝试以下方法。

在我的EA的主循环中,当某些条件得到满足时,就会打开一个订单。这个订单使用OrderSend函数,有一个给定的入场、止损和止盈。

每次只允许一个订单。

total = OrdersTotal();

if(total < 1)

{ 等等 等等

我想建立的是,当订单的止损或止盈被击中时,EA等待接受新的订单,直到当前的小时条(在止损或止盈被击中的条)结束。

目前的问题是,一旦止损或止盈被击中,在主循环中就会立即接受另一个订单。

你们能帮我解决这个问题吗?

FXX

 

合并EA需要帮助

大家好。

有谁知道如何将两个不同的EA合并成一个EA?请告诉我如何一步一步地做到这一点?

谢谢您的帮助!

 

取决于EA的逻辑

每个EA都有不同的逻辑,所以合并两个EA的方法取决于它们的逻辑。

那么,你想合并的EA在哪里?

Bill FX:
大家好。

有谁知道如何将两个不同的EA合并成一个EA?请告诉我如何一步一步地做到这一点?

谢谢你的帮助!
 

如何进行价值排名?需要帮助

有谁能帮助我如何创建等级函数

例如,我有一些像这样的双倍值。

a=3.0; b=4.0; c=5.0; d=2.0; e=1.0; f=6.0; g=0.0。

从高值到低值(6.0, 5.0, 4.0, 3.0, 2.0, 1.0, 0.0)

或(f,c,b,a,d,e,g)的值

所以等级的应该是这样的

排名号。(th)

f=1; c=2; b=3; a=4; d=5; e=6; g=7。

我需要的是一个函数,如果我输入值,它将返回等级。

int rank (double value)

{

处理所有的值。

返回(所有值中的一个值的等级)

}

我知道这很容易,如果我们只是做一个这样的函数

例如,"a "的值

int rank (double value)

{

if(a>b && a>c && a>d && a>e && a>f && a>g)

返回(1)。

.

.

.

如果(a<b && a<c && a<d && a<e && a<f && a<g)

返回(7)。

}

问题是当值的变化为2时,组合只有几个,但当变化增加时,例如5、7或10等,所以组合的等级会非常多。

希望有人能帮助我解决这个问题。

谢谢你,很抱歉我的英语不好,但我正在学习。

Pj...

 

使用一个数组,看看ArraySort()函数

好运

拉克斯

 

OBOS指数

我非常喜欢这个指数,但我需要帮助来改变它,因为我需要在指数触及买入和卖出区域时发出警报。当它发出警报时,它也能显示什么货币。

谢谢你的帮助。

附加的文件:
 
luxinterior:
使用一个数组,看看ArraySort()函数。

好运

拉克斯

我已经试过了,但还是很困惑。

需要有人能教我或告诉我如何做这件事。

也许你可以拉克斯?

谢谢你

 
primajaya:
每个EA都有不同的逻辑,所以合并两个EA的方法取决于它们的逻辑。 那么,你想合并的EA是什么?

嗨,primajaya。

谢谢你的反馈。我的意思是第1个EA是开仓交易,第2个EA是平仓交易,如果第1个EA开仓交易并有一些利润,我希望第2个EA在XXX利润时平仓交易,那么我应该怎么做?如果我把它们附在两个聊天室里,它们是可以工作的,但我想把两个合并为一个,我只需要打开一个EA。

谢谢你的帮助!

 
Bill FX:
嗨,primajaya。

谢谢你的反馈。我的意思是第1个EA是开仓交易,第2个EA是平仓交易,如果第1个EA开仓交易并有一些利润,我希望第2个EA在XXX利润时平仓交易,那么我应该怎么做?如果我把它们附在两个聊天室里,它们是可以工作的,但我想把两个合并为一个,我只需要打开一个EA。

谢谢你的帮助!

我仍然不知道第1和第2个EA的交易逻辑......。

但也许这可以帮助你。

尝试将两个EA合并为一个单一的EA。

因此,该EA应该有两个信号来开启交易。

第一个信号来自第一个EA,第二个信号来自第二个EA。

你可以使用OrderMagicNumber()作为两个信号所产生的每个开仓交易的标识...

例如。

如果第一信号的开仓交易,那么 -- 魔术数字是1111

如果通过第二个信号打开交易,那么 -- 魔术数字是2222

因此,如果我们想关闭第二个信号的交易,我们可以使用OrderMagicNumber()作为身份来关闭。

希望对您有所帮助...

Pj

 

10points3

求你了,程序员们!

我们需要在10points3的EA中,当第三笔交易开始时,第一笔交易关闭,我正在尝试,但它仍然关闭所有的位置。

事实上,我们有。

如果(PreviousOpenOrders>OpenOrders)

{

for(cnt=OrdersTotal();cnt>=0;cnt--)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。

mode=OrderType()。

如果(OrderSymbol()==Symbol() && OrderMagicNumber() == Magic)

{

如果(mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slipage,Blue); }

如果(模式==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slipage,Red); }

return(0);

}

}

}

我在想,要这样做。

1.当第二笔交易开始时,改变第一笔交易的魔法号码,例如magicnumber+1

2.当第三笔交易开始时,关闭第一笔交易,并指定magicnumber+1。

我说的对吗?

或者我可以用其他什么方法来确定第一笔交易的开仓,然后再将其关闭?

如果你能指导我或进行修改,更好,因为我不是一个程序员,我只是在学习。

这种改变将是霍利圣杯 的开始!!!。

附加的文件:
10p3v0.03_1.mq4  12 kb