[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 224 1...217218219220221222223224225226227228229230231...631 新评论 Dmitriy Buberman 2012.07.02 13:12 #2231 请帮助我改变我的EA代码中的资金管理。 在我的EA中,有两个条件 1 - 最低手数+与固定手数合作,或2 - 按可用资金的百分比增加手数 我希望在第一次交易失败后,手数增加0.01手,或在第二次交易失败后增加0.02手。 而在第三次亏损后,这批货又是最小的。 我需要可以粘贴到我的EA中的函数(最好是尽可能的简单)。 我试图通过include(lot_lib)把代码放进去,它产生了很多错误,不能工作。 预先感谢您的时间! gogent 2012.07.02 16:54 #2232 你好! 我在写代码,重点是把止损位放在过去三个柱子的最低/最高点。以下是所得到的结果。 double FindSL(int mode) { double sl; //уровень стоплосса double buf; //буфер double lvl1, lvl2, lvl3; //выборка из 3-х последних баров if (mode == 1) //покупали { lvl1 = iLow(symb, 0, 0); lvl2 = iLow(symb, 0, 1); lvl2 = iLow(symb, 0, 2); buf = MathMin(lvl1, lvl2); //ищем низ sl = MathMin(buf, lvl3); } else if (mode == 2) //продавали { lvl1 = iHigh(symb, 0, 0); lvl2 = iHigh(symb, 0, 1); lvl3 = iHigh(symb, 0, 2); buf = MathMax(lvl1, lvl2); //ищем вершину sl = MathMax(buf, lvl3); } return (sl); } 订单是由以下代码打开的。 int OpenOrder(int sell_or_buy) //Открытие ордеров { GetLot(); if(sell_or_buy==2) //покупка { StopLoss = FindSL(1); OrderSend(symb, OP_BUYSTOP, Lots, iHigh(symb, 0, 1), 0, StopLoss, iHigh(symb, 0, 1)+TakeProfit*Point, "Ichimoku Simple Adviser Trade", 1001, TimeCurrent()+ExpirationTime, Green); return (1); } else if (sell_or_buy==1) //продажа { StopLoss = FindSL(2); OrderSend(symb, OP_SELLSTOP, Lots, iLow(symb, 0, 1), 0, StopLoss, iLow(symb, 0, 1)-TakeProfit*Point, "Ichimoku Simple Adviser Trade", 1001, TimeCurrent()+ExpirationTime, Red); return (1); } else {return (0);} } StopLoss是一个全局变量。 在测试时,会有一个时刻,资金耗尽,一下子在一个交易中。批量很小,所以唯一的问题是,由于某种原因没有设置止损(等于0)。 我搞不清楚错误是什么。 请看一下代码,我哪里会犯错? Алексей Тарабанов 2012.07.02 19:09 #2233 gogent:你好!我在写代码,重点是把止损位放在过去三个柱子的最低/最高点。以下是所得到的结果。订单是由以下代码打开的。StopLoss是一个全局变量。在测试时,会有一个时刻,资金耗尽,一下子在一个交易中。批量很小,所以唯一的问题是,由于某种原因没有设置止损(等于0)。我搞不清楚错误是什么。请看一下代码,我可能在哪里犯了错误?购买后,止损 始终为0。 原因:没有定义变量lvl3(机械错误)。 [删除] 2012.07.02 19:18 #2234 你好。 我正在处理传播问题。差价总是对我不利。所以我应该把它加入到止损中,并从止盈中 减去它?因此,如果我想获得50点的净利润(例如,货币对的3点点差),这意味着我必须在订单中设置53点的获利。如果我的净损失为50点,那么应该给出47点的止损。我说对了吗? 提前感谢! Алексей Тарабанов 2012.07.02 19:21 #2235 01123456789:你好。我正在处理传播问题。差价总是对我不利。所以我应该把它加入到止损中,并从止盈中减去它?因此,如果我想获得50点的净利润(例如,货币对的3点点差),这意味着我必须在订单中设置53点的获利。如果我的净损失为50点,那么应该给出47点的止损。我说对了吗?提前感谢! 你好! 如果我们谈论的是你的计划和期望,那就对了。 如果我们从形式上讲,我不清楚什么叫 "按顺序......"。" 奉命......" Дмитрий 2012.07.03 05:03 #2236 你好!帮我解决一个自定义函数的问题。 我的理解是:如果条件为真,它返回的是isitpik-(真)。该条件是从AO的计算所在的第0个缓冲区开始计算的。或者只有最后一个i-bar在缓冲区内,当这些条件出现时,(true)被传递给isitpik()?为什么要给变量(i)分配int类型,如果它是由上述条件完成的。 bool isitpik( int i ) { if(ExtBuffer0[i]>0 && ExtBuffer0[i]>ExtBuffer0[i+1] && ExtBuffer0[i]>ExtBuffer0[i-1])return(true); if(ExtBuffer0[i]<0 && ExtBuffer0[i]<ExtBuffer0[i+1] && ExtBuffer0[i]<ExtBuffer0[i-1])return(true); } [删除] 2012.07.03 05:12 #2237 tara: 你好! 如果是关于你的计划和期望,这很好。 如果我们从形式上讲,我不清楚 "在一个订单中......指定获利=53点 "是什么意思。 当我说。"我的意思是一个挂单(例如,买入止损),有两栏止损和止盈。也就是说,如果我想获得50点的利润,我应该在挂单中指定53点的获利,而不是50点,因为3点会影响点差。对吗? PapaYozh 2012.07.03 05:26 #2238 01123456789: 通过说。"我的意思是一个挂单(例如,买入止损),有两栏止损和止盈。也就是说,如果我想获得50点的利润,我应该在挂单中指定53点的获利,而不是50点,因为3点会影响点差。对吗? 在订单中,TP和SL应该以价格而不是以点数来指定。 Дмитрий 2012.07.03 05:28 #2239 01123456789: 通过说。"我的意思是一个挂单(例如,买入止损),有两栏止损和止盈。也就是说,如果我想获得50点的利润,我应该在挂单中指定53点的获利,而不是50点,因为3点会影响点差。对吗? 每家经纪公司的合同中都有这一条。买入订单沿着卖出线关闭,卖出订单沿着买入线关闭。所有你理解正确。 根据点差,你将把它加到你的利润中。如果你想获得50点,你将获得+3(取决于货币对的点差)。 不要忘记,所有的图表都是由Bid绘制的。 [删除] 2012.07.03 06:06 #2240 deyron: 每个经纪公司的合同中都有这个规定。买入订单在卖出线关闭,卖出订单在买入线关闭。 是这样吗?在我看来,你似乎搞错了。买入订单在卖出价上打开,在买入价上关闭。卖单由买入线打开,由卖出线关闭。换句话说,如果我们买入(卖出价),我们通过卖出(买入价)结束交易。 1...217218219220221222223224225226227228229230231...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
请帮助我改变我的EA代码中的资金管理。
在我的EA中,有两个条件
1 - 最低手数+与固定手数合作,或2 - 按可用资金的百分比增加手数
我希望在第一次交易失败后,手数增加0.01手,或在第二次交易失败后增加0.02手。
而在第三次亏损后,这批货又是最小的。
我需要可以粘贴到我的EA中的函数(最好是尽可能的简单)。
我试图通过include(lot_lib)把代码放进去,它产生了很多错误,不能工作。
预先感谢您的时间!
你好!
我在写代码,重点是把止损位放在过去三个柱子的最低/最高点。以下是所得到的结果。
订单是由以下代码打开的。
StopLoss是一个全局变量。
在测试时,会有一个时刻,资金耗尽,一下子在一个交易中。批量很小,所以唯一的问题是,由于某种原因没有设置止损(等于0)。
我搞不清楚错误是什么。
请看一下代码,我哪里会犯错?
你好!
我在写代码,重点是把止损位放在过去三个柱子的最低/最高点。以下是所得到的结果。
订单是由以下代码打开的。
StopLoss是一个全局变量。
在测试时,会有一个时刻,资金耗尽,一下子在一个交易中。批量很小,所以唯一的问题是,由于某种原因没有设置止损(等于0)。
我搞不清楚错误是什么。
请看一下代码,我可能在哪里犯了错误?
购买后,止损 始终为0。
原因:没有定义变量lvl3(机械错误)。
你好。
我正在处理传播问题。差价总是对我不利。所以我应该把它加入到止损中,并从止盈中 减去它?因此,如果我想获得50点的净利润(例如,货币对的3点点差),这意味着我必须在订单中设置53点的获利。如果我的净损失为50点,那么应该给出47点的止损。我说对了吗?
提前感谢!
你好。
我正在处理传播问题。差价总是对我不利。所以我应该把它加入到止损中,并从止盈中减去它?因此,如果我想获得50点的净利润(例如,货币对的3点点差),这意味着我必须在订单中设置53点的获利。如果我的净损失为50点,那么应该给出47点的止损。我说对了吗?
提前感谢!
你好!
如果我们谈论的是你的计划和期望,那就对了。
如果我们从形式上讲,我不清楚什么叫 "按顺序......"。" 奉命......"
你好!帮我解决一个自定义函数的问题。
我的理解是:如果条件为真,它返回的是isitpik-(真)。该条件是从AO的计算所在的第0个缓冲区开始计算的。或者只有最后一个i-bar在缓冲区内,当这些条件出现时,(true)被传递给isitpik()?为什么要给变量(i)分配int类型,如果它是由上述条件完成的。
你好!
如果是关于你的计划和期望,这很好。
如果我们从形式上讲,我不清楚 "在一个订单中......指定获利=53点 "是什么意思。
通过说。"我的意思是一个挂单(例如,买入止损),有两栏止损和止盈。也就是说,如果我想获得50点的利润,我应该在挂单中指定53点的获利,而不是50点,因为3点会影响点差。对吗?
在订单中,TP和SL应该以价格而不是以点数来指定。
通过说。"我的意思是一个挂单(例如,买入止损),有两栏止损和止盈。也就是说,如果我想获得50点的利润,我应该在挂单中指定53点的获利,而不是50点,因为3点会影响点差。对吗?
每个经纪公司的合同中都有这个规定。买入订单在卖出线关闭,卖出订单在买入线关闭。