编码帮助 - 页 337 1...330331332333334335336337338339340341342343344...786 新评论 Mladen Rakic 2014.09.04 19:48 #3361 alpha24: 嗨,Mladen先生。很久以来,我一直在请求您为MA上的布林带编码。和MA指标上的MA一样,在单独的窗口中。移动平均线没有必要在指标窗口中显示。BB带小数点偏差(0.01),EMA或SMA形式。请您像往常一样制作? 谢谢你 阿尔法24 你不需要一个新的指标 使用已经在独立窗口中的任何ma,然后只需将布林带 拖到该子窗口,并选择以前的指标数据作为价格字段。 vrashtekar 2014.09.04 20:03 #3362 mladen: 阿尔法24你不需要一个新的指标 请使用任何指标... 是的,但问题是没有小数点偏差的选项,另外,如果我试图在同一个窗口中使用更多的指标,就会出现前一个数据和第一个数据混淆的情况。因此,请 sunshineh 2014.09.05 02:55 #3363 你好。 我不清楚maillink.dll是否能在build>600时工作。 我试着用gmx和googlemail的maillink.dll,但我总是在MailInit(string,int,string,string)函数中得到"-2" 我在MailInit(string,int,string,string);函数 中总是得到"-2 "的反馈:-( 我还试过codersguru的xpMail.dll,但它让我的metatrader账户崩溃了,有没有人知道有其他办法可以从一个EA向两个不同的邮件地址发送邮件? Mladen Rakic 2014.09.05 03:52 #3364 sunshineh: 你好。我不清楚,maillink.dll是否能在build > 600的情况下工作。 我试着用gmx和googlemail的maillink.dll,我总是得到"-2" 我在MailInit(string,int,string,string);函数中总是得到"-2 "的结果:-( 我也试过来自codersguru的xpMail.dll,但它让我的metatrader账户崩溃了,有没有人知道有其他办法可以从一个EA向两个不同的邮件地址发送邮件? 字符串部分是问题所在。 旧的metatrader 4使用ANSI字符串。他们已经将其改为unicode字符串。Unicode字符串每个字符使用2个字节,而ANSI每个字符只使用1个字节。这就是为什么你有问题 - dlls得到的字符串对它们来说是不可读的。 dmnik 2014.09.05 04:25 #3365 请更正指标,你需要把箭头放在方块的位置。 附加的文件: .........png 141 kb .......png 30 kb tro_bias_ez.ex4 12 kb Mladen Rakic 2014.09.05 05:58 #3366 DMNIK: 请更正指标,你需要把箭头放在方块的地方。 杜明尼克 ex4文件不能被编辑和修改 sunshineh 2014.09.05 06:12 #3367 谢谢你的清楚解释 如果我在调用dll中的函数 之前,将每个字符串都改为unicode,那么它应该可以工作? 是否已经有将ANSI改为unicode和将unicode改为ANSI的函数? sunshineh 2014.09.05 09:50 #3368 还是因为Unicode-string是在一个数组中,所以不能工作? 另一个问题。 我怎样才能在一行中播放更多不同的 PlaySound-wav文件? 我试着用Sleep(),但没有用 :-( Mladen Rakic 2014.09.05 16:46 #3369 sunshineh: 还是因为Unicode-string是在一个数组中,所以不工作了呢?另一个问题。 我怎样才能在一行中播放更多不同的 PlaySound-wav文件? 我试着用Sleep(),但它没有工作 :-( sunshineh 逻辑上它们是一样的:字符数组。只是ANSI字符需要1个字节,而Unicode字符需要2个字节。这样做是为了包括所有的世界语言(当Unicode被发明的时候--与metatrader无关)。现在,如果dll期望的是ANSI,而得到的是unicode字符串,它将会被错误的解释(反之亦然)。如果你的dll使用的是dll,你必须将新的字符串转换为无符号字符的显式数组(使用StringToShortArray(),以便使它能被ANSI dll访问),而返回值应该使用CharArrayToString()转换为字符串(以便使它能被metatrader访问) ________________________ 关于睡眠:睡眠()函数 在指标中是禁用的,它只在EA中工作。一直以来都是如此(这并不是新的metatrader的创新之处)。 另外,metatrader是在一个和平的代码中按顺序执行订单。这意味着你不能开始播放一个声音文件,然后在没有结束的情况下,继续播放另一个。另外,据我所知,他们限制了声音文件的时间长度(为了防止终端冻结--你可能已经注意到了,像警报和声音这样的东西是集中的--看看当不同的图表在同一时间发出警报--那是你看到的一个单一窗口)。 现在我可以继续说下去,但是metatrader的整个问题是他们没有正确解决异步程序的执行(实际上它不知道),这带来了很多限制。 Maine 2014.09.05 23:23 #3370 检查 最后关闭的订单是否有利可图 你好。 我想检查我的最后三个卖出或买入交易是否盈利,并根据它改变一个字符串值。 我有这样的代码(MT4)。 for(int i=(OrdersHistoryTotal()-1);i>=0;i--); { OrderSelect(i, SELECT_BY_POS,MODE_HISTORY); if(OrderSymbol()==Symbol() && OrderMagicNumber()==BUY) { //for buy order if(OrderType()==OP_BUY && OrderProfit()>0) last=1; if(OrderType()==OP_BUY && OrderProfit()<0) last=0; } } for(int j=(OrdersHistoryTotal()-1);j>=0;j--); { OrderSelect(j, SELECT_BY_POS,MODE_HISTORY); if(OrderSymbol()==Symbol() && OrderMagicNumber()==SELL) { //for sell order if(OrderType()==OP_SELL && OrderProfit()>0) last2=1; if(OrderType()==OP_SELL && OrderProfit()<0) last2=0; } } 但它对我不起作用。 我应该如何修改它? 谢谢你的帮助。 Coding help How to 'Stop' an 被错误困扰的是没有交易业务 1...330331332333334335336337338339340341342343344...786 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
嗨,Mladen先生。
很久以来,我一直在请求您为MA上的布林带编码。和MA指标上的MA一样,在单独的窗口中。移动平均线没有必要在指标窗口中显示。BB带小数点偏差(0.01),EMA或SMA形式。请您像往常一样制作?
谢谢你阿尔法24
你不需要一个新的指标
使用已经在独立窗口中的任何ma,然后只需将布林带 拖到该子窗口,并选择以前的指标数据作为价格字段。
阿尔法24
你不需要一个新的指标
请使用任何指标...是的,但问题是没有小数点偏差的选项,另外,如果我试图在同一个窗口中使用更多的指标,就会出现前一个数据和第一个数据混淆的情况。因此,请
![](https://c.mql5.com/forextsd/smiles/cry_smile.png)
你好。
我不清楚maillink.dll是否能在build>600时工作。
我试着用gmx和googlemail的maillink.dll,但我总是在MailInit(string,int,string,string)函数中得到"-2"
我在MailInit(string,int,string,string);函数 中总是得到"-2 "的反馈:-(
我还试过codersguru的xpMail.dll,但它让我的metatrader账户崩溃了,有没有人知道有其他办法可以从一个EA向两个不同的邮件地址发送邮件?
你好。
我不清楚,maillink.dll是否能在build > 600的情况下工作。
我试着用gmx和googlemail的maillink.dll,我总是得到"-2"
我在MailInit(string,int,string,string);函数中总是得到"-2 "的结果:-(
我也试过来自codersguru的xpMail.dll,但它让我的metatrader账户崩溃了,有没有人知道有其他办法可以从一个EA向两个不同的邮件地址发送邮件?字符串部分是问题所在。
旧的metatrader 4使用ANSI字符串。他们已经将其改为unicode字符串。Unicode字符串每个字符使用2个字节,而ANSI每个字符只使用1个字节。这就是为什么你有问题 - dlls得到的字符串对它们来说是不可读的。
请更正指标,你需要把箭头放在方块的位置。
请更正指标,你需要把箭头放在方块的地方。
杜明尼克
ex4文件不能被编辑和修改
谢谢你的清楚解释
如果我在调用dll中的函数 之前,将每个字符串都改为unicode,那么它应该可以工作?
是否已经有将ANSI改为unicode和将unicode改为ANSI的函数?
还是因为Unicode-string是在一个数组中,所以不能工作?
另一个问题。
我怎样才能在一行中播放更多不同的
PlaySound-wav文件?
我试着用Sleep(),但没有用 :-(
还是因为Unicode-string是在一个数组中,所以不工作了呢?
另一个问题。
我怎样才能在一行中播放更多不同的
PlaySound-wav文件?
我试着用Sleep(),但它没有工作 :-(sunshineh
逻辑上它们是一样的:字符数组。只是ANSI字符需要1个字节,而Unicode字符需要2个字节。这样做是为了包括所有的世界语言(当Unicode被发明的时候--与metatrader无关)。现在,如果dll期望的是ANSI,而得到的是unicode字符串,它将会被错误的解释(反之亦然)。如果你的dll使用的是dll,你必须将新的字符串转换为无符号字符的显式数组(使用StringToShortArray(),以便使它能被ANSI dll访问),而返回值应该使用CharArrayToString()转换为字符串(以便使它能被metatrader访问)
________________________
关于睡眠:睡眠()函数 在指标中是禁用的,它只在EA中工作。一直以来都是如此(这并不是新的metatrader的创新之处)。
另外,metatrader是在一个和平的代码中按顺序执行订单。这意味着你不能开始播放一个声音文件,然后在没有结束的情况下,继续播放另一个。另外,据我所知,他们限制了声音文件的时间长度(为了防止终端冻结--你可能已经注意到了,像警报和声音这样的东西是集中的--看看当不同的图表在同一时间发出警报--那是你看到的一个单一窗口)。
现在我可以继续说下去,但是metatrader的整个问题是他们没有正确解决异步程序的执行(实际上它不知道),这带来了很多限制。
检查 最后关闭的订单是否有利可图
你好。
我想检查我的最后三个卖出或买入交易是否盈利,并根据它改变一个字符串值。
我有这样的代码(MT4)。
{
OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==BUY)
{
//for buy order
if(OrderType()==OP_BUY && OrderProfit()>0) last=1;
if(OrderType()==OP_BUY && OrderProfit()<0) last=0;
}
}
for(int j=(OrdersHistoryTotal()-1);j>=0;j--);
{
OrderSelect(j, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==SELL)
{
//for sell order
if(OrderType()==OP_SELL && OrderProfit()>0) last2=1;
if(OrderType()==OP_SELL && OrderProfit()<0) last2=0;
}
}
但它对我不起作用。
我应该如何修改它?
谢谢你的帮助。