基本问题... - 页 9 1234567891011 新评论 matrixebiz 2008.11.11 19:37 #81 Zen_Leow: matrixebiz,你是否考虑过在同一根蜡烛上,在蜡烛收盘前,交易开盘和收盘的可能性? 你可能也应该检查一下历史列表。我总是把我写的这个小函数移植到我所有的EA中,也许你也会发现它很有用。 bool DecideToOpenTrade() { int total = OrdersTotal(); if (total > 0) { for(int cnt=0;cnt<total;cnt++) { if(OrderSelect(cnt,SELECT_BY_POS)) { if(OrderSymbol()==Symbol() && OrderMagicNumber() == EA_MAGIC_NUM) { return (false); } } } } // in case trades has already opened and closed within the candle int histotal = OrdersHistoryTotal(); if (histotal > 0) { for(cnt=0;cnt<histotal;cnt++) { if(OrderSelect(cnt,SELECT_BY_POS,MODE_HISTORY)) { if(OrderSymbol()==Symbol() && OrderMagicNumber() == EA_MAGIC_NUM) { if (Time[0] <= OrderOpenTime()) // don't open a new position if we're still on the same candle { return (false); } } } } } return (true); } int start() { // some time check codes first.. blah blah // ... // ... // ... // check signals if (Should_Buy()) { if (DecideToOpenTrade()) { //... trade opening codes here } } if (Should_Sell()) { if (DecideToOpenTrade()) { //... trade opening codes here } } } 注意:这个函数假定你已经为EA_MAGIC_NUM设置了一个唯一的值。这样一来,检查就不会看其他EA所开的交易。 Should_Buy()和Should_Sell()是我在所有的EA中创建的函数,用于确定是否发生了买入或卖出信号。 希望这有帮助。如果你需要进一步澄清,请给我发邮件。 问候。 禅宗 谢谢你,Zen 我想这对我很有帮助 只是可能需要做一些改变,因为我的EA是一个多货币交易的EA,所以这就是为什么我不能检查特定的货币,不知道EA用哪种货币对 进行交易,因此我必须改变代码来寻找特定的OrderComment(),而不是你的OrderSymbol()的原因。我使用下面这段代码来检查当前是否已经存在交易,但在检查是否已经在同一条线上关闭交易时遇到了麻烦。 for(int i=totalorders-1;i>=0;i-) { OrderSelect(i, SELECT_BY_POS)。 如果(OrderComment() == EA_Name + MagicNumber) GoOrders = false; } 如果(GoOrders){orders();}。 mcmalach 2009.01.18 02:39 #82 每个信号1次交易 你好,谁能帮帮我? 我是一个编码新手,我正在做的一个EA有一个问题,我很想让这个EA下一笔交易,然后等待另一个信号,再进入另一个交易。 现在,它下了一笔交易,一旦交易结束,它就重新进入另一笔交易,而不等待下一个信号。 感谢任何帮助。 bearfoot090 2009.01.22 18:57 #83 请帮助我清除这个错误 我最近在研究这个专家,但仍然无法清除这个错误,所以我真的希望这里的任何人可以帮助我,使这个专家在条件相反的情况下关闭一个订单,请... 以下是错误信息。 2009.01.07 08:46:58 2008.05.28 04:20 USDJPY,H1: OrderClose函数 的未知票197 2009.01.07 08:46:58 2008.05.28 04:20 USDJPY,H1: OrderClose error 4108 先谢谢了。 int start() { if( iMA(NULL,0,5, 0,MODE_EMA, PRICE_CLOSE, 0) <iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0) ) { OrderSend(Symbol( ),OP_SELL, Lots,Bid, 0,Bid+StopLoss* Point,Bid- TakeProfit* Point,"", SystemMagicNumbe r,0,Red)。 返回(0)。 } 如果( iMA(NULL,0,5, 0,MODE_EMA, PRICE_CLOSE, 0)>iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0) ) { OrderSend(Symbol( ),OP_BUY, Lots,Ask, 0,Ask-StopLoss* Point,Ask+ TakeProfit* Point,"", SystemMagicNumbe r,0,Blue) 。 返回(0)。 } 如果(OrderType() ==OP_SELL) { 如果(iMA(NULL,0, 5,0,MODE_ EMA, PRICE_CLOSE, 0)>iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0) { OrderClose(SystemMa gicNumber, Lots,OrderCloseP rice(),0) 。 返回(0)。 } } 如果(OrderType() ==OP_BUY) { 如果(iMA(NULL,0, 5,0,MODE_ EMA, PRICE_CLOSE, 0)<iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0) { OrderClose(SystemMa gicNumber, Lots,OrderCloseP rice(),0) 。 返回(0)。 } } Basic questions ... 问吧! EA不会在多对上运行,需要帮助 MetaMaster 2009.01.25 19:12 #84 如何创建有限的直线对象 创建无限的趋势线对象是可能的。但我怎样才能从一个点到另一个点绘制有限的线?谢谢你的答复。 Michel 2009.01.26 07:24 #85 MetaMaster: 可以创建无限的趋势线_对象。但我怎样才能把有限的线从一个点画到另一个点?谢谢你的回答。 设置OBJPROP_RAY为false Libram 2009.02.11 13:48 #86 EA在信号发出后每隔一格 就发送一次订单。请帮助我。 现在我正在学习制作EA。 如何让EA明白,我只想在每一个信号出现时发送一个订单。 其逻辑是 在它发出信号之前,它保持平静。 信号出现后,它立即发送订单,一次。 然后等待另一个信号。 问题是 这个Ea应该能够发送订单,无论之前的订单是否被清算。 所以,我不能对它进行编码,只有在前一个订单关闭后才能发送订单。 谢谢你。 shabane1 2009.02.14 07:01 #87 对基于指标的EA的帮助 -------------------------------------------------------------------------------- 亲爱的各位 我有一个指标(带信号的3ma交叉),我需要把它改成EA,我可以把ind init()复制到 expert init(),ind start()复制到 expert start(),然后在箭头给我信号时加上卖出和买入功能 吗? 我这样做了,但它不工作 附加的文件: 3ma_cross_w_alert_v2gs2.mq4 9 kb dpaulo 2009.02.23 06:46 #88 帮助解决编码问题 你好 我想写一个非常简单的EA,在固定的时间间隔内打开一些挂单。 在使用过程中,它打开了订单,但却一直在无休止地打开它们。 我如何编写代码,使订单只打开一次,而且如果一个订单成为实时订单并击中TP或SL,那么它将被替换为原始列表中的一个新的挂单? 非常感谢提供的任何帮助。 丹 [删除] 2009.08.30 03:52 #89 每一个神奇的数字有一个交易? 我正在编写一个EA的脚本,它将根据手动交易 决定自动打开交易。例如,我将查看图表并决定我想在什么价位开单,止损和止盈是什么,等等...。然后,我将设置EA,当达到该价格时,它将打开交易。 我需要使EA在每个魔法数字上只开一个交易。我将手动设置魔法数字,每个数字都是唯一的。这样一来,如果交易被打开,然后被止损,如果再次达到交易价格,EA将不会尝试打开另一笔交易。 对于如何实现这一目标有什么想法吗?一些代码例子也会有帮助 pavaka 2009.08.30 06:01 #90 ... jerzzhere: 我正在编写一个EA脚本,它将根据人工交易的决定自动打开交易。例如,我将查看图表并决定我想在什么价位开单,止损和止盈是什么,等等。然后,我将设置EA,当达到该价格时,它将打开交易。我需要让EA对每个魔法数字只开一次交易。我将手动设置魔法数字,每个数字将是唯一的。这样一来,如果交易被打开,然后被止损,如果再次达到交易价格,EA将不会尝试打开另一笔交易。 有什么想法可以实现这个目标吗?一些代码例子也会有帮助 我曾在这个论坛上发表过一篇文章,其中有一个神奇数字的解决方案......不幸的是,Davidke和Walander讨厌我的创新想法,并在论坛上大肆宣传......因此,我的文章被删除了。 1234567891011 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
matrixebiz,你是否考虑过在同一根蜡烛上,在蜡烛收盘前,交易开盘和收盘的可能性? 你可能也应该检查一下历史列表。
我总是把我写的这个小函数移植到我所有的EA中,也许你也会发现它很有用。
bool DecideToOpenTrade()
{
int total = OrdersTotal();
if (total > 0)
{
for(int cnt=0;cnt<total;cnt++)
{
if(OrderSelect(cnt,SELECT_BY_POS))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber() == EA_MAGIC_NUM)
{
return (false);
}
}
}
}
// in case trades has already opened and closed within the candle
int histotal = OrdersHistoryTotal();
if (histotal > 0)
{
for(cnt=0;cnt<histotal;cnt++)
{
if(OrderSelect(cnt,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber() == EA_MAGIC_NUM)
{
if (Time[0] <= OrderOpenTime()) // don't open a new position if we're still on the same candle
{
return (false);
}
}
}
}
}
return (true);
}
int start()
{
// some time check codes first.. blah blah
// ...
// ...
// ...
// check signals
if (Should_Buy())
{
if (DecideToOpenTrade())
{
//... trade opening codes here
}
}
if (Should_Sell())
{
if (DecideToOpenTrade())
{
//... trade opening codes here
}
}
}
注意:这个函数假定你已经为EA_MAGIC_NUM设置了一个唯一的值。这样一来,检查就不会看其他EA所开的交易。
Should_Buy()和Should_Sell()是我在所有的EA中创建的函数,用于确定是否发生了买入或卖出信号。
希望这有帮助。如果你需要进一步澄清,请给我发邮件。
问候。
禅宗谢谢你,Zen
我想这对我很有帮助
只是可能需要做一些改变,因为我的EA是一个多货币交易的EA,所以这就是为什么我不能检查特定的货币,不知道EA用哪种货币对 进行交易,因此我必须改变代码来寻找特定的OrderComment(),而不是你的OrderSymbol()的原因。我使用下面这段代码来检查当前是否已经存在交易,但在检查是否已经在同一条线上关闭交易时遇到了麻烦。
for(int i=totalorders-1;i>=0;i-)
{
OrderSelect(i, SELECT_BY_POS)。
如果(OrderComment() == EA_Name + MagicNumber) GoOrders = false; }
如果(GoOrders){orders();}。
每个信号1次交易
你好,谁能帮帮我?
我是一个编码新手,我正在做的一个EA有一个问题,我很想让这个EA下一笔交易,然后等待另一个信号,再进入另一个交易。
现在,它下了一笔交易,一旦交易结束,它就重新进入另一笔交易,而不等待下一个信号。
感谢任何帮助。
请帮助我清除这个错误
我最近在研究这个专家,但仍然无法清除这个错误,所以我真的希望这里的任何人可以帮助我,使这个专家在条件相反的情况下关闭一个订单,请...
以下是错误信息。
2009.01.07 08:46:58 2008.05.28 04:20 USDJPY,H1: OrderClose函数 的未知票197
2009.01.07 08:46:58 2008.05.28 04:20 USDJPY,H1: OrderClose error 4108
先谢谢了。
int start()
{
if( iMA(NULL,0,5, 0,MODE_EMA, PRICE_CLOSE, 0) <iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0)
)
{
OrderSend(Symbol( ),OP_SELL, Lots,Bid, 0,Bid+StopLoss* Point,Bid- TakeProfit* Point,"", SystemMagicNumbe r,0,Red)。
返回(0)。
}
如果( iMA(NULL,0,5, 0,MODE_EMA, PRICE_CLOSE, 0)>iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0)
)
{
OrderSend(Symbol( ),OP_BUY, Lots,Ask, 0,Ask-StopLoss* Point,Ask+ TakeProfit* Point,"", SystemMagicNumbe r,0,Blue) 。
返回(0)。
}
如果(OrderType() ==OP_SELL)
{
如果(iMA(NULL,0, 5,0,MODE_ EMA, PRICE_CLOSE, 0)>iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0)
{
OrderClose(SystemMa gicNumber, Lots,OrderCloseP rice(),0) 。
返回(0)。
}
}
如果(OrderType() ==OP_BUY)
{
如果(iMA(NULL,0, 5,0,MODE_ EMA, PRICE_CLOSE, 0)<iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0)
{
OrderClose(SystemMa gicNumber, Lots,OrderCloseP rice(),0) 。
返回(0)。
}
}
如何创建有限的直线对象
创建无限的趋势线对象是可能的。但我怎样才能从一个点到另一个点绘制有限的线?谢谢你的答复。
可以创建无限的趋势线_对象。但我怎样才能把有限的线从一个点画到另一个点?谢谢你的回答。
设置OBJPROP_RAY为false
EA在信号发出后每隔一格 就发送一次订单。请帮助我。
现在我正在学习制作EA。
如何让EA明白,我只想在每一个信号出现时发送一个订单。
其逻辑是
在它发出信号之前,它保持平静。
信号出现后,它立即发送订单,一次。
然后等待另一个信号。
问题是
这个Ea应该能够发送订单,无论之前的订单是否被清算。
所以,我不能对它进行编码,只有在前一个订单关闭后才能发送订单。
谢谢你。
对基于指标的EA的帮助
--------------------------------------------------------------------------------
亲爱的各位
我有一个指标(带信号的3ma交叉),我需要把它改成EA,我可以把ind init()复制到 expert init(),ind start()复制到 expert start(),然后在箭头给我信号时加上卖出和买入功能 吗?
我这样做了,但它不工作
帮助解决编码问题
你好
我想写一个非常简单的EA,在固定的时间间隔内打开一些挂单。 在使用过程中,它打开了订单,但却一直在无休止地打开它们。 我如何编写代码,使订单只打开一次,而且如果一个订单成为实时订单并击中TP或SL,那么它将被替换为原始列表中的一个新的挂单?
非常感谢提供的任何帮助。
丹
每一个神奇的数字有一个交易?
我正在编写一个EA的脚本,它将根据手动交易 决定自动打开交易。例如,我将查看图表并决定我想在什么价位开单,止损和止盈是什么,等等...。然后,我将设置EA,当达到该价格时,它将打开交易。
我需要使EA在每个魔法数字上只开一个交易。我将手动设置魔法数字,每个数字都是唯一的。这样一来,如果交易被打开,然后被止损,如果再次达到交易价格,EA将不会尝试打开另一笔交易。
对于如何实现这一目标有什么想法吗?一些代码例子也会有帮助
...
我正在编写一个EA脚本,它将根据人工交易的决定自动打开交易。例如,我将查看图表并决定我想在什么价位开单,止损和止盈是什么,等等。然后,我将设置EA,当达到该价格时,它将打开交易。
我需要让EA对每个魔法数字只开一次交易。我将手动设置魔法数字,每个数字将是唯一的。这样一来,如果交易被打开,然后被止损,如果再次达到交易价格,EA将不会尝试打开另一笔交易。
有什么想法可以实现这个目标吗?一些代码例子也会有帮助我曾在这个论坛上发表过一篇文章,其中有一个神奇数字的解决方案......不幸的是,Davidke和Walander讨厌我的创新想法,并在论坛上大肆宣传......因此,我的文章被删除了。