问吧! - 页 134

 
bakhul:
谁能帮我在这个过滤器上添加警报,当它越过0级或改变颜色时。 谢谢你想帮助我......

也许你在这里发帖会有更好的运气:https://www.mql5.com/en/forum

 

目前有多少来自EA的买入和卖出订单

我刚刚浏览了134页,希望有人已经回答了这个问题。但我很不走运。

在创建和调整各种类型的交叉点、枢轴点、ATR范围和突破策略之后,我可以用我拥有的数百个不同的指标来设想。我意识到,一个完整的自动化EA需要大量的变量,你需要为这些变量编码。因此,我开始创建用户辅助的专家顾问。那么,对于眼前的问题...

什么代码可以用来计算EA目前在市场上有多少个未结的买单和多少个未结的卖单。

我不希望它计算总共有多少未结订单,因为我也会在同一个账户上下订单,以抵消EA当前下的订单。

最终我想设置过滤器,改变买入和卖出订单的比例,以达到对冲的目的。

 

请提供一点帮助...

大家好。

我最初是作为一个新的主题发布的,但它被移到了另一个编程主题中(我不反对它的移动,BTW),现在似乎由于该主题中的发帖量而丢失了。

也许这里有人可以帮助我?

经过近7天的试验和错误、剪切和粘贴以及数小时的研究,我几乎完成了我的第一个EA....。

谁能告诉我如何向EA发出退出或停止功能

我想让EA删除所有当前和待定的交易,并在权益达到10,000后退出。下面是到目前为止代码的这一部分。

bool StopTrade;

int total = OrdersTotal(), cnt = 0, ExitAtEquity=10000;

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

{

OrderSelect(0,SELECT_BY_POS,MODE_TRADES);

if (AccountEquity ()== ExitAtEquity)//(TimeCurrent()- OrderOpenTime() >= ActiveMinutes*60 )

{if(OrderType()==OP_BUY)

OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);

if(OrderType()==OP_SELL)

OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);

if(OrderType()>OP_SELL)

OrderDelete(OrderTicket());

StopTrade=true;}

}

if (dclose==dopen && OrdersTotal() < ConcurrentTrades && StopTrade != true)

正如你所看到的,EA查看了净值,然后将StopTrade变量的bool值设置为true。然后EA确认该命令,在StopTrade != true的情况下,在一个周期内不处理任何事情,但随后StopTrade的bool值被重置,我想交易继续进行。

首先,我是否有办法让它以我现在的方式做我需要做的事情?

其次,是否有一个函数可以让我简单地告诉EA退出?

非常感谢所有的帮助。

注)。

cutzpr - How Many Currently open Buy, and Sell Orders from EA

我想我的部分代码可以帮助你实现你的需求。

 

我想了想,一个循环将循环所有未结订单,这将是一个开始,但我不知道如何告诉EA,使它只看EA 的订单,而不考虑我手动下的订单。谢谢。

 

神奇的数字

cutzpr - 你需要使用一个神奇的数字,然后使用类似以下的东西。

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

{

OrderSelect(0,SELECT_BY_POS,MODES_TRADES)。

如果(OrderMagicNumber()==yourmagicnumber)

{如果(OrderType()==OP_BUY)

 

看了一下那段代码,我想出了下面这段代码。我不确定它的编码是否正确。我设置了

int MaxLong=5,MaxShort=5。

外置双数Magic=10000。

外置int MaxOpenOrders=10。

所以...

如果(b<=MaxLong)

{交易

}

如果 (s<=MaxShort)

{交易

}

但是EA仍然在发送最大买入和最大卖出。而不是计算每个订单有多少,并将自己限制在最大长线和短线上。我知道这段代码一定有问题,但我看不出来。

for (int cnt = total ; cnt >=0 ; cnt-- )

{

OrderSelect(0,SELECT_BY_POS,MODE_TRADES);

if (OrderMagicNumber()==Magic)

{if(OrderType()==OP_BUY)

{

b++; // add order to Long Quantity

if(TP != 0)

{

if(b!= 0)

{

if(Bid >= ((OrderOpenPrice()+TP*Poin)+Spread))

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Green); // Long position closed.

CMT=OrderCloseTime();

b--; // Long Order closed. Remove one order from total Longs

return(0);

}

}

}

}

if (OrderMagicNumber()==Magic)

{if(OrderType()==OP_SELL)

s++; // Add one to Short order Quantity

if (TP != 0)

{

if(s!= 0)

{

if(Ask <= ((OrderOpenPrice()-TP*Poin)+Spread))

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Green); // Short position closed.

CMT=OrderCloseTime();

s--; // Short Order Closed. Remove one order from total shorts

return(0);

}

}

}

}

}
 
cutzpr:
看了一下这段代码,我想出了下面这段代码。我不确定它的编码是否正确。我设置了

int MaxLong=5,MaxShort=5;

外置双数Magic=10000。

外置int MaxOpenOrders=10;

所以...

如果(b<=MaxLong)

{交易

}

如果 (s<=MaxShort)

{交易

}

但是EA仍然在发送最大买入和最大卖出。而不是计算每个订单有多少,并将自己限制在最大长线和短线上。我知道这段代码肯定有问题,但我看不出来。

我认为你把事情搞得太复杂了。试着用几个较短的代码部分来代替一个大的函数。这应该给你一些提示。

int totalOrders(int type)

{

int totalNumber = 0;

for (int cnt = total ; cnt >=0 ; cnt-- )

{

OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);

if (OrderMagicNumber() == Magic && OrderType() == type) totalNumber++;

}

return(totalNumber);

}

[/CODE]

AND HERE IS EXAMPLE HOW YOU CAN USE IT

[CODE]

int totalBuy = totalOrders(OP_BUY);

int totalSell = totalOrders(OP_SELL);

if( (totalBuy + totalSell) < MaxOpenOrders)/*TOTAL NUMBER OF ORDERS WASN'T REACHED*/

{

if(totalBuy <= MaxLongOrders)

{

//OPENING LONG IS PERMITED

}

if(totalSell <= MaxShortOrders)

{

//OPENING SHORT IS PERMITED

}

}

 

[ASK]指标 "SilverTrend_Signal"

我是一个外汇和mql4编程的 初学者。我有一个指标SilverTrend_Signal(我在这里附上),并且

我想用这个指标做一个EA,但是我有一个问题,这个指标的信号可以在同一个柱子里改变

变化,比如上升趋势信号箭头出现在图表中,然后又消失了,可能会变成下降趋势信号箭头。

变化为下降趋势的信号箭头,在同一个柱子里。谁能帮我解决这个问题?

我在M1时间段和欧盟使用这个指标。

非常感谢您。

(很抱歉,我的英语不够好。)

附加的文件:
 

我的个人意见是,你应该远离使用 重绘信号的指标。特别是在M1图表上。信号会变化得太频繁。你只是在寻找不稳定的信号和麻烦。过去的历史看起来不错,因为它是过去的。

 
willya:
我是一个外汇和mql4编程的初学者。我有一个指标SilverTrend_Signal(我在这里附上)和

我想用这个指标做一个EA,但我有一个问题,这个指标的信号可以改变

变化,比如上升趋势信号箭头出现在图表中,然后可能消失,并可能在同一时间变为下降趋势信号箭头。

变化为下降趋势的信号箭头,在同一个柱子里。谁能帮我解决这个问题?

我在M1时间段和欧盟使用这个指标。

非常感谢你。

(对不起,我的英语不够好)

我不确定这个指标是如何重绘的,但如果它只在当前柱状图上重绘,那么在柱状图(确认)关闭时使用信号就可以了。

如果它的重绘时间超过了当前的条形图,那么你可以忘记使用其信号的EA。

傅瑞福