没有全部读完你的代码。
提几个建议。
double Buy1_1 = iMA(NULL, PERIOD_H1, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double Buy1_2 = iMA(NULL, PERIOD_H1, 13, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double Buy2_1 = iMA(NULL, PERIOD_H1, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double Buy2_2 = iMA(NULL, PERIOD_H1, 62, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double Buy3_1 = iMA(NULL, PERIOD_H1, 13, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double Buy3_2 = iMA(NULL, PERIOD_H1, 62, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double Sell1_1 = iMA(NULL, PERIOD_H1, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double Sell1_2 = iMA(NULL, PERIOD_H1, 13, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double Sell2_1 = iMA(NULL, PERIOD_H1, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double Sell2_2 = iMA(NULL, PERIOD_H1, 62, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double Sell3_1 = iMA(NULL, PERIOD_H1, 13, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double Sell3_2 = iMA(NULL, PERIOD_H1, 62, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double CloseBuy1_1 = iMA(NULL, PERIOD_H1, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double CloseBuy1_2 = iMA(NULL, PERIOD_H1, 13, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double CloseSell1_1 = iMA(NULL, PERIOD_H1, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double CloseSell1_2 = iMA(NULL, PERIOD_H1, 13, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
这里你多定义了四倍的变量。
double Buy1_1 = iMA(NULL, PERIOD_H1, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
和
double Sell1_1 = iMA(NULL, PERIOD_H1, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
根本就是一个量,不需要定义两次。
你这里只需要定义3个变量,就够了。
double MA5 = iMA(NULL, PERIOD_H1, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double MA13 = iMA(NULL, PERIOD_H1, 13, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double MA62 = iMA(NULL, PERIOD_H1, 62, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
MA5=Buy1_1=Buy2_1=Sell1_1=Sell2_1=CloseBuy1_1=CloseSell1_1
MA13=Buy1_2=Buy3_1=Sell1_2=Sell3_1=CloseBuy1_2=CloseSell1_2
MA62=Buy2_2=Buy3_2=Sell2_2=Sell3_2
另外,建议将建仓信号和平仓信号作两个子函数。用return(i)来返回结果。
i=1买,i=-1卖,i=0什么都不做。
平仓信号也可以同样操作。
这样你的代码会方便很多。
[ 本帖最后由 xfxyldj 于 2007-8-21 22:20 编辑 ]