编码帮助 - 页 254 1...247248249250251252253254255256257258259260261...786 新评论 Mladen Rakic 2014.04.05 16:43 #2531 thefxpros: 你好。我在使用icustom在MTF中转动一些指标,很有乐趣。该指标可以工作,但不能正确显示颜色和箭头,为什么? 请问错误在哪里? wilders_trailing_stop_mtf.mq4 wilders_trailing_stop.mq4 //------------------------------------------------------------------ #property copyright "thefxpros" #property link "thefxpros@katamail.com" //------------------------------------------------------------------ #property indicator_chart_window //#property indicator_color1 Orange //#property indicator_color2 LimeGreen //#property indicator_color3 LimeGreen //#property indicator_color4 Orange //#property indicator_width3 1 //#property indicator_width4 1 // // // extern int TimeFrame = 0; extern int Length = 2; extern double Coeff = 1.75; extern int LineWidth = 1; extern int ArrowWidth = 1; extern color UpLineClr = LimeGreen; extern color DnLineClr = Orange; extern color UpArrowClr = LimeGreen; extern color DnArrowClr = Orange; // double WTS[]; double WTSDn[]; double arrUp[]; double arrDn[]; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int init() { IndicatorBuffers(4); SetIndexBuffer(0,WTS); SetIndexStyle(0,DRAW_LINE, EMPTY, LineWidth, DnLineClr); SetIndexBuffer(1,WTSDn); SetIndexStyle(1,DRAW_LINE, EMPTY, LineWidth, UpLineClr); SetIndexBuffer(2,arrUp); SetIndexStyle(2,DRAW_ARROW, EMPTY, ArrowWidth, UpArrowClr); SetIndexArrow(2,SYMBOL_ARROWUP); SetIndexBuffer(3,arrDn); SetIndexStyle(3,DRAW_ARROW, EMPTY, ArrowWidth, DnArrowClr); SetIndexArrow(3,SYMBOL_ARROWDOWN); IndicatorShortName("Wilders trailing stop MTF ("+Length+","+Coeff+")"); Length = MathMax(Length,1); switch(TimeFrame) { case 1 : string TimeFrameStr="Period_M1"; break; case 5 : TimeFrameStr="Period_M5"; break; case 15 : TimeFrameStr="Period_M15"; break; case 30 : TimeFrameStr="Period_M30"; break; case 60 : TimeFrameStr="Period_H1"; break; case 240 : TimeFrameStr="Period_H4"; break; case 1440 : TimeFrameStr="Period_D1"; break; case 10080 : TimeFrameStr="Period_W1"; break; case 43200 : TimeFrameStr="Period_MN1"; break; default : TimeFrameStr="Current Timeframe"; } IndicatorShortName("Wilders trailing stop MTF ("+TimeFrameStr+")"); return(0); } //---- //+------------------------------------------------------------------+ //| MTF function | //+------------------------------------------------------------------+ int start() { datetime TimeArray[]; int i,limit,y=0,counted_bars=IndicatorCounted(); // Plot defined time frame on to current time frame ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame); limit= MathMin(Bars-counted_bars+3*TimeFrame/Period(),Bars-1); for(i=0,y=0;i<limit;i++) { if (Time<TimeArray[y]) y++; /********************************************************************************************************* Add your main indicator loop below. You can reference an existing indicator with its iName or iCustom. Rule 1: Add extern inputs above for all neccesary values Rule 2: Use 'TimeFrame' for the indicator time frame Rule 3: Use 'y' for your indicator's shift value ********************************************************************************************************/ WTS=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,0,y); WTSDn=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,1,y); arrUp=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,2,y); arrDn=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,3,y); } return(0); } //+------------------------------------------------------------------+[/PHP] Thefxpros 你注释了你必须声明绘图缓冲区的部分 这一部分。 [PHP]#property indicator_chart_window //#property indicator_buffers 4 //#属性 indicator_color1 Orange //#属性 indicator_color2 LimeGreen //#属性 indicator_color3 LimeGreen //#属性 indicator_color4 橙色 //#属性 indicator_width3 1 //#property indicator_width4 1 删除这些行的注释,就可以工作了 Fausto Nunziante Del Gaudio 2014.04.05 20:07 #2532 mladen: Thefxpros你注释了你必须声明绘图缓冲区的部分 这一部分。 #property indicator_chart_window //#property indicator_buffers 4 //#property indicator_color1 Orange //#property indicator_color2 LimeGreen //#property indicator_color3 LimeGreen //#property indicator_color4 Orange //#property indicator_width3 1 //#property indicator_width4 1 把这些行的注释去掉,就可以工作了 是的,我知道,但我在后面说明了,这还不够吗?我必须总是在开始时就说明吗? 我记得我经常这样做,在以前的build metaeditor中,我记得它是有效的,难道我记错了? Mladen Rakic 2014.04.05 20:15 #2533 thefxpros: 是的,我知道,但我后来指定了,这还不够吗?我记得我经常这样做,在以前的build metaeditor中,我记得它是有效的,难道我记错了吗? Thefxpros 在开始时,你指定的是绘图缓冲区。之后你可以指定计算缓冲区。如果你不指定#property indicator_buffers numberOfDrawningBuffer,那么就不会有任何东西被画在墙上。 thanhbinh 2014.04.06 03:30 #2534 显示你所有的Speard历史。请帮助我 FxSteven 2014.04.06 13:47 #2535 有谁能帮我检查一下这个EA的CloseInMA功能。 我已经在这里停留了很多天,我找不到解决方案 。 谢谢你。 附加的文件: testing1.5.mq4 38 kb Mladen Rakic 2014.04.06 14:04 #2536 stevenpun: 有谁能帮我检查一下这个EA的CloseInMA函数。我在这里坚持了很多天,但我找不到解决办法 。 谢谢你。 冯小刚 试着像现在写的那样做 附加的文件: testing1.501.mq4 38 kb Dedoctor 2014.04.06 14:27 #2537 你好,好心的大师,我请求有人帮助编码,然后建立一个机器人(EA)的版本。 指示器--分别在结束于5、15、31、67的价格上自动绘制水平线(最好是断线)。例如在UJ 103.05, 102.67, 103.15等。线的长度应该是数学尺子的1英寸长,下面有这些数字,这样我就会有一个像样的图表,因为我已经有了几个线。 PS-4位和5位数的经纪人兼容 Dedoctor 2014.04.06 14:55 #2538 EA的规则 买入 在价格从下往上移动3个点之前,下挂买入止损单。例如,魔法数字5,价格目前在UJ 103.02,放置挂单 买入@103.05。 卖出 当价格从上方接近魔法数字3个点时,放置挂单卖出止损。例如,目前价格为103.08,卖出止损为103.05。 SL和TP各25/50点。 当交易达到+3点利润时,移动止损锁定+1利润,移动5锁定4,移动8锁定7,移动12锁定10。 最大开仓或浮动交易或挂单=1,直到停止新的交易。 每日最大平仓量3%,一旦达到,EA应停止交易。 默认手数为0.1(10,000)。 24小时交易 P.S: EA应该有一个选项来隐藏神奇的数字,追踪止损,从我的经纪人那里获取利润/止损,并且应该是4/5位数兼容。默认的货币对是UJ。 如果能尽快编好这个程序,我将非常感激。 FxSteven 2014.04.06 15:20 #2539 mladen: stevenpun 试着像现在这样做。 你好mladen。 我以前也试过,但它不工作。 这就是为什么我很困惑的原因。 希望你能帮我看看问题出在哪里。 谢谢你。 Mladen Rakic 2014.04.06 15:57 #2540 stevenpun: 你好 mladen ,我以前也试过,但它没有用。 这就是为什么我很困惑的原因。 希望你能帮我看看问题出在哪里。 谢谢你。 在你发布的版本中,你比较的是常数(Fastma、Dn_slowma和Up_slowma是用于移动平均线的周期,而不是移动平均线的值)。 现在改成了比较移动平均线的值。如果这不是你所想的,那么你必须改变它,但你不能比较恒定的数值,并期望它们在每个柱子之间变化。 检查这些是否是你想象中作为出场条件的准确的移动平均线条件(在GetSignalClose()函数 中),但要继续比较移动平均线的值而不是这些移动平均线的参数。 1...247248249250251252253254255256257258259260261...786 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好。
我在使用icustom在MTF中转动一些指标,很有乐趣。该指标可以工作,但不能正确显示颜色和箭头,为什么?
请问错误在哪里?
wilders_trailing_stop_mtf.mq4
wilders_trailing_stop.mq4
#property copyright "thefxpros"
#property link "thefxpros@katamail.com"
//------------------------------------------------------------------
#property indicator_chart_window
//#property indicator_color1 Orange
//#property indicator_color2 LimeGreen
//#property indicator_color3 LimeGreen
//#property indicator_color4 Orange
//#property indicator_width3 1
//#property indicator_width4 1
//
//
//
extern int TimeFrame = 0;
extern int Length = 2;
extern double Coeff = 1.75;
extern int LineWidth = 1;
extern int ArrowWidth = 1;
extern color UpLineClr = LimeGreen;
extern color DnLineClr = Orange;
extern color UpArrowClr = LimeGreen;
extern color DnArrowClr = Orange;
//
double WTS[];
double WTSDn[];
double arrUp[];
double arrDn[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(4);
SetIndexBuffer(0,WTS); SetIndexStyle(0,DRAW_LINE, EMPTY, LineWidth, DnLineClr);
SetIndexBuffer(1,WTSDn); SetIndexStyle(1,DRAW_LINE, EMPTY, LineWidth, UpLineClr);
SetIndexBuffer(2,arrUp); SetIndexStyle(2,DRAW_ARROW, EMPTY, ArrowWidth, UpArrowClr); SetIndexArrow(2,SYMBOL_ARROWUP);
SetIndexBuffer(3,arrDn); SetIndexStyle(3,DRAW_ARROW, EMPTY, ArrowWidth, DnArrowClr); SetIndexArrow(3,SYMBOL_ARROWDOWN);
IndicatorShortName("Wilders trailing stop MTF ("+Length+","+Coeff+")");
Length = MathMax(Length,1);
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Period_M1"; break;
case 5 : TimeFrameStr="Period_M5"; break;
case 15 : TimeFrameStr="Period_M15"; break;
case 30 : TimeFrameStr="Period_M30"; break;
case 60 : TimeFrameStr="Period_H1"; break;
case 240 : TimeFrameStr="Period_H4"; break;
case 1440 : TimeFrameStr="Period_D1"; break;
case 10080 : TimeFrameStr="Period_W1"; break;
case 43200 : TimeFrameStr="Period_MN1"; break;
default : TimeFrameStr="Current Timeframe";
}
IndicatorShortName("Wilders trailing stop MTF ("+TimeFrameStr+")");
return(0);
}
//----
//+------------------------------------------------------------------+
//| MTF function |
//+------------------------------------------------------------------+
int start()
{
datetime TimeArray[];
int i,limit,y=0,counted_bars=IndicatorCounted();
// Plot defined time frame on to current time frame
ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);
limit= MathMin(Bars-counted_bars+3*TimeFrame/Period(),Bars-1);
for(i=0,y=0;i<limit;i++)
{
if (Time<TimeArray[y]) y++;
/*********************************************************************************************************
Add your main indicator loop below. You can reference an existing indicator with its iName or iCustom.
Rule 1: Add extern inputs above for all neccesary values
Rule 2: Use 'TimeFrame' for the indicator time frame
Rule 3: Use 'y' for your indicator's shift value
********************************************************************************************************/
WTS=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,0,y);
WTSDn=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,1,y);
arrUp=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,2,y);
arrDn=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,3,y);
}
return(0);
}
//+------------------------------------------------------------------+[/PHP]Thefxpros
你注释了你必须声明绘图缓冲区的部分
这一部分。
[PHP]#property indicator_chart_window
//#property indicator_buffers 4
//#属性 indicator_color1 Orange
//#属性 indicator_color2 LimeGreen
//#属性 indicator_color3 LimeGreen
//#属性 indicator_color4 橙色
//#属性 indicator_width3 1
//#property indicator_width4 1删除这些行的注释,就可以工作了
Thefxpros
你注释了你必须声明绘图缓冲区的部分
这一部分。
//#property indicator_buffers 4
//#property indicator_color1 Orange
//#property indicator_color2 LimeGreen
//#property indicator_color3 LimeGreen
//#property indicator_color4 Orange
//#property indicator_width3 1
//#property indicator_width4 1是的,我知道,但我在后面说明了,这还不够吗?我必须总是在开始时就说明吗?
我记得我经常这样做,在以前的build metaeditor中,我记得它是有效的,难道我记错了?
是的,我知道,但我后来指定了,这还不够吗?我记得我经常这样做,在以前的build metaeditor中,我记得它是有效的,难道我记错了吗?
Thefxpros
在开始时,你指定的是绘图缓冲区。之后你可以指定计算缓冲区。如果你不指定#property indicator_buffers numberOfDrawningBuffer,那么就不会有任何东西被画在墙上。
显示你所有的Speard历史。请帮助我
有谁能帮我检查一下这个EA的CloseInMA功能。
我已经在这里停留了很多天,我找不到解决方案 。
谢谢你。
有谁能帮我检查一下这个EA的CloseInMA函数。
我在这里坚持了很多天,但我找不到解决办法 。
谢谢你。冯小刚
试着像现在写的那样做
你好,好心的大师,我请求有人帮助编码,然后建立一个机器人(EA)的版本。
指示器--分别在结束于5、15、31、67的价格上自动绘制水平线(最好是断线)。例如在UJ 103.05, 102.67, 103.15等。线的长度应该是数学尺子的1英寸长,下面有这些数字,这样我就会有一个像样的图表,因为我已经有了几个线。
PS-4位和5位数的经纪人兼容
EA的规则
买入
在价格从下往上移动3个点之前,下挂买入止损单。例如,魔法数字5,价格目前在UJ 103.02,放置挂单 买入@103.05。
卖出
当价格从上方接近魔法数字3个点时,放置挂单卖出止损。例如,目前价格为103.08,卖出止损为103.05。
SL和TP各25/50点。
当交易达到+3点利润时,移动止损锁定+1利润,移动5锁定4,移动8锁定7,移动12锁定10。
最大开仓或浮动交易或挂单=1,直到停止新的交易。
每日最大平仓量3%,一旦达到,EA应停止交易。
默认手数为0.1(10,000)。
24小时交易
P.S: EA应该有一个选项来隐藏神奇的数字,追踪止损,从我的经纪人那里获取利润/止损,并且应该是4/5位数兼容。默认的货币对是UJ。
如果能尽快编好这个程序,我将非常感激。
stevenpun 试着像现在这样做。
你好mladen。
我以前也试过,但它不工作。
这就是为什么我很困惑的原因。
希望你能帮我看看问题出在哪里。
谢谢你。
你好 mladen ,
我以前也试过,但它没有用。
这就是为什么我很困惑的原因。
希望你能帮我看看问题出在哪里。
谢谢你。在你发布的版本中,你比较的是常数(Fastma、Dn_slowma和Up_slowma是用于移动平均线的周期,而不是移动平均线的值)。
现在改成了比较移动平均线的值。如果这不是你所想的,那么你必须改变它,但你不能比较恒定的数值,并期望它们在每个柱子之间变化。
检查这些是否是你想象中作为出场条件的准确的移动平均线条件(在GetSignalClose()函数 中),但要继续比较移动平均线的值而不是这些移动平均线的参数。