ICustom函数 - 页 12 1...5678910111213141516171819...23 新评论 pnyts 2010.01.12 21:38 #111 谁能发布一个简单的EA,通过调用icustom()的两个指标,进行买入和卖出。 是否有一个关闭挂单的 功能。 谢谢 ra457 2010.02.03 17:33 #112 iCustom帮助 你好。 我正在尝试修改FerruFX的一个指标,以使用自定义指标。我已经让所有的MAs正常工作了,但我不确定如何为其他两个指标获得正确的信息。我最终希望这能显示我所附的两个指标的MTF数据,PerkyAsctrend1和HeikenAshi MTF。我为这两个指标使用了iCustom,我想我已经在这个范围内使用了正确的命令。 我能够为PerkyAsctrend1产生数据(但不是正确的数据)。我以为我理解了让它正确显示的逻辑,但我想我不理解。Ferru在他的指标中使用了MA、CCI、MACD、ADX、Bullspower和BearsPower,但它们是不同种类的指标,不幸的是,在这种设置下,作为PerkyAsctrend1的参考,不是很有用(对我而言)。 我以为HeikenAshi MTF指标会很容易添加到指标中。显然,我错了。Heiken栏莫名其妙地显示 "Label",而且它们在第一个tick之后都消失了。 希望这段代码对你来说其实并不像对我来说那么恶心。我是一个业余的程序员。如果有人能提供帮助,我将非常感激。我需要一双更有经验的眼睛来看待这个问题。我觉得它完成后会有很大的好处。 - 以下是给我带来麻烦的代码部分。这两个iCustoms给我的值都是2147483647,即价格历史/图表中的总条数。 int RISK = 4; int AllBars = 250; int MaMethod = 1; int MaPeriod = 20; //... // 讨厌的人 //... string Pesky_Trend_1 //-- , Pesky_Trend_5, Pesky_Trend_15, Pesky_Trend_30, Pesky_Trend_60, Pesky_Trend_240, Pesky_Trend_1440, Pesky_Trend_10080。 double Pesky_m_1=iCustom(NULL,PERIOD_M1, "PerkyAsctrend1", RISK, AllBars,0,shift_1); if ((Pesky_m_1 > 0)) { Pesky_Trend_1 = "UP"; x = 416; color_indic = Lime; UP_33 = 1; DOWN_33 = 0; } 如果((Pesky_m_1 < 0)){ Pesky_Trend_1 = "DOWN"; x = 406; color_indic = Red; UP_33 = 0; DOWN_33 = 1; }。 // ... // 指标 (Heiken) //... string HA_Trend_1 //-- , HA_Trend_5, HA_Trend_15, HA_Trend_30, HA_Trend_60, HA_Trend_240, HA_Trend_1440, HA_Trend_10080; double HA_1_1=iCustom(NULL,PERIOD_M1, "Heiken MTF",MaMethod,MaPeriod,shift_1); double HA_2_1=iCustom(NULL,PERIOD_M1, "Heiken MTF",MaMethod,MaPeriod,shift_1+1); if ((HA_1_1 > HA_2_1)) { HA_Trend_1 = "UP"; x = 466; color_indic = Lime; UP_41 = 1; DOWN_41 = 0; } 如果((HA_1_1 < HA_2_1)) { HA_Trend_1 = "DOWN"; x = 456; color_indic = Lime; UP_41 = 0; DOWN_41 = 1; } //... 我知道这些移位值是非正统的,但原作者就是这么做的。 int start() { //... // 指标的移位计算(仅测试) double shift_1, shift_5, shift_15, shift_30, shift_60, shift_240, shift_1440, shift_10080; if( test == true ) { shift_1=iBarShift(NULL,PERIOD_M1,look_time_shift,false)。 shift_5=iBarShift(NULL,PERIOD_M5,look_time_shift,false)。 shift_15=iBarShift(NULL,PERIOD_M15,look_time_shift,false)。 shift_30=iBarShift(NULL,PERIOD_M30,look_time_shift,false)。 shift_60=iBarShift(NULL,PERIOD_H1,look_time_shift,false)。 shift_240=iBarShift(NULL,PERIOD_H4,look_time_shift,false)。 shift_1440=iBarShift(NULL,PERIOD_D1,look_time_shift,false)。 shift_10080=iBarShift(NULL,PERIOD_W1,look_time_shift,false)。 } 否则 { shift_1=shift_indicators; shift_5=shift_indicators; shift_15=shift_indicators; shift_30=shift_indicators; shift_60=shift_indicators。 shift_240=shift_indicators。 shift_1440=shift_indicators。 shift_10080=shift_indicators。 谢谢你... 附加的文件: pesky_heiken_build.mq4 48 kb perkyasctrend1.mq4 5 kb ferrufx_multi_info.mq4 11 kb heiken_mtf.mq4 4 kb ra457 2010.02.04 20:24 #113 更新版本 我重新安排了一切,因为它需要在视觉上,并改变了一些参数名称。对于iCustom来说,一切看起来都是正确的,但是PerkyAsctrend的值没有被正确计算,Heiken的逻辑显然是完全错误的。似乎它没有在晚上为Heiken MTF指标的iCustom提供一个双倍值。我还没有再次检查它们,但是这两个指标的iCustom双倍值都等于我历史上的条数(2147483647)......!我一定是在iCustom中做了什么完全错误的事情,但我怎么也找不到它。 如果你有时间或精力看一下这个问题,我将非常感激。 附加的文件: pesky_heiken_build2.mq4 46 kb pesky.mq4 5 kb heiken_mtf_1.mq4 4 kb pettrov 2010.02.13 11:52 #114 致。Homicida & Ra457 re: iCustom 你好。 你在使用iCustom 时得到的那个大数字值,听起来像我遇到的困难。 我希望这有帮助。 请确保你输入iCustom的参数与指标代码本身的外部变量中给出的参数完全相同,且顺序一致。 干杯。 Michel 2010.02.13 19:53 #115 2147483647与你的历史没有关系。 它是32位有符号整数的最大值,被MT4用作指标的默认 "空值"。 当数值不显示时,指标会返回 "空值"。 StevePams 2010.03.14 22:04 #116 习惯() 你好,我需要从一个指标中读取三个变量。 我将其放在指标的顶部。 变量 double eaBid=0; double eaAsk=0; string eaType=""。 //========================== 变量 #属性 indicator_separate_window #属性 indicator_buffers 8 #属性 indicator_color1 黑色 #属性 indicator_color2 Lime #属性 indicator_color3 青柠 #属性 indicator_color3 青柠 #属性 indicator_color4 黄色 #属性指示器_color5 红色 #属性指示器_color6 红色 #属性指示器_color7 黑色 #属性指示器_颜色8 黑色 double eaEP=0; double eaSL=0; double eaType=0; 双重iVars[]。 笨重 #property indicator_buffers 2 #属性 indicator_color1 红色 #属性 indicator_color2 ForestGreen //---- 输入参数 string IndicatorName="TradeWatch"; double EntryBid=0; double EntryAsk=0。 string EntryType=""。 double eaBid=0; double eaAsk=0; string eaType=""。 int init() { 返回(0)。 } 开始 { EntryBid = iCustom(Symbol(), Period(), IndicatorName, eaBid, eaAsk, eaType, 1, 0); EntryAsk = iCustom(Symbol(), Period(), IndicatorName, eaBid, eaAsk, eaType, 2, 0); EntryType = iCustom(Symbol(), Period(), IndicatorName, eaBid, eaAsk, eaType, 3, 0); } 我如何将这三个变量读入我的EA中? 我看不出我哪里做错了? 谢谢。 ICustom function 习俗 顾比多重移动平均线 1Dave7 2010.03.15 01:52 #117 为什么不直接读取应该反映在指标缓冲区 数值中的变量结果呢? 如果你在图表上放置指标后看一下指标设置中的颜色,每种颜色代表一个缓冲区。 最上面的颜色=缓冲区0,从上面开始的第二个颜色=缓冲区1,以此类推。 在你的EA中使用类似这样的东西。 Buff0=iCustom(NULL,0, "指标名称",0,0); //指标的顶部颜色 Buff0=iCustom(NULL,0, "Indicator Name",0,1); //1-Back Buff1=iCustom(NULL,0, "指标名称",1,0); //指标顶部的次要颜色 Buff1=iCustom(NULL,0, "Indicator Name",1,1); //1-Back 修改指标本身的变量,并重新编译指标,这将更新缓冲区和图表上的指标 如果仍然感到困惑,我将给你发送一个实际的EA和指标供你查看。 戴夫 <<< StevePams 2010.03.15 11:38 #118 iCustom() 谢谢你,戴夫。 已经开始工作了。 np601 2010.03.16 11:30 #119 祝大家一天愉快 hankeys 2010.03.25 07:14 #120 我的EA 我已经用MQ4生成器创建了我的EA--ASCTrend.mq4,它使用带有ICustom功能的asctrend信号。它可以在上升信号时开出买入交易,在下降时开出卖出。 我想在我的EA中添加一些过滤器--通过对一些货币对的回溯测试,它看起来很好,但我不知道如何在我的EA中添加这个过滤器--我想是这样,但没有运气。 double Buy1_1 = iCustom(Symbol(),0, "PerkyAsctrend1",0,1); double Buy2_1 = iCustom(NULL, 0, "BBands_Stop_v1", 4, 0, Current + 1); 双倍Buy2_2 = 1; double Sell1_1 = iCustom(Symbol(),0, "PerkyAsctrend1",1,1); double Sell2_1 = iCustom(NULL, 0, "BBands_Stop_v1", 5, 0, Current + 1); double Sell2_2 = 1; 如果(Buy1_1 && Buy2_1 > Buy2_2) Order = SIGNAL_BUY; 如果(Sell1_1 && Sell2_1 > Sell2_2) Order = SIGNAL_SELL; 附加的文件: asctrend_1.mq4 10 kb perkyasctrend1.mq4 5 kb bbands_stop_v1.mq4 6 kb ASCTrend系统 ICustom function ASCTrend system 1...5678910111213141516171819...23 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谁能发布一个简单的EA,通过调用icustom()的两个指标,进行买入和卖出。
是否有一个关闭挂单的 功能。
谢谢
iCustom帮助
你好。
我正在尝试修改FerruFX的一个指标,以使用自定义指标。我已经让所有的MAs正常工作了,但我不确定如何为其他两个指标获得正确的信息。我最终希望这能显示我所附的两个指标的MTF数据,PerkyAsctrend1和HeikenAshi MTF。我为这两个指标使用了iCustom,我想我已经在这个范围内使用了正确的命令。
我能够为PerkyAsctrend1产生数据(但不是正确的数据)。我以为我理解了让它正确显示的逻辑,但我想我不理解。Ferru在他的指标中使用了MA、CCI、MACD、ADX、Bullspower和BearsPower,但它们是不同种类的指标,不幸的是,在这种设置下,作为PerkyAsctrend1的参考,不是很有用(对我而言)。
我以为HeikenAshi MTF指标会很容易添加到指标中。显然,我错了。Heiken栏莫名其妙地显示 "Label",而且它们在第一个tick之后都消失了。
希望这段代码对你来说其实并不像对我来说那么恶心。我是一个业余的程序员。如果有人能提供帮助,我将非常感激。我需要一双更有经验的眼睛来看待这个问题。我觉得它完成后会有很大的好处。
-
以下是给我带来麻烦的代码部分。这两个iCustoms给我的值都是2147483647,即价格历史/图表中的总条数。
int RISK = 4;
int AllBars = 250;
int MaMethod = 1;
int MaPeriod = 20;
//...
// 讨厌的人
//...
string Pesky_Trend_1 //-- , Pesky_Trend_5, Pesky_Trend_15, Pesky_Trend_30, Pesky_Trend_60, Pesky_Trend_240, Pesky_Trend_1440, Pesky_Trend_10080。
double Pesky_m_1=iCustom(NULL,PERIOD_M1, "PerkyAsctrend1", RISK, AllBars,0,shift_1);
if ((Pesky_m_1 > 0)) { Pesky_Trend_1 = "UP"; x = 416; color_indic = Lime; UP_33 = 1; DOWN_33 = 0; }
如果((Pesky_m_1 < 0)){ Pesky_Trend_1 = "DOWN"; x = 406; color_indic = Red; UP_33 = 0; DOWN_33 = 1; }。
// ...
// 指标 (Heiken)
//...
string HA_Trend_1 //-- , HA_Trend_5, HA_Trend_15, HA_Trend_30, HA_Trend_60, HA_Trend_240, HA_Trend_1440, HA_Trend_10080;
double HA_1_1=iCustom(NULL,PERIOD_M1, "Heiken MTF",MaMethod,MaPeriod,shift_1);
double HA_2_1=iCustom(NULL,PERIOD_M1, "Heiken MTF",MaMethod,MaPeriod,shift_1+1);
if ((HA_1_1 > HA_2_1)) { HA_Trend_1 = "UP"; x = 466; color_indic = Lime; UP_41 = 1; DOWN_41 = 0; }
如果((HA_1_1 < HA_2_1)) { HA_Trend_1 = "DOWN"; x = 456; color_indic = Lime; UP_41 = 0; DOWN_41 = 1; }
//...我知道这些移位值是非正统的,但原作者就是这么做的。
int start()
{
//...
// 指标的移位计算(仅测试)
double shift_1, shift_5, shift_15, shift_30, shift_60, shift_240, shift_1440, shift_10080;
if( test == true )
{
shift_1=iBarShift(NULL,PERIOD_M1,look_time_shift,false)。
shift_5=iBarShift(NULL,PERIOD_M5,look_time_shift,false)。
shift_15=iBarShift(NULL,PERIOD_M15,look_time_shift,false)。
shift_30=iBarShift(NULL,PERIOD_M30,look_time_shift,false)。
shift_60=iBarShift(NULL,PERIOD_H1,look_time_shift,false)。
shift_240=iBarShift(NULL,PERIOD_H4,look_time_shift,false)。
shift_1440=iBarShift(NULL,PERIOD_D1,look_time_shift,false)。
shift_10080=iBarShift(NULL,PERIOD_W1,look_time_shift,false)。
}
否则
{
shift_1=shift_indicators;
shift_5=shift_indicators;
shift_15=shift_indicators;
shift_30=shift_indicators;
shift_60=shift_indicators。
shift_240=shift_indicators。
shift_1440=shift_indicators。
shift_10080=shift_indicators。谢谢你...
更新版本
我重新安排了一切,因为它需要在视觉上,并改变了一些参数名称。对于iCustom来说,一切看起来都是正确的,但是PerkyAsctrend的值没有被正确计算,Heiken的逻辑显然是完全错误的。似乎它没有在晚上为Heiken MTF指标的iCustom提供一个双倍值。我还没有再次检查它们,但是这两个指标的iCustom双倍值都等于我历史上的条数(2147483647)......!我一定是在iCustom中做了什么完全错误的事情,但我怎么也找不到它。
如果你有时间或精力看一下这个问题,我将非常感激。
致。Homicida & Ra457 re: iCustom
你好。
你在使用iCustom 时得到的那个大数字值,听起来像我遇到的困难。
我希望这有帮助。
请确保你输入iCustom的参数与指标代码本身的外部变量中给出的参数完全相同,且顺序一致。
干杯。
2147483647与你的历史没有关系。
它是32位有符号整数的最大值,被MT4用作指标的默认 "空值"。
当数值不显示时,指标会返回 "空值"。
习惯()
你好,我需要从一个指标中读取三个变量。
我将其放在指标的顶部。
变量
double eaBid=0;
double eaAsk=0;
string eaType=""。
//==========================
变量
#属性 indicator_separate_window
#属性 indicator_buffers 8
#属性 indicator_color1 黑色
#属性 indicator_color2 Lime
#属性 indicator_color3 青柠 #属性 indicator_color3 青柠
#属性 indicator_color4 黄色
#属性指示器_color5 红色
#属性指示器_color6 红色
#属性指示器_color7 黑色
#属性指示器_颜色8 黑色
double eaEP=0;
double eaSL=0;
double eaType=0;
双重iVars[]。
笨重
#property indicator_buffers 2
#属性 indicator_color1 红色
#属性 indicator_color2 ForestGreen
//---- 输入参数
string IndicatorName="TradeWatch";
double EntryBid=0;
double EntryAsk=0。
string EntryType=""。
double eaBid=0;
double eaAsk=0;
string eaType=""。
int init()
{
返回(0)。
}
开始
{
EntryBid = iCustom(Symbol(), Period(), IndicatorName, eaBid, eaAsk, eaType, 1, 0);
EntryAsk = iCustom(Symbol(), Period(), IndicatorName, eaBid, eaAsk, eaType, 2, 0);
EntryType = iCustom(Symbol(), Period(), IndicatorName, eaBid, eaAsk, eaType, 3, 0);
}
我如何将这三个变量读入我的EA中?
我看不出我哪里做错了?
谢谢。
为什么不直接读取应该反映在指标缓冲区 数值中的变量结果呢? 如果你在图表上放置指标后看一下指标设置中的颜色,每种颜色代表一个缓冲区。 最上面的颜色=缓冲区0,从上面开始的第二个颜色=缓冲区1,以此类推。
在你的EA中使用类似这样的东西。
Buff0=iCustom(NULL,0, "指标名称",0,0); //指标的顶部颜色
Buff0=iCustom(NULL,0, "Indicator Name",0,1); //1-Back
Buff1=iCustom(NULL,0, "指标名称",1,0); //指标顶部的次要颜色
Buff1=iCustom(NULL,0, "Indicator Name",1,1); //1-Back
修改指标本身的变量,并重新编译指标,这将更新缓冲区和图表上的指标
如果仍然感到困惑,我将给你发送一个实际的EA和指标供你查看。
戴夫
<<<
iCustom()
谢谢你,戴夫。
已经开始工作了。
祝大家一天愉快
我的EA
我已经用MQ4生成器创建了我的EA--ASCTrend.mq4,它使用带有ICustom功能的asctrend信号。它可以在上升信号时开出买入交易,在下降时开出卖出。
我想在我的EA中添加一些过滤器--通过对一些货币对的回溯测试,它看起来很好,但我不知道如何在我的EA中添加这个过滤器--我想是这样,但没有运气。
double Buy1_1 = iCustom(Symbol(),0, "PerkyAsctrend1",0,1);
double Buy2_1 = iCustom(NULL, 0, "BBands_Stop_v1", 4, 0, Current + 1);
双倍Buy2_2 = 1;
double Sell1_1 = iCustom(Symbol(),0, "PerkyAsctrend1",1,1);
double Sell2_1 = iCustom(NULL, 0, "BBands_Stop_v1", 5, 0, Current + 1);
double Sell2_2 = 1;
如果(Buy1_1 && Buy2_1 > Buy2_2) Order = SIGNAL_BUY;
如果(Sell1_1 && Sell2_1 > Sell2_2) Order = SIGNAL_SELL;