奇狐社區論壇 總頁數 (5): « 第一頁 ... « 2 3 [4] 5 »
在這個頁面顯示本主題全部的 64 個文章

奇狐社區論壇 (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=23473)


由 a9681054 在 2022-10-31 11:14 發表:

理解錯誤!!!
盈虧[i]:=(CC[i]-進價)*多空;
盈虧是採用當根的收盤價計算唷,也就是 CC[i]

回覆:了解....謝謝

__________________
chiu


由 cgjj 在 2022-10-31 11:19 發表:

引用:
最初由 a9681054 發表
理解錯誤!!!
盈虧[i]:=(CC[i]-進價)*多空;
盈虧是採用當根的收盤價計算唷,也就是 CC[i]

回覆:了解....謝謝



原先配置的
盈虧[i]:=(CC[i]-進價)*多空;

是計算當前這根,尚未做任何單子時的盈虧
是為了判別是否達盈損而計算

若您的用途
是用來看,當根做完所有單子後的盈虧
請將 盈虧[i]:=(CC[i]-進價)*多空; 這行
移到 if 多空<>0 then Do價[i]:=進價; 這行之後

用途不同,配置的位置就會不一樣


由 a9681054 在 2022-10-31 12:29 發表:

原先配置的
盈虧[i]:=(CC[i]-進價)*多空;

是計算當前這根,尚未做任何單子時的盈虧
是為了判別是否達盈損而計算

若您的用途
是用來看,當根做完所有單子後的盈虧
請將 盈虧[i]:=(CC[i]-進價)*多空; 這行
移到 if 多空<>0 then Do價[i]:=進價; 這行之後

用途不同,配置的位置就會不一樣

回覆:
謝謝版主說明,我試一下......

__________________
chiu


由 a9681054 在 2022-10-31 12:51 發表:

原先配置的
盈虧[i]:=(CC[i]-進價)*多空;

是計算當前這根,尚未做任何單子時的盈虧
是為了判別是否達盈損而計算

若您的用途
是用來看,當根做完所有單子後的盈虧
請將 盈虧[i]:=(CC[i]-進價)*多空; 這行
移到 if 多空<>0 then Do價[i]:=進價; 這行之後

用途不同,配置的位置就會不一樣

回覆:
謝謝版主說明,我試一下......

報告版主
1)盈虧計算移位置後已符合用途

2)但出現新問題,日累盈虧變成一直輸出0
DEST:=tradedate<>ref(tradedate,1) or barpos=1;
日累盈虧:sum(盈虧*(ABS(進出)>1 or islastbar),barslast(DEST)+1)coloryellow;

請版主再幫我看一下?....謝謝

__________________
chiu


由 cgjj 在 2022-10-31 13:10 發表:

引用:
最初由 a9681054 發表
原先配置的
盈虧[i]:=(CC[i]-進價)*多空;

是計算當前這根,尚未做任何單子時的盈虧
是為了判別是否達盈損而計算

若您的用途
是用來看,當根做完所有單子後的盈虧
請將 盈虧[i]:=(CC[i]-進價)*多空; 這行
移到 if 多空<>0 then Do價[i]:=進價; 這行之後

用途不同,配置的位置就會不一樣

回覆:
謝謝版主說明,我試一下......

報告版主
1)盈虧計算移位置後已符合用途

2)但出現新問題,日累盈虧變成一直輸出0
DEST:=tradedate<>ref(tradedate,1) or barpos=1;
日累盈虧:sum(盈虧*(ABS(進出)>1 or islastbar),barslast(DEST)+1)coloryellow;

請版主再幫我看一下?....謝謝



那是因為您有反手的狀況
反手的那根重新進場了,盈虧就會重新算
您把目前的程式碼貼出來吧~~
我再幫你看看怎樣改


由 a9681054 在 2022-10-31 13:21 發表:

那是因為您有反手的狀況
反手的那根重新進場了,盈虧就會重新算
您把目前的程式碼貼出來吧~~
我再幫你看看怎樣改

回覆:
//條件
強出:TIME>=133000 COLORGREEN;
多進:REF(SP>1 AND BB,1) or BARPOS=0;
多出:=SP>1 AND SS or BARPOS=0;
空進:REF(SP>1 AND SS,1) or BARPOS=0 colorgray;
空出:=SP>1 AND BB or BARPOS=0;

//迴圈
進出:C*0 colorwhite; CC:C COLORWHITE LINETHICK; OO:=O;
多空:0; //1.多 -1.空 0.無
盈虧:C*0 COLORCYAN;
Do價:C*0 COLORCYAN linethick;
for i = 1 to DATACOUNT do begin
IF 多空=0 and 強出[i]=0 then begin
多空:=多進[i]-空進[i]; 進出[i]:=多空;
IF 多空<>0 then 進價:=OO[i];
end else IF 多空<>0 then begin

IF 強出[i] then begin
進出[i]:=多空*3; 多空:=0;
end else begin
IF 多空=多出[i] or 多空=-空出[i] then begin
進出[i]:=-多空*2; 多空:=0;
end else IF 多空=空進[i] or 多空=-多進[i] then begin
進出[i]:=多空*3; 多空:=-多空; 進價:=OO[i];
end;
end;
end;
IF 多空<>0 then Do價[i]:=進價; 盈虧[i]:=(CC[i]-進價)*多空;
end;

//盈虧
DEST:=tradedate<>ref(tradedate,1) or barpos=1;
日累盈虧:sum(盈虧*(ABS(進出)>1 or islastbar),barslast(DEST)+1)coloryellow;

__________________
chiu


由 a9681054 在 2022-10-31 15:23 發表:

目前的處理:
反手當根之盈虧,為出方的盈虧(已實現),進方的盈虧不計入(未實現)
如此日累盈虧才能正常累計

回覆

1)非常謝謝版主幫忙....今天2個新問題都解決了

2)想請教版主,在平台爬了很多有關交易系統文章,好像都大同小異,像這種迴圈裡的各項配置,是否有一定的的SOP流程可以提供學習參考?

__________________
chiu


由 cgjj 在 2022-10-31 15:27 發表:

引用:
最初由 a9681054 發表
目前的處理:
反手當根之盈虧,為出方的盈虧(已實現),進方的盈虧不計入(未實現)
如此日累盈虧才能正常累計

回覆

1)非常謝謝版主幫忙....今天2個新問題都解決了

2)想請教版主,在平台爬了很多有關交易系統文章,好像都大同小異,像這種迴圈裡的各項配置,是否有一定的的SOP流程可以提供學習參考?



你給的源碼有錯
例如: 進出[i]:=多空*3; 多空:=0; (原先不是這樣的)
我前面回應的請先忽略!晚點會重新回應!


由 cgjj 在 2022-10-31 16:18 發表:

這兩行您改錯了
IF 強出[i] then begin
進出[i]:=多空*3; 多空:=0;

應該修正為
IF 強出[i] then begin
進出[i]:=多空*4; 多空:=0;

您給的這部分
強出:TIME>=133000 COLORGREEN;
多進:REF(SP>1 AND BB,1) or BARPOS=0;
多出:=SP>1 AND SS or BARPOS=0;
空進:REF(SP>1 AND SS,1) or BARPOS=0 colorgray;
空出:=SP>1 AND BB or BARPOS=0;

並不是在同一根反手做的狀況呀 XD
既然如此,我就不重新答覆了~~

沒有一定的 SOP,有些範例差異其實不小
交易進出方式決定處理方法(不能亂套)


由 a9681054 在 2022-10-31 16:51 發表:

這兩行您改錯了
IF 強出[i] then begin
進出[i]:=多空*3; 多空:=0;

應該修正為
IF 強出[i] then begin
進出[i]:=多空*4; 多空:=0;

回覆:了解

您給的這部分
強出:TIME>=133000 COLORGREEN;
多進:REF(SP>1 AND BB,1) or BARPOS=0;
多出:=SP>1 AND SS or BARPOS=0;
空進:REF(SP>1 AND SS,1) or BARPOS=0 colorgray;
空出:=SP>1 AND BB or BARPOS=0;

並不是在同一根反手做的狀況呀 XD
既然如此,我就不重新答覆了~~

回覆:OK

沒有一定的 SOP,有些範例差異其實不小
交易進出方式決定處理方法(不能亂套)

回覆:了解

再次感謝....版主詳細的說明

__________________
chiu


由 a9681054 在 2022-10-31 17:05 發表:

end else IF 多空=空進[i] or 多空=-多進[i] then begin
進出[i]:=多空*3; 多空:=-多空; 進價:=OO[i];

回覆:

請教版主,什麼狀況下會發生進出[i]:=多空*3 ?

__________________
chiu


由 cgjj 在 2022-10-31 17:15 發表:

引用:
最初由 a9681054 發表
end else IF 多空=空進[i] or 多空=-多進[i] then begin
進出[i]:=多空*3; 多空:=-多空; 進價:=OO[i];

回覆:

請教版主,什麼狀況下會發生進出[i]:=多空*3 ?



//[進出] 這變數值代表意義如下:
//1.多進, 2.多出, 3.多翻空, 4.多強出
//-1.空場,-2.空出,-3.空翻空多, -4.空強出

你現在沒有同根反手做,所以不會出現 3 或 -3


由 a9681054 在 2022-10-31 17:25 發表:

//[進出] 這變數值代表意義如下:
//1.多進, 2.多出, 3.多翻空, 4.多強出
//-1.空場,-2.空出,-3.空翻空多, -4.空強出

你現在沒有同根反手做,所以不會出現 3 或 -3

回覆:了解....謝謝

__________________
chiu


由 a9681054 在 2022-11-02 22:25 發表:

//交易-條件
多空:0 colorgray; //1.多 -1.空 0.無
強出:TIME>=133000 colorgreen;
多進:REF(SP>1 AND BB,1) or BARPOS=0;
多出:=SP>1 AND SS or BARPOS=0;
空進:REF(SP>1 AND SS,1) or BARPOS=0 colorgreen;
空出:=SP>1 AND BB or BARPOS=0;
進出:C*0 colorwhite; CC:=C; OO:=O;
Do價:C*0 colorcyan linethick;
盈虧:C*0 colorcyan;

//交易-迴圈
for i = 1 to DATACOUNT do begin
IF 多空=0 and 強出[i]=0 then begin
多空:=多進[i]-空進[i]; 進出[i]:=多空;
IF 多空<>0 then 進價:=OO[i];
盈虧[i]:=(CC[i]-進價)*多空;
end else IF 多空<>0 then begin
盈虧[i]:=(CC[i]-進價)*多空;
IF 強出[i] then begin
進出[i]:=多空*4; 多空:=0;
end else begin
IF 多空=多出[i] or 多空=-空出[i] then begin
進出[i]:=-多空*2; 多空:=0;
end else IF 多空=空進[i] or 多空=-多進[i] then begin
進出[i]:=多空*3; 多空:=-多空; 進價:=OO[i];
end;
end;
end;
IF 多空<>0 then Do價[i]:=進價;
end;

報告版主

1)上述程式,發現當每天1:45最後那一根K棒有訊號成立時,會造成隔天第一根K棒產生Do價
2)我的需求是,能每天從自己產生多空訊號後,才開始依多進/空進條件成立時,再啟動Do價....
3)自己弄好久還是無法解決,煩請版主再次幫忙...謝謝

__________________
chiu


由 cgjj 在 2022-11-02 23:56 發表:

引用:
最初由 a9681054 發表
//交易-條件
多空:0 colorgray; //1.多 -1.空 0.無
強出:TIME>=133000 colorgreen;
多進:REF(SP>1 AND BB,1) or BARPOS=0;
多出:=SP>1 AND SS or BARPOS=0;
空進:REF(SP>1 AND SS,1) or BARPOS=0 colorgreen;
空出:=SP>1 AND BB or BARPOS=0;
進出:C*0 colorwhite; CC:=C; OO:=O;
Do價:C*0 colorcyan linethick;
盈虧:C*0 colorcyan;

//交易-迴圈
for i = 1 to DATACOUNT do begin
IF 多空=0 and 強出[i]=0 then begin
多空:=多進[i]-空進[i]; 進出[i]:=多空;
IF 多空<>0 then 進價:=OO[i];
盈虧[i]:=(CC[i]-進價)*多空;
end else IF 多空<>0 then begin
盈虧[i]:=(CC[i]-進價)*多空;
IF 強出[i] then begin
進出[i]:=多空*4; 多空:=0;
end else begin
IF 多空=多出[i] or 多空=-空出[i] then begin
進出[i]:=-多空*2; 多空:=0;
end else IF 多空=空進[i] or 多空=-多進[i] then begin
進出[i]:=多空*3; 多空:=-多空; 進價:=OO[i];
end;
end;
end;
IF 多空<>0 then Do價[i]:=進價;
end;

報告版主

1)上述程式,發現當每天1:45最後那一根K棒有訊號成立時,會造成隔天第一根K棒產生Do價
2)我的需求是,能每天從自己產生多空訊號後,才開始依多進/空進條件成立時,再啟動Do價....
3)自己弄好久還是無法解決,煩請版主再次幫忙...謝謝



什麼麼樣的邏輯,就會造就什麼樣的結果
多進 REF(SP>1 AND BB,1)
自己去想一想上面這一行~~


全部時間均為台灣時間, 現在時間為20:17 總頁數 (5): « 第一頁 ... « 2 3 [4] 5 »
在這個頁面顯示本主題全部的 64 個文章


Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.