Quán nhỏ của Ranluc: Relative Strength và nhiều hơn thế

Discussion in 'Real Time & Real Trading--NO TEARS' started by chim_non, Mar 30, 2018.

  1. ToLearnToShare

    ToLearnToShare Well-Known Member

    Joined:
    Apr 1, 2014
    Messages:
    449
    Likes Received:
    1,105
    Trophy Points:
    93
    Thầy @ranluc dạo này đi đâu k thấy vậy? Có code nào hay hay chia sẻ k thầy?
     
  2. ranluc

    ranluc Well-Known Member

    Joined:
    Mar 27, 2018
    Messages:
    112
    Likes Received:
    485
    Trophy Points:
    63
    Mình chơi ps nhiều hơn. Rút ra 2 chiến lược ps hiệu quả là break MA swing và break Donchian channels , mình nghĩ 2 chiến lược này có thể có điểm chung bổ sung cho nhau thành 1 chiến lược duy nhất là thời gian trong kênh phải đủ lâu để break, biên hẹp tăng thêm hiệu quả nhưng không nhất thiết... Các indi như MACD, ADX, RSI, OBV là vô dụng.
     
    hipp, civil, becro and 6 others like this.
  3. ToLearnToShare

    ToLearnToShare Well-Known Member

    Joined:
    Apr 1, 2014
    Messages:
    449
    Likes Received:
    1,105
    Trophy Points:
    93
    break MA swing em chưa hiểu là đường MA thoát khỏi vùng dao động trước đó (có thể xây dựng theo Donchian chanels) hay giao cắt giữa đường ngắn và dài bác?
     
  4. ranluc

    ranluc Well-Known Member

    Joined:
    Mar 27, 2018
    Messages:
    112
    Likes Received:
    485
    Trophy Points:
    63
    Dùng 1 đường MA để xác định swing, giá vượt đỉnh nhịp trước đó thì Long, không cần dùng indi kiểu ADX. Cách này giúp tránh sideway tốt hơn cách khi giá vượt MA hay 2 MA cắt nhau. Kết hợp yếu tố thời gian của Donchian thì các đỉnh quá gần trước đó không tính, đỉnh phải dủ xa.
    MABreak.png
    Ví dụ minh họa, giá tại vị trí 3 vượt đỉnh 2 chưa phải là điểm vào tốt vì đỉnh 2 quá gần, cần xét đỉnh xa hơn là đỉnh 1. Tại vị trí 4 vào tốt hơn vì vượt đỉnh 3 và xa hơn (đủ xa) không còn đỉnh nào. Vị trí 4 là đủ xa rồi không cần đợi tới vị trí 5 vượt đỉnh 1.
     
    Last edited: Aug 5, 2020
    tmtm, bill bro, becro and 4 others like this.
  5. ToLearnToShare

    ToLearnToShare Well-Known Member

    Joined:
    Apr 1, 2014
    Messages:
    449
    Likes Received:
    1,105
    Trophy Points:
    93
    Cảm ơn bác @ranluc nhiều!
     
  6. TuanMinh

    TuanMinh Well-Known Member

    Joined:
    Mar 11, 2014
    Messages:
    5,435
    Likes Received:
    19,443
    Trophy Points:
    113
    Em cũng dùng món này mấy năm nay, ổn áp phết.
     
    bill bro and ranluc like this.
  7. bill bro

    bill bro Well-Known Member

    Joined:
    Feb 24, 2017
    Messages:
    1,902
    Likes Received:
    4,584
    Trophy Points:
    113
    cái donchian chanels mịnh có thể setup đc trong hệ thống ko BÁc
     
    ranluc likes this.
  8. ranluc

    ranluc Well-Known Member

    Joined:
    Mar 27, 2018
    Messages:
    112
    Likes Received:
    485
    Trophy Points:
    63
    setup là sao bác?
    Donchian Channel có sẵn ở TradingView, các chart online của các ctck
    Trong Ami dùng 2 dòng lệnh đơn giản:
    bandTop = HHV( H, period );
    bandBottom = LLV( L, period );
     
    bill bro, tmtm and chim_non like this.
  9. mtp

    mtp Well-Known Member

    Joined:
    Nov 1, 2011
    Messages:
    748
    Likes Received:
    1,446
    Trophy Points:
    93
    Chào bác @ranluc !
    Mình mới cài lại ami mà cái chart Ichi trong đó dùng parameters không chuẩn.
    Mình có "xoay sở" lấy code cũ để tạo custom nhưng nó báo bị lỗi không ra được chart. Lỗi [​IMG]
    Với cái code mình đã dán trong ami như dưới đây. Nhờ bác xem và chỉnh giúp hoặc nếu bác có code để tạo chart Ichi với các tham số chuẩn (9. 26, 26, 26, 52) nhờ bác cho mình với.
    _SECTION_BEGIN("Main Parameters");
    p1 = Param("Turning Line",9,5,26,1);//also known as Tenkan Sen
    p2 = Param("Standard Line",26,5,52,1);//also known as Kijun Sen
    p3 = Param("Delayed Line",26,0,52,1);//also known as Chikou Span
    p4 = Param("Cloud F-Bars",26,0,52,1);//also known as Chikou Span
    _SECTION_END();
    /*******************************************************************************************/
    _SECTION_BEGIN("Buy and Sell Signals");
    Strategy = ParamList("Strategy", List1 = "1: Tenkan Sen/Kijun Sen Cross");//,2: ,3: ,4: ,5: ",0);
    MinStrength = ParamList("Min Signal Strength", List2 = "1 - Weak,2 - Mid,3 - Strong,4 - Only best",2);
    for( i=0; i<10; i++) {if( StrExtract(List1, i) == Strategy ) SelectedStrategy = i+1; }
    for( i=0; i<10; i++) {if( StrExtract(List2, i) == MinStrength ) SelectedMinStrength = i+1; }
    BuyShape = Param("Buy Shape Typ",def_BuyShape,0,50,1);
    SellShape = Param("Sell Shape Typ",def_SellShape,0,50,2);
    Buyshapecolor = ParamColor("Buy Shape Color",def_BuyShapeColor);
    Sellshapecolor = ParamColor("Sell Shape Color",def_SellShapeColor);
    _SECTION_END();
    /*******************************************************************************************/
    _SECTION_BEGIN("Styles");
    TLstyle = ParamStyle("Turning Line",styleThick);
    SLstyle = ParamStyle("Standard Line",styleThick);
    DLstyle = ParamStyle("Delayed Line",styleThick|styleNoTitle);
    _SECTION_END();
    /*******************************************************************************************/
    GraphZOrder = 0;
    AddICHIMOKU2(p1,p2,p3,p4);
    HSB = 0;
    /*******************************************************************************************/
    if(HSB)
    {
    _SECTION_BEGIN("Cloud 1");
    Hue = Param("Hue",90,0,255,1);
    Saturation = Param("Saturation",255,0,255,1);
    Brightness = Param("Brightness",60,0,255,1);
    Cloud1color = ColorHSB(Hue,Saturation,Brightness);
    _SECTION_END();

    _SECTION_BEGIN("Cloud 2");
    Hue = Param("Hue",0,0,255,1);
    Saturation = Param("Saturation",180,0,255,1);
    Brightness = Param("Brightness",125,0,255,1);
    Cloud2color = ColorHSB(Hue,Saturation,Brightness);
    _SECTION_END();
    }
    else
    {
    _SECTION_BEGIN("Colors");
    TLcolor = ParamColor("Turning Line",def_Color3);
    SLcolor = ParamColor("Standard Line",def_StandardLine);
    DLcolor = ParamColor("Delayed Line",colorGrey50);
    Cloud1color = ParamColor("Cloud 1",def_Cloud1color);
    Cloud2color = ParamColor("Cloud 2",def_Cloud2color);
    _SECTION_END();
    }
    /*******************************************************************************************/
    //Strategy 1: Tenkan Sen/Kijun Sen Cross
    MinTLSL = Min(TL,SL); MaxTLSL = Max(TL,SL);
    BuyPositionTLSL_1 = IIf(MinTLSL > CloudHigh,3, IIf(MinTLSL > CloudLow AND MaxTLSL < CloudHigh,2,1));
    SellPositionTLSL_1 = IIf(MaxTLSL < CloudLow,3, IIf(MinTLSL > CloudLow AND MaxTLSL < CloudHigh,2,1));
    BuyStrength_1 = BuyPositionTLSL_1+IIf(RDL,1,-1);
    SellStrength_1 = SellPositionTLSL_1+IIf(FDL,1,-1);
    Buy_1 = Cross(TL,SL) AND BuyStrength_1 >= SelectedMinStrength;
    Sell_1 = Cross(SL,TL) AND SellStrength_1 >= SelectedMinStrength;
    Strength_1 = IIf(Buy_1,BuyStrength_1,IIf(Sell_1,SellStrength_1,0));
    Interpretation = "\n"+"Strategy = " + "\n"+Strategy + "\n\n";
    BuyInterpretation1 =
    WriteIf(BuyPositionTLSL_1 == 3,"The cross happend above the cloud, this is a strong signal and gives 3 ranking points.",
    WriteIf(BuyPositionTLSL_1 == 2,"The cross happend inside the cloud, this is a mid signal and gives 2 ranking points.",
    WriteIf(BuyPositionTLSL_1 == 1,"The cross happend below the cloud, this is a weak signal and gives 1 ranking point.","")));
    BuyInterpretation1 = BuyInterpretation1 +
    WriteIf(BuyStrength_1 == BuyPositionTLSL_1+1,"\n\nDelayed line is above past close. This shows rising prices and gives 1 ranking point.",
    WriteIf(BuyStrength_1 == BuyPositionTLSL_1-1,"\n\nDelayed line is below past close. This shows falling prices and gives -1 ranking point.",""));

    SellInterpretation1 =
    WriteIf(SellPositionTLSL_1 == 3,"The cross happend below the cloud, this is a strong signal and gives 3 ranking points.",
    WriteIf(SellPositionTLSL_1 == 2,"The cross happend inside the cloud, this is a mid signal and gives 2 ranking points.",
    WriteIf(SellPositionTLSL_1 == 1,"The cross happend above the cloud, this is a weak signal and gives 1 ranking point.","")));
    SellInterpretation1 = SellInterpretation1 +
    WriteIf(SellStrength_1 == SellPositionTLSL_1+1,"\n\nDelayed line is below past close. This shows falling prices and gives 1 ranking point.",
    WriteIf(SellStrength_1 == SellPositionTLSL_1-1,"\n\nDelayed line is above past close. This shows rising prices and gives -1 ranking point.",""));

    Interpretation = Interpretation +
    WriteIf(Buy_1,Buyinterpretation1,WriteIf(Sell_1,Sellinterpretation1,""));
    /*******************************************************************************************/
    Buy = def_Buy AND Buy_1;
    Sell = def_Sell AND Sell_1;
    /*******************************************************************************************/
    AddAlert(Buy,Audio,Email,"Standard line crossed Turning line",1,BarComplete,def_BuySound1);
    AddAlert(Sell,Audio,Email,"Turning line crossed Standard line",2,BarComplete,def_SellSound1);
    /*******************************************************************************************/
    _SECTION_BEGIN("Lines");
    Plot(TL, "TL", TLcolor,TLstyle);
    Plot(SL, "SL", SLcolor,SLstyle);
    Plot(DL, "DL", DLcolor,DLstyle);
    PlotOHLC( 0, SpanA_ahead, SpanB_ahead, SpanB_ahead, "Cloud", IIf(SpanA_ahead>SpanB_ahead,Cloud1color,Cloud2color), styleCloud+styleNoTitle+styleNoLabel,Null,Null,p4 );
    PlotShapes(BuyShape*Buy,BuyShapecolor,0,L,-def_BuyShapeOffset);
    PlotShapes(SellShape*Sell,SellShapecolor,0,H,-def_SellShapeOffset);
    _SECTION_END();
    Cám ơn bác nhiều nhiều. Nice w/end to you!
     
  10. ranluc

    ranluc Well-Known Member

    Joined:
    Mar 27, 2018
    Messages:
    112
    Likes Received:
    485
    Trophy Points:
    63
    @mtp
    Mình chưa dùng Ichi nên không thể xem được.
    Có thể bạn đã cài lại Ami nhưng chưa cài PatternExplorer hay plugin nào đó nên code chưa chạy. Ngoài ra code này cũng còn thiếu nhiều phần khác.
     
    mtp likes this.
  11. mtp

    mtp Well-Known Member

    Joined:
    Nov 1, 2011
    Messages:
    748
    Likes Received:
    1,446
    Trophy Points:
    93
    Vậy hả bác.
    Thế để mình hỏi lại mn trong 4r vậy. Cám ơn bác nhé!
     
  12. Côi

    Côi New Member

    Joined:
    Aug 8, 2018
    Messages:
    12
    Likes Received:
    4
    Trophy Points:
    3
    Chào Bạn ranluc;
    Mình đang dùng Code RS của bạn.Mình rất thích chỉ báo này. Nhưng có điều mình không hiểu chổ cấu hình "nth" khi điều chỉnh từ 1-5 thì giá trị RS khác nhau và khu kéo thanh RS thì nó thay đổi liên tục. Mình thấy các chỉ báo khác không như vậy.
    Bạn giải thích giúp mình với.
    Cám ơn bạn nhiều.
     

    Attached Files:

    • RS.png
      RS.png
      File size:
      173.7 KB
      Views:
      21
  13. Côi

    Côi New Member

    Joined:
    Aug 8, 2018
    Messages:
    12
    Likes Received:
    4
    Trophy Points:
    3
    Mình up hình cấu hình 1 và 5
     

    Attached Files:

  14. Sutj

    Sutj Well-Known Member

    Joined:
    Dec 31, 2020
    Messages:
    3,374
    Likes Received:
    8,240
    Trophy Points:
    113
    Bác cho mình xin code được không. Mình up code bị lỗi
     
  15. Côi

    Côi New Member

    Joined:
    Aug 8, 2018
    Messages:
    12
    Likes Received:
    4
    Trophy Points:
    3
    codes này của bạn Ranluc đây bạn
    _SECTION_BEGIN("RS");
    base = ParamStr("base", "VNINDEX"); //GetBaseIndex() );
    Nth = Param("Nth", 1,1,5);
    change = 2 ;
    baseC = Foreign( base, "C" );
    refBar = PeakBars(baseC, change, Nth);
    relStr = RelStrength(base) *LastVisibleValue(Ref(baseC/C,-refBar))/10 - 100;
    Plot( relStr, "RS("+base+")", colorOrange, styleLine|styleThick);
    Plot( EMA(relStr, 50), "", colorBlue, styleLine );
    PlotGrid(0, colorRed);
    Plot( relStr, "RS_5("+base+")", colorGreen, styleLine|styleThick|styleBarNoTicks|styleNoLabel|stylehidden);
    _SECTION_END();
     
  16. Sutj

    Sutj Well-Known Member

    Joined:
    Dec 31, 2020
    Messages:
    3,374
    Likes Received:
    8,240
    Trophy Points:
    113
    cảm ơn bác
     

Share This Page

XenForo Add-ons by Brivium ™ © 2012-2013 Brivium LLC.