奇狐社區論壇 總頁數 (2): « 1 [2]
在這個頁面顯示本主題全部的 29 個文章

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


由 Markchu7 在 2022-12-28 09:14 發表:

補上源碼:
多進:省略;
空進:省略;
//價格
多進價:=REF(C,BARSLAST(多進)),COLORRED,LINETHICK;
空進價:=REF(C,BARSLAST(空進)),COLORBLUE,LINETHICK;
U0天2:=LLV(MAX(EMA(C,13),LLV(HHV(H,MIN(3,BARSLAST(空進)+1)),BARSLAST(空進)+1)),BARSLAST(空進)+1);
U0地2:=HHV(MIN(EMA(C,13),HHV(LLV(L,MIN(3,BARSLAST(多進)+1)),BARSLAST(多進)+1)),BARSLAST(多進)+1);
多損價:=REF(C-OUTRG-0.5,BARSLAST(多進)),COLORRED,LINETHICK;
多本價:=REF(C+2,BARSLAST(多進)),COLORRED,LINETHICK;
空損價:=REF(C+OUTRG+0.5,BARSLAST(空進)),COLORBLUE,LINETHICK;
空本價:=REF(C-2,BARSLAST(空進)),COLORBLUE,LINETHICK;
//條件
金叉:=CROSS(C,U0天2);
死叉:=CROSS(U0地2,C);
多損出:=CROSS(多損價,L) AND SUM(CROSS(多損價,L),BARSLAST(多進)+1)=1 AND BARSLAST(多進)>0;
多利出點:=死叉 AND SUM(死叉,BARSLAST(多進)+1)=1 AND BARSLAST(多進)>0;
多利出:=多利出點 AND C>=多本價;
多本出點:=CROSS(H,空本價+0.5);
多本出:=多本出點 AND SUM(多本出點,BARSLAST(多利出點)+1)=1 AND BARSLAST(多利出點)>0;
空損出:=CROSS(H,空損價) AND SUM(CROSS(H,空損價),BARSLAST(空進)+1)=1 AND BARSLAST(空進)>0;
空利出點:=金叉 AND SUM(金叉,BARSLAST(空進)+1)=1 AND BARSLAST(空進)>0;
空利出:=空利出點 AND C<=空本價;
空本出點:=CROSS(空本價-0.5,L);
空本出:=空本出點 AND SUM(空本出點,BARSLAST(空利出點)+1)=1 AND BARSLAST(空利出點)>0;
強出:=TIME=134500 OR BARPOS=0;

感謝總版主辛勞!


由 cgjj 在 2022-12-28 09:31 發表:

引用:
最初由 Markchu7 發表
補上源碼:
多進:省略;
空進:省略;
//價格
多進價:=REF(C,BARSLAST(多進)),COLORRED,LINETHICK;
空進價:=REF(C,BARSLAST(空進)),COLORBLUE,LINETHICK;
U0天2:=LLV(MAX(EMA(C,13),LLV(HHV(H,MIN(3,BARSLAST(空進)+1)),BARSLAST(空進)+1)),BARSLAST(空進)+1);
U0地2:=HHV(MIN(EMA(C,13),HHV(LLV(L,MIN(3,BARSLAST(多進)+1)),BARSLAST(多進)+1)),BARSLAST(多進)+1);
多損價:=REF(C-OUTRG-0.5,BARSLAST(多進)),COLORRED,LINETHICK;
多本價:=REF(C+2,BARSLAST(多進)),COLORRED,LINETHICK;
空損價:=REF(C+OUTRG+0.5,BARSLAST(空進)),COLORBLUE,LINETHICK;
空本價:=REF(C-2,BARSLAST(空進)),COLORBLUE,LINETHICK;
//條件
金叉:=CROSS(C,U0天2);
死叉:=CROSS(U0地2,C);
多損出:=CROSS(多損價,L) AND SUM(CROSS(多損價,L),BARSLAST(多進)+1)=1 AND BARSLAST(多進)>0;
多利出點:=死叉 AND SUM(死叉,BARSLAST(多進)+1)=1 AND BARSLAST(多進)>0;
多利出:=多利出點 AND C>=多本價;
多本出點:=CROSS(H,空本價+0.5);
多本出:=多本出點 AND SUM(多本出點,BARSLAST(多利出點)+1)=1 AND BARSLAST(多利出點)>0;
空損出:=CROSS(H,空損價) AND SUM(CROSS(H,空損價),BARSLAST(空進)+1)=1 AND BARSLAST(空進)>0;
空利出點:=金叉 AND SUM(金叉,BARSLAST(空進)+1)=1 AND BARSLAST(空進)>0;
空利出:=空利出點 AND C<=空本價;
空本出點:=CROSS(空本價-0.5,L);
空本出:=空本出點 AND SUM(空本出點,BARSLAST(空利出點)+1)=1 AND BARSLAST(空利出點)>0;
強出:=TIME=134500 OR BARPOS=0;

感謝總版主辛勞!




U0天2 計算過程有用到當根之H價
U0地2 計算過程有用到當根之L價
卻拿當根 Close 價與這兩者交叉,當金叉死叉

您確定要如此算?


由 Markchu7 在 2022-12-28 09:50 發表:

是的謝謝您!


由 cgjj 在 2022-12-28 10:50 發表:

引用:
最初由 Markchu7 發表
是的謝謝您!


OUTRG 是參數? 還是數列?


由 Markchu7 在 2022-12-28 11:06 發表:

OUTRG 是參數!謝謝您!


由 cgjj 在 2022-12-28 16:51 發表:

引用:
最初由 Markchu7 發表
OUTRG 是參數!謝謝您!


多本出點:=CROSS(H,空本價+0.5);
應該是 多本出點:=CROSS(H,多本價+0.5); 吧?


由 Markchu7 在 2022-12-28 17:37 發表:

是的,copy後漏了修改!感謝!


由 cgjj 在 2022-12-28 20:00 發表:

引用:
最初由 Markchu7 發表
是的,copy後漏了修改!感謝!


OUTRG、多進、空進 請自行帶入

原碼:
..... 程式碼請見後續的修正....


由 Markchu7 在 2022-12-28 21:09 發表:

萬分感謝協助!預祝新年快樂!


由 Markchu7 在 2022-12-29 08:35 發表:

補測試源碼(參數順序為DN1TM,UP1TM,DN2TM,UP2TM,DN3TM,UP3TM):
多進TIME<>000000 AND (TIME=UP1TM OR TIME=UP2TM OR TIME=UP3TM));
空進TIME<>000000 AND (TIME=DN1TM OR TIME=DN2TM OR TIME=DN3TM));
測試了一下:
1.如圖!似乎有問題!
2.請問如果U0天2的EMA(C,13)想改為EMA(H,13),而U0地2的EMA(C,13)想改為EMA(L,13),是否會動到架構?如果會,就不改了!如果只須改數字,那我會先自己改,完成後再PO上來請總版主幫我確認!
以上,感恩!


由 cgjj 在 2022-12-29 08:48 發表:

引用:
最初由 Markchu7 發表
補測試源碼(參數順序為DN1TM,UP1TM,DN2TM,UP2TM,DN3TM,UP3TM):
多進:(TIME<>000000 AND (TIME=UP1TM OR TIME=UP2TM OR TIME=UP3TM));
空進:(TIME<>000000 AND (TIME=DN1TM OR TIME=DN2TM OR TIME=DN3TM));
測試了一下:
1.如圖!似乎有問題!
2.請問如果U0天2的EMA(C,13)想改為EMA(H,13),而U0地2的EMA(C,13)想改為EMA(L,13),是否會動到架構?如果會,就不改了!如果只須改數字,那我會先自己改,完成後再PO上來請總版主幫我確認!
以上,感恩!



Re1:
請說明哪裡有問題?
這樣看資訊不足是瞎子摸象

Re2:
原有的東西確認無誤後,再提出吧!
不然只會更亂~~~~~~~


由 cgjj 在 2022-12-29 09:28 發表:

修正了控損控利控本的判斷式

原碼:
OUTRG:=3; 多進:=cross("KD.K","KD.D"); 空進:=cross("KD.D","KD.K"); ZAry:=C*0; 進出:ZAry NOAXIS; {進出: 1.多進, 2.空轉多, 3.多損出, 4.多利出, 5.多本出, 6.多強出} { -1.空進,-2.多轉空,-3.空損出,-4.空利出,-5.空本出,-6.空強出} CC:=C; HH:=H; LL:=L; EMA13:=EMA(C,13); 進場:=(多進 or barpos=0)-(空進 or barpos=0) linethick; 強出:=time=134500; 多空:=0; //1.多 -1.空 0.無 for i = 1 to datacount do begin if 多空=0 then begin 多空:=進場[i]*Not(強出[i]); if 多空<>0 then begin 進i:=i; 進出[i]:=多空; 進價:=CC[i]; 本價:=進價+多空*2; LVHA:=HH[i]; OldHC:=MAX(EMA13[i],LVHA); HA:=HH[i]; HVLA:=LL[i]; OldLC:=MIN(EMA13[i],HVLA); LA:=LL[i]; end; end else begin if 強出[i] then begin 進出[i]:=多空*6; end else if 多空=-SGN(進場[i]) then begin //反向 多空:=進場[i]; NowDir:=SGN(多空); 進i:=i; 進出[i]:=多空*2; 進價:=CC[i]; 本價:=進價+多空*2; LVHA:=HH[i]; OldHC:=MAX(EMA13[i],LVHA); HVLA:=LL[i]; OldLC:=MIN(EMA13[i],HVLA); end else begin S:=1; if 多空=-1 then begin for j=i-1 downto 進i do begin if HH[j]>HA then HA:=HH[j]; S:=S+1; if S=3 then break; end; if HA<LVHA then LVHA:=HA; NowHC:=MIN(MAX(EMA13[i],LVHA),OldHC); 金叉:=CC[i-1]<OldHC and CC[i]>NowHC; OldHC:=NowHC; if HH[i]>=進價+OUTRG+0.5 then begin //空損出 進出[i]:=-3; end else if 金叉 and CC[i]<=本價 then begin //空利出 進出[i]:=-4; end else if LL[i]<本價-0.5 then begin //空本出 進出[i]:=-5; end; end else begin for j=i-1 downto 進i do begin if LL[j]<LA then LA:=LL[j]; S:=S+1; if S=3 then break; end; if LA>HVLA then HVLA:=LA; NowLC:=MAX(MIN(EMA13[i],HVLA),OldLC); 死叉:=OldLC<CC[i-1] and NowLC>CC[i]; OldLC:=NowLC; if LL[i]<=進價-OUTRG-0.5 then begin //多損出 進出[i]:=3; end else if 死叉 and CC[i]>=本價 then begin //多利出 進出[i]:=4; end else if HH[i]>本價+0.5 then begin //多本出 進出[i]:=5; end; end; end; if ABS(進出[i])>2 then 多空:=0; end; end;


由 Markchu7 在 2022-12-29 09:31 發表:

感謝辛勞!繼續學習中!


由 cgjj 在 2022-12-29 09:56 發表:

引用:
最初由 Markchu7 發表
感謝辛勞!繼續學習中!


不客氣^^


全部時間均為台灣時間, 現在時間為06:33 總頁數 (2): « 1 [2]
在這個頁面顯示本主題全部的 29 個文章


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

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