cam旋转角度怎么测量:SAR交易系统

来源:百度文库 编辑:偶看新闻 时间:2024/04/26 14:20:31

Params
        Numeric FastLength(12);        // MACD的参数1
        Numeric SlowLength(26);        // MACD的参数2
        Numeric MACDLength(9);                // MACD的参数3
        Numeric AfStep( 0.02);        // SAR的参数1
        Numeric AfLimit( 0.2 ) ;        // SAR的参数2
        Numeric Length(5);                        // KD的参数1       
        Numeric SlowLengthKD(3);        // KD的参数2
        Numeric LengthMTM(14);        // MTM的参数1       
Vars  
        NumericSeries MACDValue;         // MACD的变量1
        Numeric AvgMACD;                        // MACD的变量2
        Numeric MACDDiff;                        // MACD的变量3
        NumericSeries oParCl( 0 );// SAR的变量1
        Numeric oParOp( 0 );                // SAR的变量2
        Numeric oPosition( 0 );        // SAR的变量3       
        Numeric oTransition( 0 );        // SAR的变量4
        Numeric MTMValue(0);                // MTM的变量1
        NumericSeries HighestValue;        // KD的变量1                       
        NumericSeries LowestValue;        // KD的变量2                               
        NumericSeries KValue;                        // KD的变量3
        Bool   isBuying;                        // 开仓条件
        Bool   isSelling;                        // 平仓条件
Begin
        MACDValue = XAverage( Open, FastLength ) - XAverage( Open, SlowLength );       
        AvgMACD = XAverage(MACDValue,MACDLength);
        ParabolicSAR( AfStep, AfLimit, oParCl, oParOp, oPosition, oTransition );
        MTMValue = Open/Open[LengthMTM]*100;
        HighestValue = Highest(High, Length);
        LowestValue = Lowest(Low, Length);
        KValue = SummationFC(Close - LowestValue,SlowLengthKD)/SummationFC(HighestValue-LowestValue,SlowLengthKD)*100;
        isBuying = (MACDValue < AvgMACD) And (oParCl<=Close) and (oParCl[1] > oParCl) And (MTMValue<100) And (KValue<35);
        isSelling = (MACDValue > AvgMACD) And (oParCl>=Close)and (oParCl[1] < oParCl) And (MTMValue>100) And (KValue>60);
        If(isBuying)
        {
                Buy(1,Close);
        }
       
        If(isSelling)
        {
                Sell;
        }
End

买入信号:  
    必要条件1:  SAR现值<=买入价  , 且:  SAR前值>SAR现值,   这句的意思是SAR刚由空翻成多
    必要条件2:  MTM现值<100
    必要条件3: macd.dif < macd.dea       即还没有金叉
    必要条件4: kd.k < 35

卖出信号:工程同时满足以下条件
    条件1:   SAR刚由多翻空
    条件2:   MTM>100
    条件3:  macd尚未死叉
    条件4:  kd.k > 60
另外, 平仓条件还有一个跟踪止损是充分条件.