学EA编程遇个问题求编程高手帮忙,先
我学习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
发表于: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时 继续运行下边的程序
3楼
原帖由 sewen 于 2010-8-29 19:08 发表 第一个问题 计算的是 High[0] 正在跳动的K线 第二个问题 我不明白你说的例子值 是什么意思 int counted_bars=IndicatorCounted(); 整个图表的K线个数 //---- check for possible errors if (coun ...
韬客社区www.talkfx.co