如何编码? - 页 44 1...373839404142434445464748495051...347 新评论 Beno 2007.10.21 22:15 #431 尊敬的各位领导、各位来宾、各位朋友:大家好!欢迎大家来到我们的网站。 那么,我是否应该创建另一条SDL线,比如SDLL = long SDLS = short? 我认为我的说法是正确的,在SDL indi上 uptrend = buffer 1 & Index 1 color blue dntrend = buffer 2 & Index 2 color Red 如果是这样,我应该把它们放在哪里?我是否把它们放在iCustom行的最后。 double SDL=iCustom(NULL,0, "Slope Direction Line",period,method,price,1,1,shift)。 或者我是不是偏离了轨道 How to code? MT4 get indicator value Indicators: Slope Direction Line ralphronnquist 2007.10.21 22:28 #432 语句。 double SDL=iCustom(NULL,0,"Slope Direction Line",period,method,price,1,shift); 使SDL保持第二个缓冲区(Uptrend)在给定的 "shift "bar的值。 (注意,你有一个重复的",1",这看起来像是一个打字错误。在任何情况下,它都不应该出现在那里) 所以,是的,如果你想同时读出Uptrend和Dntrend,那么你就需要两个变量来保存这些值。正如你所说,Uptrend是1,Dntrend是2。 Beno 2007.10.21 23:06 #433 再见,拉尔夫 谢谢你的帮助,现在我可以睡觉了。 欢呼声 贝诺 [删除] 2007.10.22 02:20 #434 wolfe: 希望这就是你要找的东西。 它给我指出了正确的方向--谢谢你,真的很感谢。 我的新问题是,当我的if语句被调用时.... 它根据前一个指标条的值与当前条的关系,发送一个我创建的Alert();...大约20次。 我怎样才能让它只发送一次呢? 我试着用变量创建了开/关开关--不幸的是在MQL4中不起作用。 然后我想到了定时器......如果有一个我可以创建的定时器,在20秒的时间内只发出一次警报,那也可以....。 但是,我不知道在MQL4中是否真的可以实现这个想法。 有什么想法吗? [删除] 2007.10.22 03:45 #435 换句话说...我需要一些方法来阻止它在第一次之后发出警报,因为目前它已经发出了多次警报(你可能猜到了,很烦人,而且没有必要)。 wolfe 2007.10.22 04:12 #436 dharsant: 换句话说...我需要一些方法来阻止它在第一次之后发出警报,因为目前它已经发出了多次警报(你可能猜到了,很烦人,而且没有必要)。 你能提供一些代码来看看吗? 也许你可以设置一个布尔值的真/假,在第一次发送警报后被触发。 [删除] 2007.10.22 04:31 #437 我不确定哪段代码会有意义。下面是我的警报的if语句。 "Code":latestlatestmain = 我的指标上的2个柱子。latestmain = 我的指标上的前一栏如果(MainCCI > ErgoCCI){{signal = "SHORT";如果((latestlatestmain >= 0) && (latestmain < 0)) {PlaySound("alert2.wav")。}}如果(lastsignal != signal && alertTag!=Time[0]){alertTag = Time[0];lastsignal=signal。}}如果(MainCCI < ErgoCCI){{signal = "LONG";如果((latestlatestmain 0)) {PlaySound("alert2.wav")。} 这是FX Sniper指标,当它符合我的参数 时,就会发出警报。 我如何设置一个布尔值的真/假? 我试着这样做..... "带开关的代码": 如果(MainCCI > ErgoCCI){{signal = "SHORT";如果((latestlatestmain >= 0) && (latestmain < 0)) {如果(onealert == 1) {PlaySound("alert2.wav")。onealert = 0;}}}如果(lastsignal != signal && alertTag!=Time[0]){alertTag = Time[0];lastsignal=signal。}}如果(MainCCI < ErgoCCI){{signal = "LONG";如果((latestlatestmain 0)) {如果(onealert == 0) {PlaySound("alert2.wav")。onealert = 1;}} 或一些变体,用变量来创建开/关。 我还可以用布尔值来做别的事情,是吗?有什么想法可以让我这样做吗? 目前,它在提醒我方面工作得很好,只是提醒了我大约5-6次。 感谢你的时间和帮助,伙计。 -尊敬的朋友 [删除] 2007.10.22 05:26 #438 只是认为我已经解决了这个问题,而且Sleep(); 会起作用.... darn [删除] 2007.10.22 06:12 #439 我发现这个由Codersguru制作的。 void AlertOnce(string alert_msg, int ref) { if (ref > 10) return; ref--; static int LastAlert[10]; if( LastAlert[ref] == 0 || LastAlert[ref] < Bars) { Alert(alert_msg); LastAlert[ref] = Bars; } } 看起来像我所追求的! 在我的指标中使用这个方法时... 我是否只需将该函数 放在我的脚本中,然后使用 AlertOnce("Sniper going LONG",10); 来代替我的Alert(); ? 我觉得自己是个没有经验的小程序员。 [删除] 2007.10.22 06:34 #440 明白了,谢谢你的帮助!!。 1...373839404142434445464748495051...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
尊敬的各位领导、各位来宾、各位朋友:大家好!欢迎大家来到我们的网站。
那么,我是否应该创建另一条SDL线,比如SDLL = long SDLS = short?
我认为我的说法是正确的,在SDL indi上
uptrend = buffer 1 & Index 1 color blue
dntrend = buffer 2 & Index 2 color Red
如果是这样,我应该把它们放在哪里?我是否把它们放在iCustom行的最后。
double SDL=iCustom(NULL,0, "Slope Direction Line",period,method,price,1,1,shift)。
或者我是不是偏离了轨道
语句。
使SDL保持第二个缓冲区(Uptrend)在给定的 "shift "bar的值。
(注意,你有一个重复的",1",这看起来像是一个打字错误。在任何情况下,它都不应该出现在那里)
所以,是的,如果你想同时读出Uptrend和Dntrend,那么你就需要两个变量来保存这些值。正如你所说,Uptrend是1,Dntrend是2。
再见,拉尔夫
谢谢你的帮助,现在我可以睡觉了。
欢呼声
贝诺
希望这就是你要找的东西。
它给我指出了正确的方向--谢谢你,真的很感谢。
我的新问题是,当我的if语句被调用时....
它根据前一个指标条的值与当前条的关系,发送一个我创建的Alert();...大约20次。
我怎样才能让它只发送一次呢?
我试着用变量创建了开/关开关--不幸的是在MQL4中不起作用。
然后我想到了定时器......如果有一个我可以创建的定时器,在20秒的时间内只发出一次警报,那也可以....。
但是,我不知道在MQL4中是否真的可以实现这个想法。
有什么想法吗?
换句话说...我需要一些方法来阻止它在第一次之后发出警报,因为目前它已经发出了多次警报(你可能猜到了,很烦人,而且没有必要)。
换句话说...我需要一些方法来阻止它在第一次之后发出警报,因为目前它已经发出了多次警报(你可能猜到了,很烦人,而且没有必要)。
你能提供一些代码来看看吗?
也许你可以设置一个布尔值的真/假,在第一次发送警报后被触发。
我不确定哪段代码会有意义。下面是我的警报的if语句。
latestlatestmain = 我的指标上的2个柱子。
latestmain = 我的指标上的前一栏
如果(MainCCI > ErgoCCI){
{signal = "SHORT";
如果((latestlatestmain >= 0) && (latestmain < 0)) {
PlaySound("alert2.wav")。
}
}
如果(lastsignal != signal && alertTag!=Time[0]){
alertTag = Time[0];
lastsignal=signal。
}
}
如果(MainCCI < ErgoCCI){
{signal = "LONG";
如果((latestlatestmain 0)) {
PlaySound("alert2.wav")。
}
这是FX Sniper指标,当它符合我的参数 时,就会发出警报。
我如何设置一个布尔值的真/假?
我试着这样做.....
如果(MainCCI > ErgoCCI){
{signal = "SHORT";
如果((latestlatestmain >= 0) && (latestmain < 0)) {
如果(onealert == 1) {
PlaySound("alert2.wav")。
onealert = 0;
}}
}
如果(lastsignal != signal && alertTag!=Time[0]){
alertTag = Time[0];
lastsignal=signal。
}
}
如果(MainCCI < ErgoCCI){
{signal = "LONG";
如果((latestlatestmain 0)) {
如果(onealert == 0) {
PlaySound("alert2.wav")。
onealert = 1;
}}
或一些变体,用变量来创建开/关。
我还可以用布尔值来做别的事情,是吗?有什么想法可以让我这样做吗?
目前,它在提醒我方面工作得很好,只是提醒了我大约5-6次。
感谢你的时间和帮助,伙计。
-尊敬的朋友
只是认为我已经解决了这个问题,而且Sleep(); 会起作用.... darn
我发现这个由Codersguru制作的。
{
if (ref > 10)
return;
ref--;
static int LastAlert[10];
if( LastAlert[ref] == 0 || LastAlert[ref] < Bars)
{
Alert(alert_msg);
LastAlert[ref] = Bars;
}
}看起来像我所追求的!
在我的指标中使用这个方法时...
我是否只需将该函数 放在我的脚本中,然后使用
AlertOnce("Sniper going LONG",10);
来代替我的Alert(); ?
我觉得自己是个没有经验的小程序员。
明白了,谢谢你的帮助!!。