fbpx

รบกวนผู้มีประสบการณ์ช่วยแก้ปัญหาเส้นผมบังภูเขา นี้ทีครับ

SiamQuant Minimal Home – White Webboard ห้องทั่วไป : พูดคุยเรื่องเกี่ยวกับการลงทุนอย่างเป็นระบบ รบกวนผู้มีประสบการณ์ช่วยแก้ปัญหาเส้นผมบังภูเขา นี้ทีครับ

  • ผู้สร้าง
    กระทู้
  • #17070
    Patchawat
    Participant

     

    สวัสดีครับ

    รบกวนผู้มีประสบการณ์ช่วยแก้ปัญหาเส้นผมบังภูเขา นี้ให้ผมทีครับ
    จุดประสงค์หลักของผมคือต้องการดู backtest stat ของการเทรด 2 ระบบพร้อมกันครับ
    ตามguideline จากบทความนี้ครับ

    http://jbmarwood.com/combine-equity-curves-in-amibroker/

    ผมเริ่มโดยการใช้ addtocomposite สร้าง symbol ของ equity curve ทั้ง 2 ระบบ
    จากนั้นสร้าง watchlist ที่ประกอบด้วยแค่ symbol ของ equity curve ของแค่ 2 ระบบนี้

    ปัญหาของผมที่ทำไม่ได้ตามบทความคือ การ backtest ด้วยการ buy & hold ด้วยสูตรง่ายๆคือ
    ——————–
    SetOption( “Initialequity”, 2000000 );
    SetOption( “Maxopenpositions”, 2 );

    Buy = 1;
    Sell = 0;

    BuyPrice = C;
    SellPrice = C;

    PctSize = 50;
    SetPositionSize(PctSize, spsPercentOfEquity);
    ——————–

    แล้วผลลัพธ์มัน no result ครับ

    ครั้นมาลอง backtest ด้วยการ buy & hold แค่ 1 ระบบ
    (สร้าง watchlist ที่ประกอบด้วยแค่ symbol ของ equity curve ของ1 ระบบนี้)
    ——————–
    SetOption( “Initialequity”, 1000000 );
    SetOption( “Maxopenpositions”, 1 );

    Buy = 1;
    Sell = 0;

    BuyPrice = C;
    SellPrice = C;

    PctSize = 100;
    SetPositionSize(PctSize, spsPercentOfEquity);
    ——————–
    ผลลัพธ์ก็ no result อีกเช่นกันครับ

    FYI :
    1. ผมไม่ลืม tick ที่ช่อง disables trade size when there is no volume นะครับ
    2. ผมไม่ลืม filter โดยเลือก watchlist ที่ประกอบไปด้วยแค่ symbol ของ equity curve ของแค่ 2 ระบบนี้

    ผู้รู้ท่านใด ช่วยแนะนำทีครับ ว่ามีไรขาดตกบกพร่องไป ที่ทำให้ไม่เกิด backtest result จากการ buy&hold บน symbol ของ equity curve

    ขอบคุณครับ

กำลังดู 7 ข้อความตอบกลับ - 1 ผ่านทาง 7 (ของทั้งหมด 7)
  • ผู้เขียน
    ข้อความตอบกลับ
  • #17081
    satapornk
    Participant

    คุณ Patchawat ลองใส่ SetOption( “CommissionAmount”, 0);

    ไว้ด้านบนครับ แล้วลอง Backtest ดูครับ ว่ามี Result ออกไหมครับ

    #17087
    Patchawat
    Participant

    ลองแล้วครับ ไม่ช่วยอะไรครับ

    #17107
    Syberia
    Participant

    สอบถามเพิ่มเติมนะครับ

    1. AddToComposite ที่เขียนไว้ ทำในส่วน custom backtest รึป่าวครับ
    2. AddToComposite ที่เขียน ให้เก็บเฉพาะ “Close” อย่างเดียว หรือว่ามีข้อมูลอื่นเพิ่มอยู่ด้วย เช่น Open , High , Low , Volume

    ผมทดสอบ AddToComposite โดยทำใน custom backtest และเพิ่มให้เก็บข้อมูล OHLC+V จากนั้นลองทำการ backtest ข้อมูล Equity ก็ได้ผลลัพธ์อยู่นะครับ

    AddToComposite( bo.EquityArray , “__EQ_SYS001” , “O” , atcFlagDeleteValues | atcFlagEnableInPortfolio | atcFlagEnableInIndicator );
    AddToComposite( bo.EquityArray , “__EQ_SYS001” , “H” , atcFlagDeleteValues | atcFlagEnableInPortfolio | atcFlagEnableInIndicator );
    AddToComposite( bo.EquityArray , “__EQ_SYS001” , “L” , atcFlagDeleteValues | atcFlagEnableInPortfolio | atcFlagEnableInIndicator );
    AddToComposite( bo.EquityArray , “__EQ_SYS001” , “C” , atcFlagDeleteValues | atcFlagEnableInPortfolio | atcFlagEnableInIndicator );
    AddToComposite( 1000 , “__EQ_SYS001” , “V” , atcFlagDeleteValues | atcFlagEnableInPortfolio | atcFlagEnableInIndicator );

    #17111
    Patchawat
    Participant

    ผมใช้ code นี้เลยครับ (เหมือนในหน้านี้ http://jbmarwood.com/combine-equity-curves-in-amibroker/

    และหน้านี้   http://www.amibroker.com/kb/2006/03/11/how-to-create-copy-of-portfolio-equity/)
    ฝังไปในส่วนท้ายๆของ แต่ละโมเดล เพื่อสร้าง symbol ของ equity curve ของโมเดลนั้นๆ

    ——————————————–

    SetCustomBacktestProc(“”);
    if( Status(“action”) == actionPortfolio )
    {
    bo = GetBacktesterObject();
    bo.Backtest();
    AddToComposite(bo.EquityArray, “~~~StockOnTheMove”, “X”, atcFlagDeleteValues | atcFlagEnableInPortfolio );
    }

    ———————————————-

     

     

    #17113
    Syberia
    Participant

    แสดงว่า OHLC น่าจะครบ อาจจะขาด Volume นะครับ ลองเช็คใน Detailed Log ดูครับ ว่ามี  Error อะไรเกิดขึ้นบ้าง

    อีกวิธีคือลองกำหนด Limit trade size as % of entry bar volume ให้เป็น 0 และ เอา Disable trade size limit when bar volume is zero ออกดูครับ

    #17133
    Patchawat
    Participant

    ลองแล้วครับ ยัง no result เช่นเดิมเลยครับ

     

    #17141
    Patchawat
    Participant

    แก้ปัญหาได้แล้วครับ

    ต้องปรับค่า RoundLotSize เป็น 0 ครับ (จากเดิมที่ตั้งไว้ 100 เพื่อเทรดหุ้นไทย)

    ขอบคุณทุกท่านครับ ที่มาร่วมออกความเห็น

กำลังดู 7 ข้อความตอบกลับ - 1 ผ่านทาง 7 (ของทั้งหมด 7)
  • คุณต้องเข้าสู่ระบบเพื่อตอบกลับกระทู้นี้

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • เปิดใช้งานตลอด

บันทึกการตั้งค่า