编码帮助 - 页 294 1...287288289290291292293294295296297298299300301...786 新评论 airquest 2014.06.15 18:55 #2931 mladen: 气象你必须考虑到这一点,否则它将无法正常工作。 调用带有此类参数的指标的最佳方法是以下方法。 iCustom(NULL,targetTimeFrame,indicatorName,"",...,buffer,shift)。 所以,用""来表示该参数 谢谢你,Mladen,像往常一样,你很有帮助。 eliseexige 2014.06.16 08:08 #2932 有谁能让这个指标在开盘时绘制出来? TradeStation中的版本会在价格实际交易通过该值之前,在较低的时间框架条上绘制一个较高的时间框架指标图(当存在时)。然而,在MT4版本中,情况并非如此,它不会在价格交易通过它之前绘制。 非常感谢。 斯科特 *** #property indicator_chart_window#(属性:图表窗口) #属性 indicator_buffers 2 #属性 indicator_color1 白色 #属性 indicator_color2 白色 //#属性 indicator_width1 5 //#属性 indicator_width2 5 //---- 输入参数 /************************************************** *********************** PERIOD_M1 1 PERIOD_M5 5 PERIOD_M15 15 PERIOD_M30 30 PERIOD_H1 60 PERIOD_H4 240 PERIOD_D1 1440 周期_W1 10080 PERIOD_MN1 43200 你必须使用你想使用的时间框架的数值。 当你用指标输入设置 "TimeFrame "值时,你必须使用你想使用的时间框架的数值。 ************************************************** ************************/ extern int TimeFrame = 240; extern int num = 6; extern color Color = White; double vftop[]; double vfbot[]; //+------------------------------------------------------------------+ //|自定义指标初始化函数 //+------------------------------------------------------------------+ int init() { //---- 指标 IndicatorBuffers(2); SetIndexBuffer(0, vfbot); SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 5, Color); // SetIndexArrow(0, 117); SetIndexEmptyValue(0, 0); SetIndexBuffer(1, vftop); SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 5, Color); // SetIndexArrow(1, 117)。 SetIndexEmptyValue(1, 0)。 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 :时间框架Str="Period_D1"; break; case 10080 : TimeFrameStr="Period_W1"; break; case 43200 : TimeFrameStr="Period_MN1"; break; 默认情况下 : TimeFrameStr="当前时间框架"。 } IndicatorShortName("MTF_VolumeFinder ("+TimeFrameStr+")")。 //---- return(0); } //+------------------------------------------------------------------+ //|自定义指标去初始化功能| //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //|自定义指标迭代函数| //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted()。 int i = Bars - counted_bars; if(counted_bars == 0) i = Bars - num*2; int j = 0; 双倍的t1,t2。 int y = 0; while(i >= 0) { y = iBarShift(Symbol(), TimeFrame, Time); t1 = iLow(Symbol(), TimeFrame, y); t2 = iHigh(Symbol(), TimeFrame, y); for(j = y+1; j < y + num; j++) { t1 = MathMax(t1, iLow(Symbol(), TimeFrame, j))。 t2 = MathMin(t2, iHigh(Symbol(), TimeFrame, j))。 } 如果(t1 <= t2) { vftop = t2; vfbot = t1; } i--; } //---- return(0); } //+------------------------------------------------------------------+ Coding help Please fix this indicator 多时间框架指标 Mladen Rakic 2014.06.16 08:44 #2933 scott TTM: 在TradeStation的版本中,在价格实际交易通过该值之前,会在较低的时间框架条上绘制较高时间框架的指标图(当存在时)。然而,在MT4版本中,情况并非如此,它不会在价格交易通过它之前绘制。非常感谢。 斯科特 *** #属性 indicator_chart_window #属性 indicator_buffers 2 #属性 indicator_color1 白色 #属性 indicator_color2 白色 //#属性 indicator_width1 5 //#属性 indicator_width2 5 //---- 输入参数 /************************************************** *********************** PERIOD_M1 1 PERIOD_M5 5 PERIOD_M15 15 PERIOD_M30 30 PERIOD_H1 60 PERIOD_H4 240 PERIOD_D1 1440 周期_W1 10080 PERIOD_MN1 43200 你必须使用你想使用的时间框架的数值。 当你用指标输入设置 "TimeFrame "值时,你必须使用你想使用的时间框架的数值。 ************************************************** ************************/ extern int TimeFrame = 240; extern int num = 6; extern color Color = White; double vftop[]; double vfbot[]; //+------------------------------------------------------------------+ //|自定义指标初始化函数 //+------------------------------------------------------------------+ int init() { //---- 指标 IndicatorBuffers(2); SetIndexBuffer(0, vfbot); SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 5, Color); // SetIndexArrow(0, 117); SetIndexEmptyValue(0, 0); SetIndexBuffer(1, vftop); SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 5, Color); // SetIndexArrow(1, 117)。 SetIndexEmptyValue(1, 0)。 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 :时间框架Str="Period_D1"; break; case 10080 : TimeFrameStr="Period_W1"; break; case 43200 : TimeFrameStr="Period_MN1"; break; 默认情况下 : TimeFrameStr="当前时间框架"。 } IndicatorShortName("MTF_VolumeFinder ("+TimeFrameStr+")")。 //---- return(0); } //+------------------------------------------------------------------+ //|自定义指标去初始化功能| //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //|自定义指标迭代函数| //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted()。 int i = Bars - counted_bars; if(counted_bars == 0) i = Bars - num*2; int j = 0; 双倍的t1,t2。 int y = 0; while(i >= 0) { y = iBarShift(Symbol(), TimeFrame, Time); t1 = iLow(Symbol(), TimeFrame, y); t2 = iHigh(Symbol(), TimeFrame, y); for(j = y+1; j < y + num; j++) { t1 = MathMax(t1, iLow(Symbol(), TimeFrame, j))。 t2 = MathMin(t2, iHigh(Symbol(), TimeFrame, j))。 } 如果(t1 <= t2) { vftop = t2; vfbot = t1; } i--; } //---- return(0); } //+------------------------------------------------------------------+ 你能贴出tradestation的原始代码吗? eliseexige 2014.06.16 09:16 #2934 我搜索了一下,但找不到。 我在2004年买了这个指示器。 Mladen Rakic 2014.06.16 19:36 #2935 scott TTM: 我搜索了一下,但没有找到。 我是在2004年买的这个指标。 我问这个问题是因为我想对代码进行比较--有时简单的语言代码看起来是一个简单的任务,可以转换为metatrader,但差异太大,在某些情况下,转换是100%完成的。 kholi 2014.06.17 13:19 #2936 请帮助我 你好 能否请您帮助使其适用于MT4 Build 600+? 谢谢您的帮助。 附加的文件: sap_robot.mq4 32 kb forexhacked.mq4 19 kb adledion 2014.06.18 10:35 #2937 WPR_MA错误 你好mladen! 我可以请求一个小小的编码帮助吗? 我,有点,写了一个指标,在一个指标窗口中对其他4个WPR进行平均。 如果你加载模板,你可以看到WPR的MA之间的差异。 上面是指标,下面是手动混合。我们的目标是,把手动的变成一个指标。 我问她为什么要这样做?我在哪里把WPR_MA编码错了? 谢谢你的时间 阿德里安 附加的文件: wpr_ma_diff.tpl 4 kb wprma_dev.mq4 5 kb Mladen Rakic 2014.06.18 11:51 #2938 adledion: 你好 mladen!我可以寻求一点编码方面的帮助吗? 我,有点,写了一个指标,是在一个指标窗口中对其他4个WPR进行平均。 如果你加载模板,你可以看到WPR的MA之间的差异。 上面是指标,下面是手动混合。我们的目标是,把手动的变成一个指标。 我问她为什么要这样做?我在哪里把WPR_MA编码错了? 谢谢你的时间 阿德雷迪恩 阿德里安 在模板中,ma只适用于一个WPR(WPR(50)在该模板的情况下)。你不能将ma应用于多个指标,这就是为什么你的指标和模板之间存在差异。 试试吧 - 将你的指标中的所有WPR周期设置为50,并将指标的值与模板中的ma的前一个值(由于你在指标中对iMAOnArray()使用了shift one,所以是前一个)进行比较,你会发现在这种情况下你的值是完全相同的。 adledion 2014.06.18 14:15 #2939 mladen: 阿德里安在模板中,ma只应用于一个WPR(该模板中的WPR(50))。你不能将ma应用于多个指标,这就是为什么你的指标和模板之间存在差异。 试试吧 - 将你的指标中的所有WPR周期设置为50,并将指标的值与模板中的ma的前一个值(前一个,因为你在指标的iMAOnArray()中使用了shift one)进行比较,你会发现你在这种情况下的值是完全相同的。 哇,谢谢你,没有挖到那么深 编辑:这意味着,在手册中混合的ma只是在一个wpr上? 第一个指标数据......?所以基本上手册是错误的(计算一个wpr ma),相比之下,我原来的想法是计算3或4个wpr ma。 nevar 2014.06.19 12:36 #2940 Mladen , 我有点不解,这2个指标是重绘的吗?https://www.mql5.com/en/forum/172895 你知道这些柱状图代表什么吗?谢谢。 附加的文件: forexmtn.mq4 3 kb rd-combo.mq4 11 kb 1...287288289290291292293294295296297298299300301...786 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
气象
你必须考虑到这一点,否则它将无法正常工作。
调用带有此类参数的指标的最佳方法是以下方法。
iCustom(NULL,targetTimeFrame,indicatorName,"",...,buffer,shift)。
所以,用""来表示该参数谢谢你,Mladen,像往常一样,你很有帮助。
有谁能让这个指标在开盘时绘制出来? TradeStation中的版本会在价格实际交易通过该值之前,在较低的时间框架条上绘制一个较高的时间框架指标图(当存在时)。然而,在MT4版本中,情况并非如此,它不会在价格交易通过它之前绘制。
非常感谢。
斯科特
***
#property indicator_chart_window#(属性:图表窗口)
#属性 indicator_buffers 2
#属性 indicator_color1 白色
#属性 indicator_color2 白色
//#属性 indicator_width1 5
//#属性 indicator_width2 5
//---- 输入参数
/************************************************** ***********************
PERIOD_M1 1
PERIOD_M5 5
PERIOD_M15 15
PERIOD_M30 30
PERIOD_H1 60
PERIOD_H4 240
PERIOD_D1 1440
周期_W1 10080
PERIOD_MN1 43200
你必须使用你想使用的时间框架的数值。
当你用指标输入设置 "TimeFrame "值时,你必须使用你想使用的时间框架的数值。
************************************************** ************************/
extern int TimeFrame = 240;
extern int num = 6;
extern color Color = White;
double vftop[];
double vfbot[];
//+------------------------------------------------------------------+
//|自定义指标初始化函数
//+------------------------------------------------------------------+
int init()
{
//---- 指标
IndicatorBuffers(2);
SetIndexBuffer(0, vfbot);
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 5, Color);
// SetIndexArrow(0, 117);
SetIndexEmptyValue(0, 0);
SetIndexBuffer(1, vftop);
SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 5, Color);
// SetIndexArrow(1, 117)。
SetIndexEmptyValue(1, 0)。
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 :时间框架Str="Period_D1"; break;
case 10080 : TimeFrameStr="Period_W1"; break;
case 43200 : TimeFrameStr="Period_MN1"; break;
默认情况下 : TimeFrameStr="当前时间框架"。
}
IndicatorShortName("MTF_VolumeFinder ("+TimeFrameStr+")")。
//----
return(0);
}
//+------------------------------------------------------------------+
//|自定义指标去初始化功能|
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|自定义指标迭代函数|
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted()。
int i = Bars - counted_bars;
if(counted_bars == 0) i = Bars - num*2;
int j = 0;
双倍的t1,t2。
int y = 0;
while(i >= 0)
{
y = iBarShift(Symbol(), TimeFrame, Time);
t1 = iLow(Symbol(), TimeFrame, y);
t2 = iHigh(Symbol(), TimeFrame, y);
for(j = y+1; j < y + num; j++)
{
t1 = MathMax(t1, iLow(Symbol(), TimeFrame, j))。
t2 = MathMin(t2, iHigh(Symbol(), TimeFrame, j))。
}
如果(t1 <= t2)
{
vftop = t2;
vfbot = t1;
}
i--;
}
//----
return(0);
}
//+------------------------------------------------------------------+
在TradeStation的版本中,在价格实际交易通过该值之前,会在较低的时间框架条上绘制较高时间框架的指标图(当存在时)。然而,在MT4版本中,情况并非如此,它不会在价格交易通过它之前绘制。
非常感谢。
斯科特
***
#属性 indicator_chart_window
#属性 indicator_buffers 2
#属性 indicator_color1 白色
#属性 indicator_color2 白色
//#属性 indicator_width1 5
//#属性 indicator_width2 5
//---- 输入参数
/************************************************** ***********************
PERIOD_M1 1
PERIOD_M5 5
PERIOD_M15 15
PERIOD_M30 30
PERIOD_H1 60
PERIOD_H4 240
PERIOD_D1 1440
周期_W1 10080
PERIOD_MN1 43200
你必须使用你想使用的时间框架的数值。
当你用指标输入设置 "TimeFrame "值时,你必须使用你想使用的时间框架的数值。
************************************************** ************************/
extern int TimeFrame = 240;
extern int num = 6;
extern color Color = White;
double vftop[];
double vfbot[];
//+------------------------------------------------------------------+
//|自定义指标初始化函数
//+------------------------------------------------------------------+
int init()
{
//---- 指标
IndicatorBuffers(2);
SetIndexBuffer(0, vfbot);
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 5, Color);
// SetIndexArrow(0, 117);
SetIndexEmptyValue(0, 0);
SetIndexBuffer(1, vftop);
SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 5, Color);
// SetIndexArrow(1, 117)。
SetIndexEmptyValue(1, 0)。
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 :时间框架Str="Period_D1"; break;
case 10080 : TimeFrameStr="Period_W1"; break;
case 43200 : TimeFrameStr="Period_MN1"; break;
默认情况下 : TimeFrameStr="当前时间框架"。
}
IndicatorShortName("MTF_VolumeFinder ("+TimeFrameStr+")")。
//----
return(0);
}
//+------------------------------------------------------------------+
//|自定义指标去初始化功能|
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|自定义指标迭代函数|
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted()。
int i = Bars - counted_bars;
if(counted_bars == 0) i = Bars - num*2;
int j = 0;
双倍的t1,t2。
int y = 0;
while(i >= 0)
{
y = iBarShift(Symbol(), TimeFrame, Time);
t1 = iLow(Symbol(), TimeFrame, y);
t2 = iHigh(Symbol(), TimeFrame, y);
for(j = y+1; j < y + num; j++)
{
t1 = MathMax(t1, iLow(Symbol(), TimeFrame, j))。
t2 = MathMin(t2, iHigh(Symbol(), TimeFrame, j))。
}
如果(t1 <= t2)
{
vftop = t2;
vfbot = t1;
}
i--;
}
//----
return(0);
}
//+------------------------------------------------------------------+你能贴出tradestation的原始代码吗?
我搜索了一下,但找不到。 我在2004年买了这个指示器。
我搜索了一下,但没有找到。 我是在2004年买的这个指标。
我问这个问题是因为我想对代码进行比较--有时简单的语言代码看起来是一个简单的任务,可以转换为metatrader,但差异太大,在某些情况下,转换是100%完成的。
请帮助我
你好
能否请您帮助使其适用于MT4 Build 600+?
谢谢您的帮助。
WPR_MA错误
你好mladen!
我可以请求一个小小的编码帮助吗?
我,有点,写了一个指标,在一个指标窗口中对其他4个WPR进行平均。
如果你加载模板,你可以看到WPR的MA之间的差异。
上面是指标,下面是手动混合。我们的目标是,把手动的变成一个指标。
我问她为什么要这样做?我在哪里把WPR_MA编码错了?
谢谢你的时间
阿德里安
你好 mladen!
我可以寻求一点编码方面的帮助吗?
我,有点,写了一个指标,是在一个指标窗口中对其他4个WPR进行平均。
如果你加载模板,你可以看到WPR的MA之间的差异。
上面是指标,下面是手动混合。我们的目标是,把手动的变成一个指标。
我问她为什么要这样做?我在哪里把WPR_MA编码错了?
谢谢你的时间
阿德雷迪恩阿德里安
在模板中,ma只适用于一个WPR(WPR(50)在该模板的情况下)。你不能将ma应用于多个指标,这就是为什么你的指标和模板之间存在差异。
试试吧 - 将你的指标中的所有WPR周期设置为50,并将指标的值与模板中的ma的前一个值(由于你在指标中对iMAOnArray()使用了shift one,所以是前一个)进行比较,你会发现在这种情况下你的值是完全相同的。
阿德里安
在模板中,ma只应用于一个WPR(该模板中的WPR(50))。你不能将ma应用于多个指标,这就是为什么你的指标和模板之间存在差异。
试试吧 - 将你的指标中的所有WPR周期设置为50,并将指标的值与模板中的ma的前一个值(前一个,因为你在指标的iMAOnArray()中使用了shift one)进行比较,你会发现你在这种情况下的值是完全相同的。哇,谢谢你,没有挖到那么深
编辑:这意味着,在手册中混合的ma只是在一个wpr上? 第一个指标数据......?所以基本上手册是错误的(计算一个wpr ma),相比之下,我原来的想法是计算3或4个wpr ma。
Mladen ,
我有点不解,这2个指标是重绘的吗?https://www.mql5.com/en/forum/172895
你知道这些柱状图代表什么吗?谢谢。