编码帮助 - 页 492 1...485486487488489490491492493494495496497498499...786 新评论 peter111960 2015.06.19 13:53 #4911 警惕性太高了 Re:编码帮助 嗨,大师,感谢你的伟大工作,我想与大家分享这个趋势线警报,当买入价穿过任何趋势线或你画的水平线 时,它会发出声音,我也把它修改为弹出警报,唯一的问题是,当价格(买入价)穿过一条线时,它都会发出警报,我试着把它修改为每个柱子只有一个警报,当它穿过线时,在它的末尾添加一个时间戳功能。如果你有时间的话,请看看它,并给我指出正确的方向,非常感谢!我尝试添加的代码是 static datetime lastbar; datetime curbar = Time[0]; if(lastbar!=curbar) { lastbar=curbar; return (true); } else return(false); } 附加的文件: alert_too_much.png 19 kb trendline_alert-mod_peter.mq4 3 kb trendline_alert-mod_peter_one_alert_per_bar-1.mq4 3 kb Mladen Rakic 2015.06.19 15:15 #4912 huang jin: 嗨,大师,感谢你的伟大工作,我想与大家分享这个趋势线警报,当买入价穿过任何趋势线或你画的水平线时,它就会发出声音,我也把它修改为弹出警报,唯一的问题是,当价格(买入价)穿过一条线时,它就会发出警报,我试图通过在它的末尾添加一个时间戳功能,把它修改为每个柱子只发一次警报。如果你有时间的话,请看看它,并给我指出正确的方向,非常感谢!我尝试添加的代码是static datetime lastbar; datetime curbar = Time[0]; if(lastbar!=curbar) { lastbar=curbar; return (true); } else return(false); } 你从来没有给Close_Time分配过一个值。只要你这样做,它就会在每个柱子上只发出一次警报。 Thrall 2015.06.20 13:55 #4913 @mladen 我在TradingView上发现了这个指标,有可能在mt4上制作这个指标吗? 以下是源代码。 //Created by user ChrisMoody 4-24-2014 //绘制大部分的移动平均线 //默认为当前图表的时间框架 ----- 但可以改变为更高或更低的时间框架 //第二条均线具有显示交叉点的功能。 study(title="CM_Ultimate_MA_MTF", shorttitle="CM_Ultimate_MA_MTF", overlay=true) //inputs src = close useCurrentRes = input(true, title="使用当前图表分辨率?") resCustom = input(title="Use Different Timeframe?取消勾选上面的方框", type=resolution, defval="D") len = input(20, title="移动平均线长度-回看期") atype = input(1,minval=1,maxval=7,title="1=SMA, 2=EMA, 3=WMA, 4=HullMA, 5=VWMA, 6=RMA, 7=TEMA" ) cc = input(true,title="基于方向的颜色变化?") smoothe = input(2, minval=1, maxval=10, title="颜色平滑 - 1 = 无平滑") doma2 = input(false, title="可选的第二条移动平均线") len2 = input(50, title="移动平均线长度 - 可选的第二条MA") atype2 = input(1,minval=1,maxval=7,title="1=SMA, 2=EMA, 3=WMA, 4=HullMA, 5=VWMA, 6=RMA, 7=TEMA" ) cc2 = input(true,title="Change Color Based On Direction 2nd MA?") warn = input(false,title="***你可以打开下面的显示点参数,而不需要绘制第二MA来查看交叉点***") warn2 = input(false, title="***如果在不绘制第二MA的情况下使用交叉特征 - 确保第二MA参数设置正确***") sd = input(false, title="在两个MA的交叉点上显示圆点") res = useCurrentRes ? period : resCustom //船体MA定义 hullma = wma(2*wma(src, len/2)-wma(src, len), round(sqrt(len)) //TEMA定义 ema1 = ema(src, len) ema2 = ema(ema1, len) ema3 = ema(ema2, len) tema = 3 * (ema1 - ema2) + ema3 avg = atype == 1 ? sma(src,len) : atype == 2 ? ema(src,len) : atype == 3 ? wma(src,len) : atype == 4 ? hullma : atype == 5 ? vwma(src, len) : atype == 6 ? rma(src, len) : tema //第2个马--船体马的定义 hullma2 = wma(2*wma(src, len2/2)-wma(src, len2), round(sqrt(len2)) //第2个MA TEMA定义 sema1 = ema(src, len2) sema2 = ema(sema1, len2) sema3 = ema(sema2, len2) stema = 3 * (sema1 - sema2) + sema3 avg2 = atype2 == 1 ? sma(src,len2) : atype2 == 2 ? ema(src,len2) : atype2 == 3 ? wma(src,len2) : atype2 == 4 ? hullma2 : atype2 == 5 ? vwma(src, len2) : atype2 == 6 ? rma(src, len2) : tema out = avg out_two = avg2 out1 = security(tickerid, res, out) out2 = security(tickerid, res, out_two) ma_up = out1 >= out1[smoothe] 。 ma_down = out1 < out1[smoothe] 。 col = cc ? ma_up ? lime : ma_down ? red : aqua : aqua col2 = cc2 ? ma_up ? lime : ma_down ? red : aqua : aqua circleYPosition = out2 plot(out1, title="多时间框架移动平均", style=line, lineewidth=4, color = col) plot(doma2 and out2 ? out2 : na, title="第二次多时间框架移动平均", style=circles, lineewidth=4, color=col2) plot(sd and cross(out1, out2) ? circleYPosition : na,style=cross, lineewidth=5, color=yellow) Coding help 用于在通道中进行交易的 Expert Advisor 制作仪表板以显示指标和EA中的数据 Thrall 2015.06.20 13:56 #4914 指标的屏幕截图。 附加的文件: pepqyie.png 84 kb learning 2015.06.20 18:42 #4915 有没有从多个代码实例访问共享文件的例子? Mladen Rakic 2015.06.21 08:04 #4916 apprentice coder: 有没有从多个代码实例中访问共享文件的例子? 你可以在这里看到一个例子:https://www.mql5.com/en/forum/175881/page5 learning 2015.06.21 11:35 #4917 mladen: 你可以在这里看到一个例子:https://www.mql5.com/en/forum/175881/page5 明白了 FxSteven 2015.06.21 16:21 #4918 我想知道是否有任何EA使用指标"HalfTrend-1.02"? 我需要一些示例代码。 我曾尝试使用这个指标进行过滤,但我看到它错过了很多交易。 我不知道这有什么问题.... double MA_Signal = iCustom(Symbol(),0,"HalfTrend-1.02",Amplitude,false,false,false,false,false,false,false,0); double MA_Signal1 = iCustom(Symbol(),0,"HalfTrend-1.02",Amplitude,false,false,false,false,false,false,false,1); double MA_Signala = iMA(Symbol(),0,UpperMa,UpperMaShift,UpperMaMode,UpperMaPrice,0); double MA_Signalb = iMA(Symbol(),0,LowerMa,LowerMaShift,LowerMaMode,LowerMaPrice,0); double Bbands = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,2); double Bbands2 = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,3); double Ma_Bid_Diff = MathAbs(MA_Signala - Bid)/vPoint; double Ma_Bid_Diff1 = MathAbs(MA_Signalb - Bid)/vPoint; if ( MA_Signal>MA_Signala ) if ( Bbands MAOpenDistance && Bid > MA_Signala ) Signal = 1; if ( MA_Signal1MA_Signal1 ) if ( Ma_Bid_Diff1 > MAOpenDistance && Bid < MA_Signalb ) Signal = -1; Coding help 大家好,请教一下各位大侠 请帮忙将这个5分钟趋势公式改写成ea Robert 2015.06.21 17:23 #4919 stevenpun: 我想知道是否有任何EA使用 "HalfTrend-1.02 "指标? 我需要一些示例代码。我试着用这个indi进行过滤,但我看到它缺少很多交易。我不知道这有什么问题....。 double MA_Signal = iCustom(Symbol(),0,"HalfTrend-1.02",Amplitude,false,false,false,false,false,false,false,0); double MA_Signal1 = iCustom(Symbol(),0,"HalfTrend-1.02",Amplitude,false,false,false,false,false,false,false,1); double MA_Signala = iMA(Symbol(),0,UpperMa,UpperMaShift,UpperMaMode,UpperMaPrice,0); double MA_Signalb = iMA(Symbol(),0,LowerMa,LowerMaShift,LowerMaMode,LowerMaPrice,0); double Bbands = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,2); double Bbands2 = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,3); double Ma_Bid_Diff = MathAbs(MA_Signala - Bid)/vPoint; double Ma_Bid_Diff1 = MathAbs(MA_Signalb - Bid)/vPoint; if ( MA_Signal>MA_Signala ) if ( Bbands MAOpenDistance && Bid > MA_Signala ) Signal = 1; if ( MA_Signal1MA_Signal1 ) if ( Ma_Bid_Diff1 > MAOpenDistance && Bid < MA_Signalb ) Signal = -1; 你好,Stevenpun。 你可以立即尝试两件事。 1)添加打印 和评论来查看所有的数值......并确保你能正确获得所有的指标值......。 打印会出现在LOG中......而注释会显示在屏幕上,所以你可以立即看到它们。 2)最小化你的 "交易逻辑"......并测试每一个信号本身......。然后,如果它们起作用......开始把它们组合在一起。 如果它们不起作用...那么你就找到了问题所在。 你的 "嵌套的如果 "越少,就越容易在没有交易的情况下追踪到你的问题...。 另外......多个 "如果 "过滤掉大多数交易......所以即使工作良好......也可能没有很多交易。 希望这有帮助。 罗伯特 peter111960 2015.06.22 09:51 #4920 谢谢Mladen。 mladen:..................,每个柱子只发出一次警报 这正是我想让它做的,见我提供的图片,价格每隔几个点就随线上下跳动,导致每次通过或触及线时,indi都会发出警报 .......... 我想让它做的是,如果该栏已经有一个警报,等待新栏通过该线时再发出警报。但我添加的代码使indi完全不起作用(没有Alert)。 你能不能再看看我做错了什么? 1...485486487488489490491492493494495496497498499...786 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
警惕性太高了 Re:编码帮助
嗨,大师,感谢你的伟大工作,我想与大家分享这个趋势线警报,当买入价穿过任何趋势线或你画的水平线 时,它会发出声音,我也把它修改为弹出警报,唯一的问题是,当价格(买入价)穿过一条线时,它都会发出警报,我试着把它修改为每个柱子只有一个警报,当它穿过线时,在它的末尾添加一个时间戳功能。如果你有时间的话,请看看它,并给我指出正确的方向,非常感谢!我尝试添加的代码是
datetime curbar = Time[0];
if(lastbar!=curbar)
{
lastbar=curbar;
return (true);
}
else return(false);
}嗨,大师,感谢你的伟大工作,我想与大家分享这个趋势线警报,当买入价穿过任何趋势线或你画的水平线时,它就会发出声音,我也把它修改为弹出警报,唯一的问题是,当价格(买入价)穿过一条线时,它就会发出警报,我试图通过在它的末尾添加一个时间戳功能,把它修改为每个柱子只发一次警报。如果你有时间的话,请看看它,并给我指出正确的方向,非常感谢!我尝试添加的代码是
datetime curbar = Time[0];
if(lastbar!=curbar)
{
lastbar=curbar;
return (true);
}
else return(false);
}你从来没有给Close_Time分配过一个值。只要你这样做,它就会在每个柱子上只发出一次警报。
@mladen 我在TradingView上发现了这个指标,有可能在mt4上制作这个指标吗?
以下是源代码。
//Created by user ChrisMoody 4-24-2014
//绘制大部分的移动平均线
//默认为当前图表的时间框架 ----- 但可以改变为更高或更低的时间框架
//第二条均线具有显示交叉点的功能。
study(title="CM_Ultimate_MA_MTF", shorttitle="CM_Ultimate_MA_MTF", overlay=true)
//inputs
src = close
useCurrentRes = input(true, title="使用当前图表分辨率?")
resCustom = input(title="Use Different Timeframe?取消勾选上面的方框", type=resolution, defval="D")
len = input(20, title="移动平均线长度-回看期")
atype = input(1,minval=1,maxval=7,title="1=SMA, 2=EMA, 3=WMA, 4=HullMA, 5=VWMA, 6=RMA, 7=TEMA" )
cc = input(true,title="基于方向的颜色变化?")
smoothe = input(2, minval=1, maxval=10, title="颜色平滑 - 1 = 无平滑")
doma2 = input(false, title="可选的第二条移动平均线")
len2 = input(50, title="移动平均线长度 - 可选的第二条MA")
atype2 = input(1,minval=1,maxval=7,title="1=SMA, 2=EMA, 3=WMA, 4=HullMA, 5=VWMA, 6=RMA, 7=TEMA" )
cc2 = input(true,title="Change Color Based On Direction 2nd MA?")
warn = input(false,title="***你可以打开下面的显示点参数,而不需要绘制第二MA来查看交叉点***")
warn2 = input(false, title="***如果在不绘制第二MA的情况下使用交叉特征 - 确保第二MA参数设置正确***")
sd = input(false, title="在两个MA的交叉点上显示圆点")
res = useCurrentRes ? period : resCustom
//船体MA定义
hullma = wma(2*wma(src, len/2)-wma(src, len), round(sqrt(len))
//TEMA定义
ema1 = ema(src, len)
ema2 = ema(ema1, len)
ema3 = ema(ema2, len)
tema = 3 * (ema1 - ema2) + ema3
avg = atype == 1 ? sma(src,len) : atype == 2 ? ema(src,len) : atype == 3 ? wma(src,len) : atype == 4 ? hullma : atype == 5 ? vwma(src, len) : atype == 6 ? rma(src, len) : tema
//第2个马--船体马的定义
hullma2 = wma(2*wma(src, len2/2)-wma(src, len2), round(sqrt(len2))
//第2个MA TEMA定义
sema1 = ema(src, len2)
sema2 = ema(sema1, len2)
sema3 = ema(sema2, len2)
stema = 3 * (sema1 - sema2) + sema3
avg2 = atype2 == 1 ? sma(src,len2) : atype2 == 2 ? ema(src,len2) : atype2 == 3 ? wma(src,len2) : atype2 == 4 ? hullma2 : atype2 == 5 ? vwma(src, len2) : atype2 == 6 ? rma(src, len2) : tema
out = avg
out_two = avg2
out1 = security(tickerid, res, out)
out2 = security(tickerid, res, out_two)
ma_up = out1 >= out1[smoothe] 。
ma_down = out1 < out1[smoothe] 。
col = cc ? ma_up ? lime : ma_down ? red : aqua : aqua
col2 = cc2 ? ma_up ? lime : ma_down ? red : aqua : aqua
circleYPosition = out2
plot(out1, title="多时间框架移动平均", style=line, lineewidth=4, color = col)
plot(doma2 and out2 ? out2 : na, title="第二次多时间框架移动平均", style=circles, lineewidth=4, color=col2)
plot(sd and cross(out1, out2) ? circleYPosition : na,style=cross, lineewidth=5, color=yellow)
指标的屏幕截图。
有没有从多个代码实例访问共享文件的例子?
有没有从多个代码实例中访问共享文件的例子?
你可以在这里看到一个例子:https://www.mql5.com/en/forum/175881/page5
你可以在这里看到一个例子:https://www.mql5.com/en/forum/175881/page5
明白了![](https://c.mql5.com/forextsd/smiles/smile.png)
我想知道是否有任何EA使用指标"HalfTrend-1.02"?
我需要一些示例代码。
我曾尝试使用这个指标进行过滤,但我看到它错过了很多交易。
我不知道这有什么问题....![](https://c.mql5.com/forextsd/smiles/confused_smile.png)
double MA_Signal1 = iCustom(Symbol(),0,"HalfTrend-1.02",Amplitude,false,false,false,false,false,false,false,1);
double MA_Signala = iMA(Symbol(),0,UpperMa,UpperMaShift,UpperMaMode,UpperMaPrice,0);
double MA_Signalb = iMA(Symbol(),0,LowerMa,LowerMaShift,LowerMaMode,LowerMaPrice,0);
double Bbands = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,2);
double Bbands2 = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,3);
double Ma_Bid_Diff = MathAbs(MA_Signala - Bid)/vPoint;
double Ma_Bid_Diff1 = MathAbs(MA_Signalb - Bid)/vPoint;
if ( MA_Signal>MA_Signala ) if ( Bbands MAOpenDistance && Bid > MA_Signala ) Signal = 1;
if ( MA_Signal1MA_Signal1 ) if ( Ma_Bid_Diff1 > MAOpenDistance && Bid < MA_Signalb ) Signal = -1;我想知道是否有任何EA使用 "HalfTrend-1.02 "指标?
我需要一些示例代码。
我试着用这个indi进行过滤,但我看到它缺少很多交易。
我不知道这有什么问题....。![](https://c.mql5.com/forextsd/smiles/confused_smile.png)
double MA_Signal1 = iCustom(Symbol(),0,"HalfTrend-1.02",Amplitude,false,false,false,false,false,false,false,1);
double MA_Signala = iMA(Symbol(),0,UpperMa,UpperMaShift,UpperMaMode,UpperMaPrice,0);
double MA_Signalb = iMA(Symbol(),0,LowerMa,LowerMaShift,LowerMaMode,LowerMaPrice,0);
double Bbands = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,2);
double Bbands2 = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,3);
double Ma_Bid_Diff = MathAbs(MA_Signala - Bid)/vPoint;
double Ma_Bid_Diff1 = MathAbs(MA_Signalb - Bid)/vPoint;
if ( MA_Signal>MA_Signala ) if ( Bbands MAOpenDistance && Bid > MA_Signala ) Signal = 1;
if ( MA_Signal1MA_Signal1 ) if ( Ma_Bid_Diff1 > MAOpenDistance && Bid < MA_Signalb ) Signal = -1;你好,Stevenpun。
你可以立即尝试两件事。
1)添加打印 和评论来查看所有的数值......并确保你能正确获得所有的指标值......。
打印会出现在LOG中......而注释会显示在屏幕上,所以你可以立即看到它们。
2)最小化你的 "交易逻辑"......并测试每一个信号本身......。然后,如果它们起作用......开始把它们组合在一起。
如果它们不起作用...那么你就找到了问题所在。
你的 "嵌套的如果 "越少,就越容易在没有交易的情况下追踪到你的问题...。
另外......多个 "如果 "过滤掉大多数交易......所以即使工作良好......也可能没有很多交易。
希望这有帮助。
罗伯特
谢谢Mladen。
..................,每个柱子只发出一次警报
这正是我想让它做的,见我提供的图片,价格每隔几个点就随线上下跳动,导致每次通过或触及线时,indi都会发出警报 .......... 我想让它做的是,如果该栏已经有一个警报,等待新栏通过该线时再发出警报。但我添加的代码使indi完全不起作用(没有Alert)。
你能不能再看看我做错了什么?![](https://c.mql5.com/forextsd/smiles/teeth_smile.png)