论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
查看:2056回复:2
汇有财
注册时间2010-02-12
学EA编程遇个问题求编程高手帮忙,先
楼主发表于:2010-08-01 09:28只看该作者倒序浏览
1楼 电梯直达
电梯直达
我学习EA编程时间不长,之前没有编程 基础,在网上找了个《MQL4课程》学习 之后对ea编程有了初步的了解,但遇到 一个问题,教程中用来举例而编写了一 个简单的指标,指标的全部代码是: //+------------------------------------------------------------------+ //| 我的第一个指标.mq4 | //| | //| | //+------------------------------------------------------------------+ #property copyright "" #property link "" #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Red //---- buffers double ExtMapBuffer1; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,ExtMapBuffer1); string short_name = "我的第一个指标正在运行!"; IndicatorShortName(short_name); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); //---- check for possible errors if (counted_bars<0) return(-1); //---- last counted bar will be recounted if (counted_bars>0) counted_bars--; int pos=Bars-counted_bars; double dHigh , dLow , dResult; Comment("嗨,在主窗口这儿!"); //---- main calculation loop while(pos>=0) { dHigh = High[pos]; dLow = Low[pos]; dResult = dHigh - dLow; ExtMapBuffer1[pos]= dResult ; pos--; } //---- return(0); } //+------------------------------------------------------------------+ 代码的意思我大体都懂,其中有两句代 码 if (counted_bars>0) counted_bars --;和 int pos=Bars-counted_bars; 举例:比如图表上有20根k线,第20根k 线是正在跳动的k线。 我有两个问题: 第一个问题是按例子中图表上有20根k 线,第20根k线是正在跳动的k线。程序 计算的是High[0]K线还是High[1]K线 第二个问题想恳请高手帮忙把例子中的 值代入上面两句代码中,也就是将下面 代码中的问号换成例子中的值 if (?>0) ?--; int pos=?-?; 恳请EA编程高手帮忙,在此我先多谢了 :handshake
TK29帖子1楼右侧xm竖版广告90-240
个性签名

韬客社区www.talkfx.co

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告
sewen
注册时间2008-03-06
发表于:2010-08-29 11:08只看该作者
2楼
第一个问题 计算的是 High[0] 正在跳动的K线 第二个问题 我不明白你说的例子值 是什么意思 int counted_bars=IndicatorCounted(); 整个图表的K线个数 //---- check for possible errors if (counted_bars<0) return(-1); 当K线个数<0时 不再运行下边的程序 //---- last counted bar will be recounted if (counted_bars>0) counted_bars--; 当K线个数>0时 继续运行下边的程序 其中的这两句 其实没什么用 删掉也不影响程序的运行 if (counted_bars<0) return(-1); 当K线个数<0时 不再运行下边的程序 //---- last counted bar will be recounted if (counted_bars>0) counted_bars--; 当K线个数>0时 继续运行下边的程序
汇有财
注册时间2010-02-12
楼主发表于:2010-08-31 09:01只看该作者
3楼
原帖由 sewen 于 2010-8-29 19:08 发表 http://www.talkforex.com/images/common/back.gif 第一个问题 计算的是 High[0] 正在跳动的K线 第二个问题 我不明白你说的例子值 是什么意思 int counted_bars=IndicatorCounted(); 整个图表的K线个数 //---- check for possible errors if (coun ...
多谢朋友回复,我感觉在讨论区StanleyM朋友的回答应该是正确的,第一个问题答案应该是K[2],第二个问题答案应该是 if (19>0) 19--; int pos=20-18; 第二个问题就是把if (counted_bars>0) counted_bars --;和 int pos=Bars-counted_bars; 这两句代码中的变量换成我举的例子(有20根k线,第20根k线是正在跳动的k线)中的值 如果按你说的第一个问题的答案是 High[0] 那第二个问题的答案就是 if (20>0) 20 --;和 int pos=20-20; 这样pos的值才是0 但这样好像是错的,因为 “counted_bars --”这句在程序中就不起作用了,我也就是在这很困惑,所以StanleyM朋友的回答应该是对的,不知道你怎么看 http://www.talkforex.com/viewthread.php?tid=183864&extra=page%3D3%26amp%3Bfilter%3D0%26amp%3Borderby%3Ddateline%26amp%3Bascdesc%3DDESC&page=1

本站免责声明:

1、本站所有广告及宣传信息均与韬客无关,如需投资请依法自行决定是否投资、斟酌资金安全及交易亏损风险;

2、韬客是独立的、仅为投资者提供交流的平台,网友发布信息不代表韬客的观点与意思表示,所有因网友发布的信息而造成的任何法律后果、风险与责任,均与韬客无关;

3、金融交易存在极高法律风险,未必适合所有投资者,请不要轻信任何高额投资收益的诱导而贸然投资;投资保证金交易导致的损失可能超过您投入的资金和预期。请您考虑自身的投资经验及风险承担能力,进行合法、理性投资;

4、所有投资者的交易帐户应仅限本人使用,不应交由第三方操作,对于任何接受第三方喊单、操盘、理财等操作的投资和交易,由此导致的任何风险、亏损及责任由投资者个人自行承担;

5、韬客不隶属于任何券商平台,亦不受任何第三方控制,韬客不邀约客户投资任何保证金交易,不接触亦不涉及投资者的任何资金及账户信息,不代理任何交易操盘行为,不向客户推荐任何券商平台,亦不存在其他任何推荐行为。投资者应自行选择券商平台,券商平台的任何行为均与韬客无关。投资者注册及使用韬客即表示其接受和认可上述声明,并自行承担法律风险。

版权所有:韬客外汇论坛 www.talkfx.com 联络我们:[email protected]