1. Welcome to the international stock forum - forex forum ! Chào mừng đến với diễn đàn quốc tế chứng khoán - forex ! www.Traders.vn
    Dismiss Notice

Price Chart STO

Thảo luận trong 'Amibroker' bắt đầu bởi traders, 6/8/17.

  1. traders

    traders Administrator Thành viên BQT

    Tham gia ngày:
    29/4/17
    Bài viết:
    110
    Đã được thích:
    1
    Điểm thành tích:
    18
    Một code khá hay mình sưu tầm được
    Price Chart STO

    code----------------------------------------------------below: Price Chart STO.png


    _SECTION_BEGIN("Auto Tread V.1");
    // Parameter Setting //
    StoLength = Param("STOLength",14,1,20,1);
    SmoothK = Param("SmoothK",3,1,7,1);
    SmoothD = Param("SmoothD",3,1,7,1);
    Overbought = 80 ;
    Oversold =20 ;
    Center = 50 ;
    FastPeriod = Param("FastMA",12,3,20,1);
    SlowPeriod = Param("SlowMA",26,20,40,1);
    PctChange = 0.1;

    // Slow Stochastic
    upper=HHV(High,StoLength);
    lower=LLV(Low,StoLength);
    oscillator=(Close-lower)/(upper-lower)*100;
    K = MA(oscillator,SmoothK);
    D = MA(K,SmoothD);

    //MA
    FastMA = MA(Close,FastPeriod);
    SlowMA = MA(Close,SlowPeriod);



    // Buy Condition //
    PrebuyCon1 = K < 50;
    PrebuyCon2 = Cross(K,D);
    PrebuyCon3 = FastMA < SlowMA ;
    buysignal = PrebuyCon1 AND PrebuyCon2 AND PrebuyCon3 ;

    //BuyPreCond = Trough(C,PctChange,1) > Trough(C,PctChange,2);
    //BuyTrigger = C > Peak(C,PctChange,1);
    //buysignal = BuyPreCond AND BuyTrigger;
    //buysignal = Cross(FastMA,SlowMA);



    // Sell Condition
    //sellsignal = ApplyStop(stopTypeLoss,stopModePercent,4);
    //cutloss = Close < buysignal;
    //sellsignal = IIf(cutloss,Close,Cross(SlowMA,FastMA));
    sellsignal = Cross(SlowMA,FastMA);

    //SellPreCond = Peak(C,PctChange,1) < Peak(C,PctChange,2);
    //SellTrigger = C < Trough(C,PctChange,1);
    //sellsignal = SellPreCond AND SellTrigger;
    //sellsignal = SellPreCond;

    /*
    a = Cross(D,K);
    b = Cross(ma26,ma12);
    SellSignal = IIf( K >Overbought,a,IIf(K < Overbought AND K > OverSold,b,IIf(K < OverSold,a,b)));
    */
    //PreSellCon1 = Cross(ema26,ema12);
    //PreSellCon2 = K < D;
    //SellSignal = PreSellCon1 AND PreSellCon2;
    //SellSignal = Cross(D,K);

    // Buy and Sell
    Buy = ExRem(buysignal,sellsignal);
    Sell = ExRem(sellsignal,buysignal);
    Bullish = BarsSince(Buy) < BarsSince(Sell);
    Bearish = BarsSince(Sell) < BarsSince(Buy);


    // Plots //
    Plot(FastMA,"FastPeriod",colorGreen,styleLine);
    Plot(SlowMA,"SlowPeriod",colorRed,styleLine);
    BarColor = IIf(Bullish,colorGreen,IIf(Bearish,colorRed,colorDefault));
    PlotShapes(Buy*shapeUpArrow,colorGreen,0,Low,-20);
    PlotShapes(Sell*shapeDownArrow,colorRed,0,High,-20);
    Plot(Close,"Price",BarColor,GetPriceStyle());


    ZigZagLine = Zig(C,PctChange);
    Plot(ZigZagLine,"Zig Zag",colorBlack,styleLine);
    //PlotShapes(ExRem(Trough(Low,PctChange,1),buysignal)*shapeHollowUpTriangle,colorBrown,0,Low,-20);
    //PlotShapes(cutloss*shapeUpTriangle,colorBlueGrey,0,Low,-20);



    /*
    Plot(K,"%K",colorBlue,styleLine);
    Plot(D,"%D",colorRed,styleLine);
    Plot(Overbought, "",colorRed,styleDashed) ;
    Plot(Oversold, "",colorGreen,styleDashed) ;
    Plot(Center, "",colorBlueGrey, styleDashed) ;
    */

    // System Test //
    MaxPosition = 50;
    SetPositionSize(100/MaxPosition,spsPercentOfEquity);
    SetOption("MaxOpenPositions",MaxPosition);


    _SECTION_END();
     

Chia sẻ trang này

Đang tải...