COCO研究院

 找回密碼
 註冊
搜索
查看: 18015|回復: 5

我這Tradestation語法哪裡錯了?

[複製鏈接]
發表於 12-11-18 17:14 | 顯示全部樓層 |閱讀模式
各位好,

我是Tradestation的新手,最近開始學寫easylanguage語法,目前寫了一個很簡單的逆勢單邏輯來回測,但跑出來的回測怪怪的

邏輯如下:

進場:
如果k線連續為兩天為實體黑k(實體佔50%以上),今天若開盤比昨天收盤高,則以市價買進;
如果k線連續為兩天為實體紅k(實體佔50%以上),今天若開盤比昨天收盤低,則以市價賣出;
IF H[1]<>L[1] and H[2]<>L[2] and (C[1]-O[1])/(H[1]-L[1])<-0.5 and (C[2]-O[2])/(H[2]-L[2])<-0.5 and O>C[1] then buy at O;
IF H[1]<>L[1] and H[2]<>L[2] and (C[1]-O[1])/(H[1]-L[1])>0.5 and (C[2]-O[2])/(H[2]-L[2])>0.5 and O<C[1] then sell at O;


出場:
若當日低點低於前日低點, 則買單以收盤價出場
若當日高點高於前日高點, 則賣單以收盤價出場
if marketposition <> 0 then begin
If L<L[1] then exitlong at C;
If H>H[1] then exitshort at C;
end;



發表於 12-11-18 18:23 | 顯示全部樓層
積效因人而異,你要指出哪裡"怪"才知道問題所在

還有,你中文描述和英文寫的不一樣
 樓主| 發表於 12-11-18 19:52 | 顯示全部樓層
我可能知道問題在哪了,似乎是只要buy at open or sell at open,就是作在next bar,也就是buy this bar at open是不可行的
發表於 12-11-18 19:53 | 顯示全部樓層
本帖最後由 曾永政 於 12-11-18 20:00 編輯

如果你需要用當天的開盤價決定是否進場,除了以 IOG 模式去寫之外,大概就得用 Open tomorrow 去做了,聽說 TradeStation 也有支援 open tomorrow。


我用 MultiCharts 直接以你的中文描述寫的:

var:DayRed(false),DayBlack(false);

DayRed= C>O and absvalue(C-O)>(H-L)*0.5;
DayBlack= C<O and absvalue(C-O)>(H-L)*0.5;


//Entry
if DayRed and DayRed[1] and Open tomorrow>Close then
  buy next bar market;

if DayBlack and DayBlack[1] and Open tomorrow<Close then
  sellshort next bar market;
  
//Exit
if marketposition>0 and Low<Low[1] then
  sell ("XL") next bar market;
if marketposition<0 and High>High[1] then
  buytocover ("XS") next bar market;



訊號圖如下:

回測 2001~today:

發表於 12-11-19 00:30 | 顯示全部樓層
疑~ 賠的還蠻少的耶~
發表於 12-11-19 09:07 | 顯示全部樓層
請問open tomorrow是?
謝謝
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-4-19 19:50

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 | AI繪圖AI超擬真美女AI beauty AI Stable DiffusionAI正妹AI Lookbook