奇狐社區論壇
在這個頁面顯示本主題全部的 10 個文章

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


由 mori868 在 2025-07-03 21:20 發表:

如何修改只要計算當天的績效與累計即可

AQ:=條件A;
BQ:=條件B;

CK:=AQ-BQ;
CK:=ref(CK,BARSLAST(CK<>0));
ZA:=IF(CK= 1,BARSLAST(AQ)+1,0);
ZB:=IF(CK=-1,BARSLAST(BQ)+1,0);

績效:IF(ZA>0,壓力-支撐,IF(ZB>0,壓力-支撐,0)),Colorwhite,linethick0;

De:=DATE;
DD:=barslast(DATE<>REF(DATE,1))+1,colorwhite,linethick0;

累計:=if(AQ or BQ,績效,0);
累計:SUM(累計,DD+1),Colorwhite,linethick0;
希望
只要計算當天的績效與累計即可


由 cgjj 在 2025-07-04 08:51 發表:

回覆: 如何修改只要計算當天的績效與累計即可

引用:
最初由 mori868 發表
AQ:=條件A;
BQ:=條件B;

CK:=AQ-BQ;
CK:=ref(CK,BARSLAST(CK<>0));
ZA:=IF(CK= 1,BARSLAST(AQ)+1,0);
ZB:=IF(CK=-1,BARSLAST(BQ)+1,0);

績效:IF(ZA>0,壓力-支撐,IF(ZB>0,壓力-支撐,0)),Colorwhite,linethick0;

De:=DATE;
DD:=barslast(DATE<>REF(DATE,1))+1,colorwhite,linethick0;

累計:=if(AQ or BQ,績效,0);
累計:SUM(累計,DD+1),Colorwhite,linethick0;
希望
只要計算當天的績效與累計即可



看看是否為您要的結果

AQ:=條件A;
BQ:=條件B;

CK:=AQ-BQ;
CK:=ref(CK,BARSLAST(CK<>0));
ZA:=IF(CK= 1,BARSLAST(AQ)+1,0);
ZB:=IF(CK=-1,BARSLAST(BQ)+1,0);

績效:IF(ZA>0,壓力-支撐,IF(ZB>0,壓力-支撐,0)),Colorwhite,linethick0;

SP:=barslast(tradedate<>ref(tradedate,1));
累計:sum(績效,SP+1),Colorwhite,linethick0;


由 mori868 在 2025-07-04 10:20 發表:

回覆: 回覆: 如何修改只要計算當天的績效與累計即可

引用:
最初由 cgjj 發表
看看是否為您要的結果

AQ:=條件A;
BQ:=條件B;

CK:=AQ-BQ;
CK:=ref(CK,BARSLAST(CK<>0));
ZA:=IF(CK= 1,BARSLAST(AQ)+1,0);
ZB:=IF(CK=-1,BARSLAST(BQ)+1,0);

績效:IF(ZA>0,壓力-支撐,IF(ZB>0,壓力-支撐,0)),Colorwhite,linethick0;

SP:=barslast(tradedate<>ref(tradedate,1));
累計:sum(績效,SP+1),Colorwhite,linethick0;


這有計算到昨天最後一筆了
希望
只計算當天"買賣的積效"與"積效的 累計"而已


由 cgjj 在 2025-07-04 10:52 發表:

回覆: 回覆: 回覆: 如何修改只要計算當天的績效與累計即可

引用:
最初由 mori868 發表
這有計算到昨天最後一筆了
希望
只計算當天"買賣的積效"與"積效的 累計"而已



不會的
SP:=barslast(tradedate<>ref(tradedate,1));
累計:sum(績效,SP+1),Colorwhite,linethick0;

這兩行其加總範圍,只在當日之內
不會有昨日的被加入到今日來!
請確認您沒有修改過這兩行程式碼!


由 mori868 在 2025-07-04 12:49 發表:

回覆: 回覆: 回覆: 回覆: 如何修改只要計算當天的績效與累計即可

引用:
最初由 cgjj 發表
不會的
SP:=barslast(tradedate<>ref(tradedate,1));
累計:sum(績效,SP+1),Colorwhite,linethick0;

這兩行其加總範圍,只在當日之內
不會有昨日的被加入到今日來!
請確認您沒有修改過這兩行程式碼!


對不起 上述表達不明 今以下面為準

CK:=AQ-BQ;
CK:=ref(CK,BARSLAST(CK<>0));
ZA:=IF(CK=1, BARSLAST(AQ)+1,0);
ZB:=IF(CK=-1,BARSLAST(BQ)+1,0);

支C:=ref(C,ZA);
壓C:=ref(C,ZB);

0,color111111,linethick0;
A線:IF(ZA>0,支C,IF(ZB>0,壓C,0));
0,color111111,linethick0;
A1線:ref(A線,barslast(A線<>ref(A線,1))+1);

0,color111111,linethick0;
績效:If(ZA>0,A1線-A線,If(ZB>0,A線-A1線,0)),PRECISION0,Colorwhite,Linethick0;
請教
1:如何去掉今天第一筆交易不算,因要有兩筆交易才有績效嗎
2:從第二筆交易起,之後的績效皆對
3:希望也將今天的績效做一累計


由 cgjj 在 2025-07-04 14:17 發表:

回覆: 回覆: 回覆: 回覆: 回覆: 如何修改只要計算當天的績效與累計即可

引用:
最初由 mori868 發表
對不起 上述表達不明 今以下面為準

CK:=AQ-BQ;
CK:=ref(CK,BARSLAST(CK<>0));
ZA:=IF(CK=1, BARSLAST(AQ)+1,0);
ZB:=IF(CK=-1,BARSLAST(BQ)+1,0);

支C:=ref(C,ZA);
壓C:=ref(C,ZB);

0,color111111,linethick0;
A線:IF(ZA>0,支C,IF(ZB>0,壓C,0));
0,color111111,linethick0;
A1線:ref(A線,barslast(A線<>ref(A線,1))+1);

0,color111111,linethick0;
績效:If(ZA>0,A1線-A線,If(ZB>0,A線-A1線,0)),PRECISION0,Colorwhite,Linethick0;
請教
1:如何去掉今天第一筆交易不算,因要有兩筆交易才有績效嗎
2:從第二筆交易起,之後的績效皆對
3:希望也將今天的績效做一累計



問題交代的非常不完整~~
您這公式進出的型態為何?
是持續正反正反多空操作嗎? 還是僅單向?
是否為當沖?
這牽扯到績效如何算~~


由 cgjj 在 2025-07-04 14:47 發表:

大概猜想一下,請試試是否為您要的結果(請自行驗算對錯)

SP:=barslast(tradedate<>ref(tradedate,1));
DD:=ZA=1 or ZB=1; DDNO:=sum(DD,SP+1);
ED績效:=sum(績效*(DD and DDNO>1),SP+1);
累計: ED績效*(DD=0)+績效*(DDNO>0);

若不是,請重新交代清楚您的問題細節


由 mori868 在 2025-07-04 20:56 發表:

引用:
最初由 cgjj 發表
大概猜想一下,請試試是否為您要的結果(請自行驗算對錯)

SP:=barslast(tradedate<>ref(tradedate,1));
DD:=ZA=1 or ZB=1; DDNO:=sum(DD,SP+1);
ED績效:=sum(績效*(DD and DDNO>1),SP+1);
累計: ED績效*(DD=0)+績效*(DDNO>0);

若不是,請重新交代清楚您的問題細節


上述算法結果與績效相同
績效:If(ZA>0,A1線-A線,If(ZB>0,A線-A1線,0)),PRECISION0,Colorwhite,Linethick0;
因為是
1:做當沖
2:連續多空對做
3:只要不顯示第一筆績效即可(因當天第一筆交易是與昨天最後一筆交易的績效) 而其餘顯示績效的結果多是對的
4:只要將今天的績效做一累計即是


由 cgjj 在 2025-07-05 01:13 發表:

引用:
最初由 mori868 發表
上述算法結果與績效相同
績效:If(ZA>0,A1線-A線,If(ZB>0,A線-A1線,0)),PRECISION0,Colorwhite,Linethick0;
因為是
1:做當沖
2:連續多空對做
3:只要不顯示第一筆績效即可(因當天第一筆交易是與昨天最後一筆交易的績效) 而其餘顯示績效的結果多是對的
4:只要將今天的績效做一累計即是



該日第1訊號是被僅視為進場,該根不具出場,故不會被納入ED績效值計算

該日第1訊號為首次進場,ED績效值為0
該日第2訊號為反手做,ED績效=該動作產生的績效值(假設為3)
該日第3訊號為反手做,ED績效=該動作產生的績效值(假設為6)+過往動作累計產生的績效值 = 6 + 3
該日第4訊號為反手做,ED績效=該動作產生的績效值(假設為5)+過往動作累計產生的績效值 = 5 + ( 6 + 3 )

累計則是可以讓您在尚末出場前,見到績效值的變化


由 mori868 在 2025-07-05 11:28 發表:

引用:
最初由 cgjj 發表
該日第1訊號是被僅視為進場,該根不具出場,故不會被納入ED績效值計算

該日第1訊號為首次進場,ED績效值為0
該日第2訊號為反手做,ED績效=該動作產生的績效值(假設為3)
該日第3訊號為反手做,ED績效=該動作產生的績效值(假設為6)+過往動作累計產生的績效值 = 6 + 3
該日第4訊號為反手做,ED績效=該動作產生的績效值(假設為5)+過往動作累計產生的績效值 = 5 + ( 6 + 3 )

累計則是可以讓您在尚末出場前,見到績效值的變化


不錯 這是我所要的
那公式呢?


全部時間均為台灣時間, 現在時間為11:06
在這個頁面顯示本主題全部的 10 個文章


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

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