![]() |
在這個頁面顯示本主題全部的 7 個文章 |
奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 分批買進,一次賣出 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=22546)
分批買進,一次賣出
我想要寫以下條件的交易系統,但實在是程式技能低下,故請版主予以指點
//買進條件
//第一次是以存股的方式買, 例如以 20170601 開始回測,那就是 20170601
//第二次買(即加碼),以中期回檔的型態買進。大盤一年高點回跌超過 10%,一年回跌率超過 25% 且 一個月回跌率超過 10%
//第三次買(再加碼),是第一次及第二次買進的平均成本九折以下的價格
//不論在第一次買進後,或第二次,第三次買進後,一旦觸及賣出條件即一次全賣出,並重新由第一次開始買進
//賣出條件
//中期反彈,
//1.獲利超過 25%
//2.大盤一年低點反彈超過 15%
//3.一年漲升率超過 35% 且 一個月漲升率超過 11%
第一次買進訊號:=IF (
DATE+19000000=第一次買進日期
OR
BARPOS=0,
1,
0);
第二次買進訊號:=IF (
//大盤一年高點回跌超過 10%
//(("TW100$CLOSE"-HHV("TW100$CLOSE",240))/HHV("TW100$CLOSE",240)*100< -10)
//AND
// 一年回跌率超過 25% 且 一個月回跌率超過 10%
((C - HHV(C,240))/HHV(C,240)*100 < -15 and (C-LLV(C,240))/LLV(C,240)*100 < 25)
AND
((C - HHV(C,20))/HHV(C,20)*100 < -10)
AND
(C = LLV(C,20))
AND
((c - ref(c,1))/ref(c,1) < -0.02)
AND
DATE+19000000>第一次買進日期
OR
BARPOS=0,
1,
0);
//第二次買進價格:=REF(C,BARSlast(第二次買進訊號=1));
//第二次買進日期:=REF(DATE,BARSlast(第二次買進訊號=1));
第三次買進訊號:=1;
DA:=date;
CL:=close;
for i:=1 to datacount do begin
if 第一次買進訊號[i]=1 then begin
第一次買進價格:=CL[i];
持有成本:=第一次買進價格;
END;
ELSE BEGIN
//if 第二次買進訊號[i]<>0 then begin
if 第二次買進訊號[i]=1 then begin
第二次買進日期:=DA[i];
第二次買進價格:=CL[i];
持有成本:=(第一次買進價格+第二次買進價格)/2;
第二次買進訊號:=2;
end;
else begin
if CL[i]<(第一次買進價格+第二次買進價格)*0.45 and DA[i]>第二次買進日期 AND 第三次買進訊號=1 then begin
第三次買進日期:=DA[i];
第三次買進價格:=CL[i];
持有成本:=(第一次買進價格+第二次買進價格+第三次買進價格)/3;
第三次買進訊號:=2;
end;
end;
//end;
end;
end;
//大盤一年低點反彈超過 15%
//一年漲升率超過 35% 且 一個月漲升率超過 11%
//目標獲利
賣出訊號:=IF (
C>持有成本*(1+GPR/100),
1,
0);
ENTERLONG:
DATE+19000000=第一次買進日期
OR
DATE+19000000=第二次買進日期
OR
DATE+19000000=第三次買進日期
;
EXITLONG:
賣出訊號=1
回覆: 分批買進,一次賣出
引用:
最初由 seychen 發表
我想要寫以下條件的交易系統,但實在是程式技能低下,故請版主予以指點
//買進條件
//第一次是以存股的方式買, 例如以 20170601 開始回測,那就是 20170601
//第二次買(即加碼),以中期回檔的型態買進。大盤一年高點回跌超過 10%,一年回跌率超過 25% 且 一個月回跌率超過 10%
//第三次買(再加碼),是第一次及第二次買進的平均成本九折以下的價格
//不論在第一次買進後,或第二次,第三次買進後,一旦觸及賣出條件即一次全賣出,並重新由第一次開始買進
//賣出條件
//中期反彈,
//1.獲利超過 25%
//2.大盤一年低點反彈超過 15%
//3.一年漲升率超過 35% 且 一個月漲升率超過 11%
.........略..........
回覆: 回覆: 分批買進,一次賣出
引用:
最初由 cgjj 發表
粗略的看這樣的組合條件是無法回測的!
1. 存股股價 vs 大盤股價 沒有直接的關連性
2. 條件定義不明確,難以計算!
回覆: 回覆: 回覆: 分批買進,一次賣出
引用:
最初由 seychen 發表
條件絕對明確。因為我已在實戰,我是金錢獵人,這是我的 blog, http://twmoneyhunter.blogspot.com/
附上我現在在使用的 .ALG
但我的問題是,我現在只能做一買一賣的交易系統,但無法做到分批買進,一次賣出。 碰到的實際程式問題是,我不會將符合前幾批的進場點儲存,並拿到後面的進場點或出場點應用。
回覆: 回覆: 回覆: 回覆: 分批買進,一次賣出
引用:
最初由 cgjj 發表
您附上的畫面,訊號看起來是有連續同向訊號,並非是您說的一買一賣。
基本上您前面描述的邏輯,我難以明確理解細節,恕無法協助!
回覆: 回覆: 回覆: 回覆: 回覆: 分批買進,一次賣出
引用:
最初由 seychen 發表
了解您的難處。但是否可提供分批買進(或加碼),一次賣出的 sample code for ref.
Thanks,
回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 分批買進,一次賣出
引用:
最初由 cgjj 發表
這部分常常是 Case by Case,沒有通例!
因為進出和盈虧控制的方式不盡相同。
一般來說,這種必須要寫成技術指標,自己去算盈虧和績效,無法使用內建的交易系統評測!
您可以把它想成是倉位控制
分批買進,買進時就是倉位+1
一次賣出,就是倉位歸零
這邊有個有一點類似的程式範例
可提供給您當寫作參考。
http://www.chiefox.com.tw/bbs/showt...80049#post80049
注意,此例無法直接套用!!! 前面已說通常都是 Case by Case
全部時間均為台灣時間, 現在時間為01:31 | 在這個頁面顯示本主題全部的 7 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.