[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 38 1...313233343536373839404142434445...432 新评论 Viktar Dzemikhau 2012.12.25 15:39 #371 keep87:这有点简单,我们将在启动函数内工作。首先,我们将创建一个变量,在其中写入最后一根蜡烛的方向。int Candle=-1; 我们将用一些数值来填充它,其中一个表示看涨的蜡烛,另一个表示看跌的蜡烛。如果是-1,那么它就什么都不是(要么无法确定方向,要么它没有方向close=open)。 我建议用交易指令来类比,0-买入,1-卖出。我们进一步写道。如果(Close[1]>Open[1]) Candle=0; 否则 如果(Close[1]<Open[1] Candle=1;现在我们已经定义了一个方向,我们可以直接在OrderSend( string symbol,int cmd, ...the rest of the crap...) 函数中使用它。if(Candle!=-1) OrderSend( Symbol(),Candle, ...其他东西...)。或者按照你的比喻。如果(Candle==0) OpenBuy()。如果(Candle==1)OpenSell()。 是的,事实上,它和我在这里写的函数是一样的,比较一下它的返回值。我不想把所有的代码都写在开头,我正在学习把所有的东西分开。我也明白这个逻辑,谢谢你。 削除済み 2012.12.25 16:29 #372 hoz:这是我时常使用的方式。看,现在的函数看起来像这样。我在日志中看到。因此,最初从买入价到止损,有1.3204-1.3194=0.001 点的差异。进一步的1.3210 - 1.3201 =0.009 分而在第二种情况下,由于某种原因,止损点更接近于进场价格,但并没有出现错误!在这种情况下,我们的止损点就会出现。我在思考,没有理解。我后来以不同的方式纠正了这个错误。代码中已经有了条件。if(price > Ask) && if(price < Bid) 分别用于购买和出售。还是有另一种变体?现在我们已经没有错误了。但是,尽管如此,我还是想听听一个更有经验的程序员的意见。 这就是我所写的内容。第二个错误是,你没有检查你把订单放在哪里。 Kobalerro 2012.12.25 16:44 #373 r772ra:也可能是这样。if(NumberOfPositions("EURUSD")==0 && NumberOfPositions()<10) 而这里的功能是 这更接近于事实。非常感谢你,我将试一试。 pasha5282 2012.12.25 20:50 #374 建议如果你能在mql4中对接变量,即两个int变量,它们需要对接,一个变量的数字是59,另一个是17,我需要得到5917? Viktar Dzemikhau 2012.12.25 21:00 #375 pasha5282:建议在mql4中是否可以对接变量,即两个int变量,它们需要对接,一个变量的数字是59,另一个是17,我需要得到5917? HMM。在我读完这篇文章之前,我并不明白你的意思 :)你想在输出中获得什么类型的数据?事实证明,我认为解决这种情况的方法是这样的。1.将int 59和17转换为字符串类型2.然后我们将这些字符串的数据连接起来。3.我们将它们转换回int类型也许还有其他的变体,但我目前无法想到其他。 [删除] 2012.12.25 21:05 #376 pasha5282:建议如果你能在mql4中对接变量,即两个int变量,它们需要对接,一个变量的数字是59,另一个是17,我需要得到5917? 5917= (StrToInteger(DoubleToStr(59.123,0) + DoubleToStr(17.456,0))xxx pasha5282 2012.12.25 21:10 #377 在php中,你可以对接变量,即$one = 59; $two = 17;$decision= $one.$two; 所以我们不是把两个数字相加,而是把它们 "粘 "在一起,得到5917。 Viktar Dzemikhau 2012.12.25 21:17 #378 pasha5282: 在php中,你可以对接变量,即$one = 59; $two = 17;$decision= $one.$two; 所以我们没有把两个数字放在一起,我们把它们 "粘 "在一起,得到5917。 mql4不是一个非常强大的语言,所以我必须用我所得到的来做... pasha5282 2012.12.25 21:24 #379 hoz: mql4不是一个非常强大的语言,所以我必须用我所拥有的来做... 我将不得不处理它。我想我可能忘记了这些基本的东西,但当我去找帮助时,我没有发现它们,也许开发商没有提供这样一个选项,或者我必须寻找更多的信息。 Viktar Dzemikhau 2012.12.25 22:10 #380 pasha5282: 我会查清此事的。谢谢你至少提供了一个答案,我以为我是哑巴,没有记住这么初级的东西,当我去找帮助的时候,我没有找到,显然开发商没有提供这样的选项。或者需要寻找更多,无论如何,谢谢你的回答。 说实话,我甚至不知道为什么这可能是必要的。显然,开发商也没有考虑到这一点。 1...313233343536373839404142434445...432 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这有点简单,我们将在启动函数内工作。
首先,我们将创建一个变量,在其中写入最后一根蜡烛的方向。
int Candle=-1;
我们将用一些数值来填充它,其中一个表示看涨的蜡烛,另一个表示看跌的蜡烛。如果是-1,那么它就什么都不是(要么无法确定方向,要么它没有方向close=open)。
我建议用交易指令来类比,0-买入,1-卖出。
我们进一步写道。
如果(Close[1]>Open[1]) Candle=0; 否则
如果(Close[1]<Open[1] Candle=1;
现在我们已经定义了一个方向,我们可以直接在OrderSend( string symbol,int cmd, ...the rest of the crap...) 函数中使用它。
if(Candle!=-1) OrderSend( Symbol(),Candle, ...其他东西...)。
或者按照你的比喻。
如果(Candle==0) OpenBuy()。
如果(Candle==1)OpenSell()。
这是我时常使用的方式。看,现在的函数看起来像这样。
我在日志中看到。
因此,最初从买入价到止损,有1.3204-1.3194=0.001 点的差异。
进一步的1.3210 - 1.3201 =0.009 分
而在第二种情况下,由于某种原因,止损点更接近于进场价格,但并没有出现错误!在这种情况下,我们的止损点就会出现。我在思考,没有理解。
我后来以不同的方式纠正了这个错误。代码中已经有了条件。
if(price > Ask) && if(price < Bid) 分别用于购买和出售。还是有另一种变体?现在我们已经没有错误了。但是,尽管如此,我还是想听听一个更有经验的程序员的意见。
这就是我所写的内容。
第二个错误是,你没有检查你把订单放在哪里。
也可能是这样。
而这里的功能是这更接近于事实。非常感谢你,我将试一试。
建议如果你能在mql4中对接变量,即两个int变量,它们需要对接,一个变量的数字是59,另一个是17,我需要得到5917?
建议在mql4中是否可以对接变量,即两个int变量,它们需要对接,一个变量的数字是59,另一个是17,我需要得到5917?
HMM。在我读完这篇文章之前,我并不明白你的意思 :)你想在输出中获得什么类型的数据?
事实证明,我认为解决这种情况的方法是这样的。
1.将int 59和17转换为字符串类型
2.然后我们将这些字符串的数据连接起来。
3.我们将它们转换回int类型
也许还有其他的变体,但我目前无法想到其他。
建议如果你能在mql4中对接变量,即两个int变量,它们需要对接,一个变量的数字是59,另一个是17,我需要得到5917?
xxx
在php中,你可以对接变量,即$one = 59; $two = 17;$decision= $one.$two; 所以我们没有把两个数字放在一起,我们把它们 "粘 "在一起,得到5917。
mql4不是一个非常强大的语言,所以我必须用我所得到的来做...
mql4不是一个非常强大的语言,所以我必须用我所拥有的来做...
我将不得不处理它。我想我可能忘记了这些基本的东西,但当我去找帮助时,我没有发现它们,也许开发商没有提供这样一个选项,或者我必须寻找更多的信息。
我会查清此事的。谢谢你至少提供了一个答案,我以为我是哑巴,没有记住这么初级的东西,当我去找帮助的时候,我没有找到,显然开发商没有提供这样的选项。或者需要寻找更多,无论如何,谢谢你的回答。
说实话,我甚至不知道为什么这可能是必要的。显然,开发商也没有考虑到这一点。