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

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- YM0小道瓊連續 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=20678)


由 N122562663 在 2017-01-30 18:02 發表:

YM0小道瓊連續

總版主您好:下列架構、想用在、YM0.小道瓊連續、

.1.限制、070000開盤至060000收盤.為一天、一天多.空訊加總、只進場3次、3次以後多空訊、條件成立、都不進場、

.2.限制、070000開盤至060000收盤.全出、強出:=???;

強出:=TIME>=134300;
多進:=多訊 and 強出=0 or BARPOS=0;
空進:=空訊 and 強出=0 or BARPOS=0;
進場:=多進-空進;
控損:=20; 控盈衰起:=15; 控盈衰值:=30; WrkNum:=5;
VARIABLE:控利[WrkNum]=0;
控利[1]:=20; 控利[2]:=50; 控利[3]:=75; 控利[4]:=90; 控利[5]:=120;
進價:=0; CC:=CLOSE; HH:=HIGH; LL:=LOW; RecOutM:='';
多空:=0;
進出:CLOSE*0 NOAXIS;
持有:=進出 linethick0;
限進次:=3;
DECK:=date<>ref(date,1) or barpos=1;
for i = 1 to DATACOUNT do begin
if DECK[i]=1 then DESS:=0;
IF 多空=0 then begin
多空:=進場[i]*WrkNum; 進出[i]:=SGN(多空);
IF 多空<>0 and DESS<=限進次 then begin
進價:=CC[i]; DESS:=DESS+1;
end;
RecOutM:=''; Max盈:=0;
end else IF 多空<>0 then begin
NowDir:=SGN(多空);
IF NowDir=-進場[i] and DESS<=限進次 then begin
進出[i]:=-NowDir*2; 多空:=-NowDir*WrkNum; 進價:=CC[i]; RecOutM:=''; Max盈:=0; DESS:=DESS+1;
end else begin
H盈虧:=(HH[i]-進價)*(NowDir=1)+(進價-LL[i])*(NowDir=-1);
L盈虧:=(LL[i]-進價)*(NowDir=1)+(進價-HH[i])*(NowDir=-1);
IF 強出[i] then begin
進出[i]:=NowDir*4; 多空:=0;
end else IF L盈虧<=-控損 then begin
進出[i]:=NowDir*3; 多空:=0;
end else if Max盈>=控盈衰起 and Max盈-L盈虧>=控盈衰值 then begin
進出[i]:=NowDir*5; 多空:=0;
end else begin
for j=WrkNum downto 1 do begin
jstr:=NUMTOSTR(j,0);
IF H盈虧>=控利[j] and STRFIND(RecOutM, jstr, 1)=0 then begin
進出[i]:=NowDir*10+NowDir*j; RecOutM:=RecOutM+jstr;
多空:=多空-NowDir; IF j=WrkNum then 多空:=0;
break;
end;
end;
end;
if H盈虧>Max盈 then Max盈:=H盈虧;
end;
end;
持有[i]:=多空;
end;


由 cgjj 在 2017-01-30 22:41 發表:

回覆: YM0小道瓊連續

引用:
最初由 N122562663 發表
總版主您好:下列架構、想用在、YM0.小道瓊連續、

.1.限制、070000開盤至060000收盤.為一天、一天多.空訊加總、只進場3次、3次以後多空訊、條件成立、都不進場、

.2.限制、070000開盤至060000收盤.全出、強出:=???;

強出:=TIME>=134300;
多進:=多訊 and 強出=0 or BARPOS=0;
空進:=空訊 and 強出=0 or BARPOS=0;
進場:=多進-空進;
控損:=20; 控盈衰起:=15; 控盈衰值:=30; WrkNum:=5;
VARIABLE:控利[WrkNum]=0;
控利[1]:=20; 控利[2]:=50; 控利[3]:=75; 控利[4]:=90; 控利[5]:=120;
進價:=0; CC:=CLOSE; HH:=HIGH; LL:=LOW; RecOutM:='';
多空:=0;
進出:CLOSE*0 NOAXIS;
持有:=進出 linethick0;
限進次:=3;
DECK:=date<>ref(date,1) or barpos=1;
for i = 1 to DATACOUNT do begin
if DECK[i]=1 then DESS:=0;
IF 多空=0 then begin
多空:=進場[i]*WrkNum; 進出[i]:=SGN(多空);
IF 多空<>0 and DESS<=限進次 then begin
進價:=CC[i]; DESS:=DESS+1;
end;
RecOutM:=''; Max盈:=0;
end else IF 多空<>0 then begin
NowDir:=SGN(多空);
IF NowDir=-進場[i] and DESS<=限進次 then begin
進出[i]:=-NowDir*2; 多空:=-NowDir*WrkNum; 進價:=CC[i]; RecOutM:=''; Max盈:=0; DESS:=DESS+1;
end else begin
H盈虧:=(HH[i]-進價)*(NowDir=1)+(進價-LL[i])*(NowDir=-1);
L盈虧:=(LL[i]-進價)*(NowDir=1)+(進價-HH[i])*(NowDir=-1);
IF 強出[i] then begin
進出[i]:=NowDir*4; 多空:=0;
end else IF L盈虧<=-控損 then begin
進出[i]:=NowDir*3; 多空:=0;
end else if Max盈>=控盈衰起 and Max盈-L盈虧>=控盈衰值 then begin
進出[i]:=NowDir*5; 多空:=0;
end else begin
for j=WrkNum downto 1 do begin
jstr:=NUMTOSTR(j,0);
IF H盈虧>=控利[j] and STRFIND(RecOutM, jstr, 1)=0 then begin
進出[i]:=NowDir*10+NowDir*j; RecOutM:=RecOutM+jstr;
多空:=多空-NowDir; IF j=WrkNum then 多空:=0;
break;
end;
end;
end;
if H盈虧>Max盈 then Max盈:=H盈虧;
end;
end;
持有[i]:=多空;
end;



Re1:
將下面這行ˋ中的 date 改為 TRADEDATE 即可
DECK:=date<>ref(date,1) or barpos=1;

Re2:

強出:=TIME>=134300;
改為
強出:=TRADEDATE<DATE and time>=060000; //僅適用於跨零時之後出場


由 N122562663 在 2018-01-04 11:59 發表:

總版主您好:前強出已OK、謝謝您、

另外、我是想求得、YM0.小道瓊連續、070000開盤至060000收盤、開.高.低.3個價位。

請費心公式支援。


由 cgjj 在 2018-01-04 12:29 發表:

引用:
最初由 N122562663 發表
總版主您好:前強出已OK、謝謝您、

另外、我是想求得、YM0.小道瓊連續、070000開盤至060000收盤、開.高.低.3個價位。

請費心公式支援。



STCK:=Tradedate<>ref(Tradedate,1);
STSP:=barslast(STCK);
MO:REF(O,STSP);
MH:HHV(H,STSP+1);
ML:LLV(L,STSP+1);


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


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

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