คือ จะเขียน set50index future backtest คับ ทุกอย่างโอเค แต่มีปัญหาตรงที่ ผมอยากเขียนสูตรให้วางหน้าตักใน 1 สัญญา = 30% ของมูลค่าสัญญา ณ ช่วงเวลานั้นๆ ที่มี Buy sell signal เกิดขึ้น ...เลยใช้การกำหนดค่า IM โดยใช้คำสั่ง MarginDeposit = Margindepositcon ซึ่งเท่ากับ Close x 200 x 30/100 ตามสูตรด้านล่างที่ทำไว้คับ
แต่ปรากฏว่า เวลาทำ backtest ทุกครั้งมันจะใช้ราคาปิดวันสุดท้ายเท่านั้น ทำให้ค่า MarginDeposit = ราคาปิดวันสุดท้าย x 200 x 30% เป็นค่าคงที่ตลอดเวลา ไม่ได้เปลี่ยนไปตาม ณ ช่วงเวลานั้นๆ แบบนี้ผมต้องแก้ไงคับ จนปัญญาจริงๆ ...หรือ ผมกำหนดค่าผิด ควรใส่ค่าให้ Margindeposit ยังไงคับให้มันเปลี่ยนค่าไปตามช่วงเวลาที่เราจะเข้าซื้อ (มี buy sell signal) รบกวนด้วยครับ ....................ขอบคุณครับ ^.^
// General setting
SetOption("InitialEquity", 1000000 );
SetOption("CommissionMode",3);
SetOption("CommissionAmount",85);
SetOption("Futuresmode",True);
SetPositionSize(100,spsPercentOfEquity);
Leveragecon = 0.3; // leverage = 30% of 1 contract value
Multiplier = 200;
OneContractvalue = Close*Multiplier;
Margindepositcon = OneContractvalue*Leveragecon;
TickSize = 0.1;
PointValue = 200; // Multiplier
RoundLotSize = 1;
MarginDeposit = Margindepositcon; // Money deposit for 1 contract = Close price x 200 x30%
***** สอบถามคนเขียนสูตร backtest AMIbroker เก่งๆหน่อยคับ ผมกำหนดค่าผิดตรงไหนคับ ต้องแก้ไงคับ จนปัญญาแล้ว ช่วยทีคับ **
แต่ปรากฏว่า เวลาทำ backtest ทุกครั้งมันจะใช้ราคาปิดวันสุดท้ายเท่านั้น ทำให้ค่า MarginDeposit = ราคาปิดวันสุดท้าย x 200 x 30% เป็นค่าคงที่ตลอดเวลา ไม่ได้เปลี่ยนไปตาม ณ ช่วงเวลานั้นๆ แบบนี้ผมต้องแก้ไงคับ จนปัญญาจริงๆ ...หรือ ผมกำหนดค่าผิด ควรใส่ค่าให้ Margindeposit ยังไงคับให้มันเปลี่ยนค่าไปตามช่วงเวลาที่เราจะเข้าซื้อ (มี buy sell signal) รบกวนด้วยครับ ....................ขอบคุณครับ ^.^
// General setting
SetOption("InitialEquity", 1000000 );
SetOption("CommissionMode",3);
SetOption("CommissionAmount",85);
SetOption("Futuresmode",True);
SetPositionSize(100,spsPercentOfEquity);
Leveragecon = 0.3; // leverage = 30% of 1 contract value
Multiplier = 200;
OneContractvalue = Close*Multiplier;
Margindepositcon = OneContractvalue*Leveragecon;
TickSize = 0.1;
PointValue = 200; // Multiplier
RoundLotSize = 1;
MarginDeposit = Margindepositcon; // Money deposit for 1 contract = Close price x 200 x30%