多币种顾问问题 - 页 7 1234567891011121314 新评论 Rid 2007.09.09 11:14 #61 好的!我现在要研究一下。但测试人员不知道该EA连接到什么工具。 Rid 2007.09.09 11:45 #62 数据时间iTime(字符串符号,int timeframe,int shift)。 返回相应图表(符号,时间框架)中打开的条形图的时间值。在出错的情况下,该函数返回0。关于错误的更多信息,请调用GetLastError()。对于当前的图表,每个条形图的开盘时间的信息位于预定义的数组Time[]中。参数: 符号 - 仪器的符号名称。NULL表示当前符号。 Timeframe - 周期。可以是图表中的一个时期。0表示当前图表的周期。 shift - 时间框架值的索引(相对于当前条形图按指定的周期数向后移动)。 --------------------------------------------------------------------------------------------------------------------- 根据我的理解,你应该首先设置,比如说。 static int prevtimeEURUSD = 0; 然后将其插入所需的对的代码中 double TTTTTT=iTime("EURUSD",60,0); if(TTTTTT == prevtimeEURUSD) return(0); prevtimeEURUSD = TTTTTT rsi 2007.09.09 14:33 #63 rid: ... 根据我的理解,首先要做的是设置,比如说。 static int prevtimeEURUSD = 0; 然后将其插入我们需要的一对代码中 double TTTTTT=iTime("EURUSD",60,0); if(TTTTTT == prevtimeEURUSD) return(0); prevtimeEURUSD = TTTTTT 是的,请看在ProtoType(Rosh)中是如何做的。试图插入一个链接,有些东西没有通过(通过在CodeBase中搜索找到它)。isNewBar()函数有一个二维数组用于此目的--秩序是伟大的力量! Rid 2007.09.09 15:20 #64 谢谢你!我有这个专家。我现在就去看一看。 [删除] 2007.09.11 10:55 #65 亲爱的克勒克! 我想做一个多货币指标,比如说两个货币对。首先,应将这些货币对的报价带入一种形式(例如,将其转换为百分比变化,即(Close[i]-Close[i+1])/100%--对吗?),然后,如果我想看到它们之间的差异动态,将其输入指标。如何做到这一点? Igor Malcev 2007.09.11 11:42 #66 如果你想知道差异的动态,你不需要把它转换成百分比,你可以这样做。 int start(){ double Point1 = MarketInfo("GBPUSD",MODE_POINT); double Point2 = MarketInfo("USDJPY",MODE_POINT); MacdBuffer[0] = iMACD("GBPUSD",0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)/Point1 + iMACD("USDJPY",0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)/Point2; Comment("MACD "+MacdBuffer[0]); return(0); } [删除] 2007.09.11 11:55 #67 非常感谢你,Xeon!!!!我将试一试! [删除] 2007.09.11 12:03 #68 Xeon!如果你不介意把你需要的东西丢在上面,从开始....因为,我还是个傻子!!。 Igor Malcev 2007.09.11 12:29 #69 nido: Xeon!如果你不硬,从开始的顶部放下你需要的东西...因为我还是个傻子!!。 事实上,这是在几分钟内写成的测试脚本(用来测试代码块)。 不得不为你勾勒一个指标 :-) //+------------------------------------------------------------------+ //| MultyMACD.mq4 | //| Copyright © 2007, xeon | //| xeon@nm.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007, xeon" #property link "xeon@nm.ru" #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 Lime #property indicator_color2 Red #property indicator_width1 2 //---- buffers double MacdBuffer[]; double SignalBuffer[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init(){ IndicatorBuffers(2); SetIndexStyle(0,DRAW_HISTOGRAM); SetIndexBuffer(0,MacdBuffer); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,SignalBuffer); SetIndexEmptyValue(0,0.0); SetIndexEmptyValue(1,0.0); SetIndexLabel(0,"MACD"); SetIndexLabel(1,"Signal"); IndicatorShortName("MultyMACD"); return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start(){ if(IsOptimization()==true || IsTesting()==true){Comment("В тестере будет ошибка деления на 0. описано - в справке по MarketInfo");return(0);} //---- double Point1 = MarketInfo("GBPUSD",MODE_POINT); double Point2 = MarketInfo("USDJPY",MODE_POINT); MacdBuffer[0] = iMACD("GBPUSD",0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)/Point1 + iMACD("USDJPY",0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)/Point2; for(int i=9;i>=0;i--){ SignalBuffer[0]=iMAOnArray(MacdBuffer,0,9,0,MODE_SMA,i); } //---- return(0); } //+------------------------------------------------------------------+ 我希望你能想出办法 p.s. 请记住,这个指标只能在线工作,在历史上你需要创建一个循环。 [删除] 2007.09.11 13:58 #70 xeon: nido。 Xeon!如果你不硬,从开始的顶部放下你需要的东西...因为我还是个傻子!!。 事实上,这是在几分钟内写成的测试脚本(用来测试代码块)。 不得不为你勾勒一个指标 :-) //+------------------------------------------------------------------+ //| MultyMACD.mq4 | //| Copyright © 2007, xeon | //| xeon@nm.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007, xeon" #property link "xeon@nm.ru" #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 Lime #property indicator_color2 Red #property indicator_width1 2 //---- buffers double MacdBuffer[]; double SignalBuffer[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init(){ IndicatorBuffers(2); SetIndexStyle(0,DRAW_HISTOGRAM); SetIndexBuffer(0,MacdBuffer); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,SignalBuffer); SetIndexEmptyValue(0,0.0); SetIndexEmptyValue(1,0.0); SetIndexLabel(0,"MACD"); SetIndexLabel(1,"Signal"); IndicatorShortName("MultyMACD"); return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start(){ if(IsOptimization()==true || IsTesting()==true){Comment("В тестере будет ошибка деления на 0. описано - в справке по MarketInfo");return(0);} //---- double Point1 = MarketInfo("GBPUSD",MODE_POINT); double Point2 = MarketInfo("USDJPY",MODE_POINT); MacdBuffer[0] = iMACD("GBPUSD",0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)/Point1 + iMACD("USDJPY",0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)/Point2; for(int i=9;i>=0;i--){ SignalBuffer[0]=iMAOnArray(MacdBuffer,0,9,0,MODE_SMA,i); } //---- return(0); } //+------------------------------------------------------------------+ 我希望你能想出办法 p.s. 请记住,这个指标只能在线工作,在历史上你需要创建一个循环。 谢谢你,Xeon!!!。我可以就EA的想法给您写一封私人信件吗? 我的电子邮件:ni_do@mail.ru 1234567891011121314 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
数据时间iTime(字符串符号,int timeframe,int shift)。
返回相应图表(符号,时间框架)中打开的条形图的时间值。在出错的情况下,该函数返回0。关于错误的更多信息,请调用GetLastError()。对于当前的图表,每个条形图的开盘时间的信息位于预定义的数组Time[]中。参数: 符号 - 仪器的符号名称。NULL表示当前符号。 Timeframe - 周期。可以是图表中的一个时期。0表示当前图表的周期。 shift - 时间框架值的索引(相对于当前条形图按指定的周期数向后移动)。
---------------------------------------------------------------------------------------------------------------------
根据我的理解,你应该首先设置,比如说。
static int prevtimeEURUSD = 0;
然后将其插入所需的对的代码中
...
根据我的理解,首先要做的是设置,比如说。
static int prevtimeEURUSD = 0;
然后将其插入我们需要的一对代码中
是的,请看在ProtoType(Rosh)中是如何做的。试图插入一个链接,有些东西没有通过(通过在CodeBase中搜索找到它)。isNewBar()函数有一个二维数组用于此目的--秩序是伟大的力量!
我想做一个多货币指标,比如说两个货币对。首先,应将这些货币对的报价带入一种形式(例如,将其转换为百分比变化,即(Close[i]-Close[i+1])/100%--对吗?),然后,如果我想看到它们之间的差异动态,将其输入指标。如何做到这一点?
如果你想知道差异的动态,你不需要把它转换成百分比,你可以这样做。
Xeon!如果你不硬,从开始的顶部放下你需要的东西...因为我还是个傻子!!。
事实上,这是在几分钟内写成的测试脚本(用来测试代码块)。
不得不为你勾勒一个指标 :-)
我希望你能想出办法
p.s. 请记住,这个指标只能在线工作,在历史上你需要创建一个循环。
Xeon!如果你不硬,从开始的顶部放下你需要的东西...因为我还是个傻子!!。
事实上,这是在几分钟内写成的测试脚本(用来测试代码块)。
不得不为你勾勒一个指标 :-)
我希望你能想出办法
p.s. 请记住,这个指标只能在线工作,在历史上你需要创建一个循环。