Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Numeric LOTS(1);
Vars
Series<Numeric> MACDValue;
series<Numeric> AvgMACD;
series<Numeric> MACDdiff;
Events
onBar(ArrayRef<Integer> indexs)
//计算MACD
{
MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength );
AvgMACD = XAverage(MACDValue,MACDLength);
MACDDiff = MACDValue - AvgMACD;
PlotNumeric(\"MACD\",MACDValue);
PlotNumeric(\"MACDAvg\",AvgMACD);
If (MACDDiff >= 0)
PlotAuto(\"MACD\",MACDDiff,0,Red);
Else
PlotAuto(\"MACD\",MACDDiff,0,Green);
PlotNumeric(\"零线\",0);
}
//判断是否做多
If(MarketPosition <>1 && MacdDiff[1] > 0)
{
Buy(Lots.Open);
}
//判断是否做空
If (MarketPosition <> 1 And MacdDiff[1] < 0)
{
SelShort(Lots,Open);
}
问题是什么?
代码里都是基础性问题,我假设你是1个macd的改了下
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Numeric LOTS(1);
Vars
Series<Numeric> MACDValue;
series<Numeric> AvgMACD;
series<Numeric> MACDdiff;
Events
onBar(ArrayRef<Integer> indexs)
//计算MAC
{
MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength );
AvgMACD = XAverage(MACDValue,MACDLength);
MACDDiff = MACDValue - AvgMACD;
// PlotNumeric(\"MACD\",MACDValue);
//PlotNumeric(\"MACDAvg\",AvgMACD);
If (MACDDiff >= 0){
//PlotAuto(\"MACD\",MACDDiff,0,Red);
}
Else
{
//PlotAuto(\"MACD\",MACDDiff,0,Green);
//PlotNumeric(\"零线\",0);
}
//判断是否做多
If(MarketPosition <>1 && MacdDiff[1] > 0)
{
Buy(Lots,Open);
}
//判断是否做空
If (MarketPosition <> -1 And MacdDiff[1] < 0)
{
SellShort(Lots,Open);
}
}
谢谢
这里是逗号,不是句号