![]() |
在這個頁面顯示本主題全部的 57 個文章 |
奇狐社區論壇 (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=17082)
求助 二口單交易
總版主 以及各位先進,大家早安!
請教:期指當沖交易,用以下條件該如何表達?
買訊:=多訊; 賣訊:=空訊;
【A: 作多】 以 買訊為例,二口單交易
交易時間: Time:8:50 ∼13:35; //開盤後 08:50 開始執行,收盤前 13:35所有單平倉出清。
限制進場: Time:13:10; //若有單僅可平倉不反手,有訊號也不作單。
限停損次:= 2。 //進場後未盈利即停損者算一次。
1.進場後盈利未達20點時:
(a)若回檔,設定賠 18 點(觸價)出場後空手,等待反轉訊號。
(b)若回檔即觸及反轉訊,平倉並反手二口。
2.盈利 21~40:
(a)設定進場後的高點回檔 16 點(觸價),先平一口單。
(b)若再回檔 16 點(觸價),則全部清倉空手,等待反轉訊號。
(c)若回檔即觸反轉訊,全部平倉並反手二口。
3.盈利 41~70:
(a)設定進場後的高點(觸價)回檔 30%(百分比請取整數),
若手中有二口單則停利一口,若手中只有一口單則清倉空手,等待反轉訊號。
(b)若再回檔 30% (觸價),則全部清倉空手,等待反轉訊號。
(c)若回檔即觸反轉訊,全部平倉並反手二口。
4.若盈利達 55 點時(觸價),即停利一口單。
5.若盈利 71點以上:
如果:回檔 25% 或 連續五根黑K 出清所有多單,空手等待反轉訊號。
【B: 作空】賣訊 (作空) 反之。
以上,能否請 總版主示範一個完整的雙向範例。
上述條件不知是否合理,若有不妥還請總版主賜教訂正,多謝。
回覆: 求助 二口單交易
引用:
最初由 co2 發表
總版主 以及各位先進,大家早安!
請教:期指當沖交易,用以下條件該如何表達?
買訊:=多訊; 賣訊:=空訊;
【A: 作多】 以 買訊為例,二口單交易
交易時間: Time:8:50 ∼13:35; //開盤後 08:50 開始執行,收盤前 13:35所有單平倉出清。
限制進場: Time:13:10; //若有單僅可平倉不反手,有訊號也不作單。
限停損次:= 2。 //進場後未盈利即停損者算一次。
1.進場後盈利未達20點時:
(a)若回檔,設定賠 18 點(觸價)出場後空手,等待反轉訊號。
(b)若回檔即觸及反轉訊,平倉並反手二口。
2.盈利 21~40:
(a)設定進場後的高點回檔 16 點(觸價),先平一口單。
(b)若再回檔 16 點(觸價),則全部清倉空手,等待反轉訊號。
(c)若回檔即觸反轉訊,全部平倉並反手二口。
3.盈利 41~70:
(a)設定進場後的高點(觸價)回檔 30%(百分比請取整數),
若手中有二口單則停利一口,若手中只有一口單則清倉空手,等待反轉訊號。
(b)若再回檔 30% (觸價),則全部清倉空手,等待反轉訊號。
(c)若回檔即觸反轉訊,全部平倉並反手二口。
4.若盈利達 55 點時(觸價),即停利一口單。
5.若盈利 71點以上:
如果:回檔 25% 或 連續五根黑K 出清所有多單,空手等待反轉訊號。
【B: 作空】賣訊 (作空) 反之。
以上,能否請 總版主示範一個完整的雙向範例。
上述條件不知是否合理,若有不妥還請總版主賜教訂正,多謝。
回覆: 回覆: 求助 二口單交易
引用:
最初由 cgjj 發表
Q1. 前面說的 4. 與 3. 組合上可能很易混淆, 請確認點數寫的是否正確?
Q2. 算盈利、算高點、算回檔時
是以那一個價去與基準價比較? 又基準價採用何價?
Q3. 連續五根是包含當根? 還是不包含當根?
Q4. 限停損次達到後, 當日是否就不再進場?
Q5. "再回檔" 請解釋清楚, 您的再回檔定義為何? (最好以圖說明,以免有模糊地帶)
回覆: 回覆: 求助 二口單交易
引用:
最初由 cgjj 發表
Q1. 前面說的 4. 與 3. 組合上可能很易混淆, 請確認點數寫的是否正確?
Q2. 算盈利、算高點、算回檔時
是以那一個價去與基準價比較? 又基準價採用何價?
Q3. 連續五根是包含當根? 還是不包含當根?
Q4. 限停損次達到後, 當日是否就不再進場?
Q5. "再回檔" 請解釋清楚, 您的再回檔定義為何? (最好以圖說明,以免有模糊地帶)
回覆: 回覆: 回覆: 求助 二口單交易
引用:
最初由 co2 發表
〔接上一頁〕
Q2. 算盈利、算高點、算回檔時
Q5. "再回檔" 請解釋清楚, 您的再回檔定義為何? (最好以圖說明,以免有模糊地帶)
這二項請見二張附圖說明:圖一
回覆: 回覆: 回覆: 求助 二口單交易
引用:
最初由 co2 發表
〔接上一頁〕
Q2. 算盈利、算高點、算回檔時
Q5. "再回檔" 請解釋清楚, 您的再回檔定義為何? (最好以圖說明,以免有模糊地帶)
這二項請見二張附圖說明:圖一
回覆: 回覆: 回覆: 回覆: 求助 二口單交易
引用:
最初由 cgjj 發表
Q6. 價的部份尚不清楚
進場價用開盤價嗎?
算盈利用何價?、算高點用High價?、算回檔又用何價比較呢?
回覆: 回覆: 回覆: 回覆: 回覆: 求助 二口單交易
引用:
最初由 co2 發表
不好意思,還勞駕 總版主假日沒得休息!
關於:1.進場價是以收盤(等於是下一根開盤進場),2.盈利、虧損或回檔都是以盤中價為準,就是只要最高價或最低價觸及條件就算成立。 謝謝!
回覆: 回覆: 求助 二口單交易
引用:
最初由 cgjj 發表
這問題需花費較多時間
最近較忙, 預計下週之後才有空答覆您
回覆: 回覆: 回覆: 求助 二口單交易
引用:
最初由 co2 發表
沒關係,不急不急,等 總版主有空再說。
1.進場後盈利未達20點時:
(a)若回檔,設定賠 18 點(觸價)出場後空手,等待反轉訊號。
這部份與圖一所畫的狀況, 並不一致
圖一是描述回檔18點, 並非是進場後賠18點
麻煩請釐清
另外
圖一的再回檔可以視為無論有無回檔
也就是自HH回落18點時先出一口
後續再落達38點時(自HH算), 全出
引用:
最初由 cgjj 發表
1.進場後盈利未達20點時:
(a)若回檔,設定賠 18 點(觸價)出場後空手,等待反轉訊號。
這部份與圖一所畫的狀況, 並不一致
圖一是描述回檔18點, 並非是進場後賠18點
麻煩請釐清
……………………………………
引用:
最初由 cgjj 發表
[b]
………………………………
………………………………
另外
圖一的再回檔可以視為無論有無回檔
也就是自HH回落18點時先出一口
後續再落達38點時(自HH算), 全出
引用:
最初由 co2 發表
是的,就是這個意思。
真抱歉,文字敘述始終不夠完整,勞駕 版主費神了。
順祝 版主 中秋佳節愉快!
引用:
最初由 cgjj 發表
謝謝, 不客氣 ^^
4.若盈利 61點以上:
如果:回檔 25% 或 連續五根黑K 出清所有多單,空手等待反轉訊號。
5.若盈利 71點以上:
如果:回檔 25% 或 連續五根黑K 出清所有多單,空手等待反轉訊號。
這邊的 5. 是多餘的, 處理時將會忽略掉
原碼:
StDoTime:=085000;
多進:=多進 and time>=StDoTime or barpos=0;
空進:=空進 and time>=StDoTime or barpos=0;
進場:=多進-空進;
強出:=time>=133500;
限進:=time>=131000;
限停損次:=2; //每日
損控點數:=18;
黑五:=sum(C<O,5)=5;
OO:=O; CC:=C; HH:=H; LL:=L;
StDE:=barpos=1 or time=StDoTime;
DoBS:C*0 NOAXIS;
多空:=0; //1.多 -1.空 0.無
for i=1 to datacount do begin
if StDE[i] then 累停損次:=0;
if 多空=0 and 強出[i]=0 and 限進[i]=0 and 累停損次<限停損次 then begin
多空:=進場[i]*2;
if 多空<>0 then begin
進價:=OO[i]; Max盈:=0; PreTN:=0;
end;
end else if 多空<>0 then begin
NowDir:=SGN(多空);
if 強出[i] then begin
多空:=0;
end else if NowDir=-進場[i] then begin
多空:=-NowDir*2*(限進[i]=0); //反手
if 多空<>0 then begin
進價:=OO[i]; Max盈:=0; PreTN:=0;
end;
end else begin
損HL:=LL[i]*(NowDir=1)+HH[i]*(NowDir=-1);
盈HL:=HH[i]*(NowDir=1)+LL[i]*(NowDir=-1);
盈利L:=(損HL-進價)*NowDir;
if (損HL-進價)*NowDir<=-損控點數 then begin
多空:=0; 累停損次:=累停損次+1; //停損
end else if Max盈>=61 then begin
if 黑五[i] or 盈利L<Max盈*0.75 then 多空:=0;
end else if Max盈>=41 then begin
if 盈利L<=Max盈*0.4 then begin
多空:=0;
end else if 盈利L<=Max盈*0.7 and PreTN<>0.7 then begin
多空:=多空-NowDir; PreTN:=0.7;
end;
end else if Max盈>=21 then begin
if 盈利L<=Max盈-32 then begin
多空:=0;
end else if 盈利L<Max盈-16 and PreTN<>16 then begin
多空:=多空-NowDir; PreTN:=16;
end;
end;
盈利H:=(盈HL-進價)*NowDir;
if 盈利H>Max盈 then Max盈:=盈利H;
end;
end;
DoBS[i]:=多空;
end;
引用:
最初由 cgjj 發表
原碼:
StDoTime:=085000;
多進:=多進 and time>=StDoTime or barpos=0;
空進:=空進 and time>=StDoTime or barpos=0;
進場:=多進-空進;
強出:=time>=133500;
限進:=time>=131000;
限停損次:=2; //每日
損控點數:=18;
黑五:=sum(C<O,5)=5;
OO:=O; CC:=C; HH:=H; LL:=L;
StDE:=barpos=1 or time=StDoTime;
DoBS:C*0 NOAXIS;
多空:=0; //1.多 -1.空 0.無
for i=1 to datacount do begin
if StDE[i] then 累停損次:=0;
if 多空=0 and 強出[i]=0 and 限進[i]=0 and 累停損次<限停損次 then begin
多空:=進場[i]*2;
if 多空<>0 then begin
進價:=OO[i]; Max盈:=0; PreTN:=0;
end;
end else if 多空<>0 then begin
NowDir:=SGN(多空);
if 強出[i] then begin
多空:=0;
end else if NowDir=-進場[i] then begin
多空:=-NowDir*2*(限進[i]=0); //反手
if 多空<>0 then begin
進價:=OO[i]; Max盈:=0; PreTN:=0;
end;
end else begin
損HL:=LL[i]*(NowDir=1)+HH[i]*(NowDir=-1);
盈HL:=HH[i]*(NowDir=1)+LL[i]*(NowDir=-1);
盈利L:=(損HL-進價)*NowDir;
if (損HL-進價)*NowDir<=-損控點數 then begin
多空:=0; 累停損次:=累停損次+1; //停損
end else if Max盈>=61 then begin
if 黑五[i] or 盈利L<Max盈*0.75 then 多空:=0;
end else if Max盈>=41 then begin
if 盈利L<=Max盈*0.4 then begin
多空:=0;
end else if 盈利L<=Max盈*0.7 and PreTN<>0.7 then begin
多空:=多空-NowDir; PreTN:=0.7;
end;
end else if Max盈>=21 then begin
if 盈利L<=Max盈-32 then begin
多空:=0;
end else if 盈利L<Max盈-16 and PreTN<>16 then begin
多空:=多空-NowDir; PreTN:=16;
end;
end;
盈利H:=(盈HL-進價)*NowDir;
if 盈利H>Max盈 then Max盈:=盈利H;
end;
end;
DoBS[i]:=多空;
end;
引用:
最初由 co2 發表
感謝 總版主,辛苦了!
經套用約略檢查一下,初步發現:以作多為例,如果作多,第二次停利之後的下一根K還會再進場作一次多單(DOBS=2),不知我有沒有看錯?請 總版主指教。謝謝!
引用:
最初由 cgjj 發表
第二次停利的停利當根 DOBS 會等於 0
若第二次停利的下一根, 有 [多進] 訊號成立, DOBS 才會等於2
請檢查第二次停利的下一根K棒, 其 [多進] 訊號是否成立
若為成立, 其會執行 "多進" 的動作
停利不會影響當日進場次數
停損才會讓當日進場次數受限
引用:
最初由 co2 發表
大家晚安!
引用條件2:
2.盈利 21~40:
(a)設定進場後的高點回檔 16 點(觸價),先平一口單。
(b)若再回檔 16 點(觸價),則全部清倉空手,等待反轉訊號。
(c)若回檔即觸反轉訊,全部平倉並反手二口。
當停利二次後我希望以 (b) 的條件等待反轉訊號再反空,請見附圖說明:
引用:
最初由 cgjj 發表
圖中的 (5) 是因為該根K棒有 [多進] 訊號成立, 所以又進場做多
您希望的意思是
做多停利兩次後, 等待 [空進] 的訊號, 等待途中若觸及 [多進] 訊號不理它嗎?
其他 "等待反轉訊號" 也都是如此處理嗎?
也就是 多空多空多空.... 反向輪流做
不會有 多多空多空空多 這種狀態囉??
引用:
最初由 co2 發表
是的,當作多時若停利後(不管是一次停或兩次停)又遇上多訊也不再作多,因為目前所使用的買賣訊似乎不太適合這樣做。
原碼:
StDoTime:=085000;
多進:=多進 and time>=StDoTime or barpos=0;
空進:=空進 and time>=StDoTime or barpos=0;
進場:=多進-空進;
強出:=time>=133500;
限進:=time>=131000;
限停損次:=2; //每日
損控點數:=18;
黑五:=sum(C<O,5)=5;
OO:=O; CC:=C; HH:=H; LL:=L;
StDE:=barpos=1 or time=StDoTime;
DoBS:C*0 NOAXIS;
多空:=0; //1.多 -1.空 0.無
for i=1 to datacount do begin
if StDE[i] then begin
累停損次:=0; WaitBS:=0;
end;
if 多空=0 and 強出[i]=0 and 限進[i]=0 and 累停損次<限停損次 then begin
if WaitBS=0 or WaitBS=進場[i] then begin
多空:=進場[i]*2;
if 多空<>0 then begin
進價:=OO[i]; Max盈:=0; PreTN:=0; WaitBS:=-SGN(多空);
end;
end;
end else if 多空<>0 then begin
NowDir:=SGN(多空);
if 強出[i] then begin
多空:=0;
end else if NowDir=-進場[i] then begin
多空:=-NowDir*2*(限進[i]=0); //反手
if 多空<>0 then begin
進價:=OO[i]; Max盈:=0; PreTN:=0; WaitBS:=-SGN(多空);
end;
end else begin
損HL:=LL[i]*(NowDir=1)+HH[i]*(NowDir=-1);
盈HL:=HH[i]*(NowDir=1)+LL[i]*(NowDir=-1);
盈利L:=(損HL-進價)*NowDir;
if (損HL-進價)*NowDir<=-損控點數 then begin
多空:=0; 累停損次:=累停損次+1; //停損
end else if Max盈>=61 then begin
if 黑五[i] or 盈利L<Max盈*0.75 then 多空:=0;
end else if Max盈>=41 then begin
if 盈利L<=Max盈*0.4 then begin
多空:=0;
end else if 盈利L<=Max盈*0.7 and PreTN<>0.7 then begin
多空:=多空-NowDir; PreTN:=0.7;
end;
end else if Max盈>=21 then begin
if 盈利L<=Max盈-32 then begin
多空:=0;
end else if 盈利L<Max盈-16 and PreTN<>16 then begin
多空:=多空-NowDir; PreTN:=16;
end;
end;
盈利H:=(盈HL-進價)*NowDir;
if 盈利H>Max盈 then Max盈:=盈利H;
end;
end;
DoBS[i]:=多空;
end;
引用:
最初由 co2 發表
另外,能否麻煩將 "DOBS" 執行訊號以 類似 下列方式呈現,方便檢視之用
以 RecDO 數列, 來另外記錄前面提的需求
原碼:
StDoTime:=085000;
多進:=多進 and time>=StDoTime or barpos=0;
空進:=空進 and time>=StDoTime or barpos=0;
進場:=多進-空進;
強出:=time>=133500;
限進:=time>=131000;
限停損次:=2; //每日
損控點數:=18;
黑五:=sum(C<O,5)=5;
OO:=O; CC:=C; HH:=H; LL:=L;
StDE:=barpos=1 or time=StDoTime;
DoBS:C*0 NOAXIS; RecDO:C*0 linethick;
多空:=0; //1.多 -1.空 0.無
for i=1 to datacount do begin
if StDE[i] then begin
累停損次:=0; WaitBS:=0;
end;
if 多空=0 and 強出[i]=0 and 限進[i]=0 and 累停損次<限停損次 then begin
if WaitBS=0 or WaitBS=進場[i] then begin
多空:=進場[i]*2;
if 多空<>0 then begin
進價:=OO[i]; Max盈:=0; PreTN:=0; WaitBS:=-SGN(多空);
RecDO[i]:=SGN(多空);
end;
end;
end else if 多空<>0 then begin
NowDir:=SGN(多空);
if 強出[i] then begin
多空:=0; RecDO[i]:=NowDir*6;
end else if NowDir=-進場[i] then begin
多空:=-NowDir*2*(限進[i]=0); //反手
if 多空<>0 then begin
進價:=OO[i]; Max盈:=0; PreTN:=0; WaitBS:=-SGN(多空);
RecDO[i]:=-NowDir*4;
end;
end else begin
損HL:=LL[i]*(NowDir=1)+HH[i]*(NowDir=-1);
盈HL:=HH[i]*(NowDir=1)+LL[i]*(NowDir=-1);
盈利L:=(損HL-進價)*NowDir;
if (損HL-進價)*NowDir<=-損控點數 then begin
多空:=0; 累停損次:=累停損次+1; //停損
RecDO[i]:=NowDir*5;
end else if Max盈>=61 then begin
if 黑五[i] or 盈利L<Max盈*0.75 then begin
多空:=0; RecDO[i]:=NowDir*2;
end;
end else if Max盈>=41 then begin
if 盈利L<=Max盈*0.4 then begin
多空:=0; RecDO[i]:=NowDir*2;
end else if 盈利L<=Max盈*0.7 and PreTN<>0.7 then begin
多空:=多空-NowDir; PreTN:=0.7; RecDO[i]:=NowDir*3;
end;
end else if Max盈>=21 then begin
if 盈利L<=Max盈-32 then begin
多空:=0; RecDO[i]:=NowDir*2;
end else if 盈利L<Max盈-16 and PreTN<>16 then begin
多空:=多空-NowDir; PreTN:=16; RecDO[i]:=NowDir*3;
end;
end;
盈利H:=(盈HL-進價)*NowDir;
if 盈利H>Max盈 then Max盈:=盈利H;
end;
end;
DoBS[i]:=多空;
end;
引用:
最初由 cgjj 發表
以 RecDO 數列, 來另外記錄前面提的需求
原碼:
StDoTime:=085000;
多進:=多進 and time>=StDoTime or barpos=0;
空進:=空進 and time>=StDoTime or barpos=0;
進場:=多進-空進;
強出:=time>=133500;
限進:=time>=131000;
限停損次:=2; //每日
損控點數:=18;
黑五:=sum(C<O,5)=5;
OO:=O; CC:=C; HH:=H; LL:=L;
StDE:=barpos=1 or time=StDoTime;
DoBS:C*0 NOAXIS; RecDO:C*0 linethick;
多空:=0; //1.多 -1.空 0.無
for i=1 to datacount do begin
if StDE[i] then begin
累停損次:=0; WaitBS:=0;
end;
if 多空=0 and 強出[i]=0 and 限進[i]=0 and 累停損次<限停損次 then begin
if WaitBS=0 or WaitBS=進場[i] then begin
多空:=進場[i]*2;
if 多空<>0 then begin
進價:=OO[i]; Max盈:=0; PreTN:=0; WaitBS:=-SGN(多空);
RecDO[i]:=SGN(多空);
end;
end;
end else if 多空<>0 then begin
NowDir:=SGN(多空);
if 強出[i] then begin
多空:=0; RecDO[i]:=NowDir*6;
end else if NowDir=-進場[i] then begin
多空:=-NowDir*2*(限進[i]=0); //反手
if 多空<>0 then begin
進價:=OO[i]; Max盈:=0; PreTN:=0; WaitBS:=-SGN(多空);
RecDO[i]:=-NowDir*4;
end;
end else begin
損HL:=LL[i]*(NowDir=1)+HH[i]*(NowDir=-1);
盈HL:=HH[i]*(NowDir=1)+LL[i]*(NowDir=-1);
盈利L:=(損HL-進價)*NowDir;
if (損HL-進價)*NowDir<=-損控點數 then begin
多空:=0; 累停損次:=累停損次+1; //停損
RecDO[i]:=NowDir*5;
end else if Max盈>=61 then begin
if 黑五[i] or 盈利L<Max盈*0.75 then begin
多空:=0; RecDO[i]:=NowDir*2;
end;
end else if Max盈>=41 then begin
if 盈利L<=Max盈*0.4 then begin
多空:=0; RecDO[i]:=NowDir*2;
end else if 盈利L<=Max盈*0.7 and PreTN<>0.7 then begin
多空:=多空-NowDir; PreTN:=0.7; RecDO[i]:=NowDir*3;
end;
end else if Max盈>=21 then begin
if 盈利L<=Max盈-32 then begin
多空:=0; RecDO[i]:=NowDir*2;
end else if 盈利L<Max盈-16 and PreTN<>16 then begin
多空:=多空-NowDir; PreTN:=16; RecDO[i]:=NowDir*3;
end;
end;
盈利H:=(盈HL-進價)*NowDir;
if 盈利H>Max盈 then Max盈:=盈利H;
end;
end;
DoBS[i]:=多空;
end;
不好意思,再記一次缺點!是我沒講清楚。
關於:
----------------------------------------------------------------------------------------------------------------
4.若盈利 61點以上:
如果:回檔 25% 或 連續五根黑K 出清所有多單,空手等待反轉訊號。
----------------------------------------------------------------------------------------------------------------
所謂連續五根黑K指的是 在作多情況下逆轉向下時出現連續五根黑K之意。
若是作空,則應該改為連續五根紅K才對,我在條件描述中沒說清楚甚感抱歉。
這一部份我想再做一個小修正:
若是黑K:除了全部是黑K之外還要 5<3<1 (越走越低)
若是紅K:除了全部是紅K之外還要 5>3>1 (越走越高)
以上就麻煩 總版主幫忙修正,多謝!
引用:
最初由 co2 發表
不好意思,再記一次缺點!是我沒講清楚。
關於:
----------------------------------------------------------------------------------------------------------------
4.若盈利 61點以上:
如果:回檔 25% 或 連續五根黑K 出清所有多單,空手等待反轉訊號。
----------------------------------------------------------------------------------------------------------------
所謂連續五根黑K指的是 在作多情況下逆轉向下時出現連續五根黑K之意。
若是作空,則應該改為連續五根紅K才對,我在條件描述中沒說清楚甚感抱歉。
引用:
最初由 co2 發表
這一部份我想再做一個小修正:
若是黑K:除了全部是黑K之外還要 5<3<1 (越走越低)
若是紅K:除了全部是紅K之外還要 5>3>1 (越走越高)
引用:
最初由 cgjj 發表
這部份讓您自己去改了![]()
只需動到 黑五 和 紅五 的條件定義即可
迴圈內的程式不需動到
回覆: 回覆: 回覆: 回覆: 求助 二口單交易
引用:
最初由 cgjj 發表
1.進場後盈利未達20點時:
(a)若回檔,設定賠 18 點(觸價)出場後空手,等待反轉訊號。
(b)若回檔即觸及反轉訊,平倉並反手二口。
2.盈利 21~40:
(a)設定進場後的高點回檔 16 點(觸價),先平一口單。
(b)若再回檔 16 點(觸價),則全部清倉空手,等待反轉訊號。
(c)若回檔即觸反轉訊,全部平倉並反手二口。
回覆: 回覆: 回覆: 回覆: 回覆: 求助 二口單交易
引用:
最初由 co2 發表
總版主,下午安!
觀察數日後,總覺得好像有點問題,不知我有沒有看錯?
當 條件1. 尚未滿足即回檔【 "(a)若回檔,設定賠 18 點(觸價)出場後空手"………】
這個 賠18 點的計算基礎,是以進場價為之,
舉例:若如 7000 作多,那麼 7020 即為 1. 的滿足點,若未達此價而回檔,即以7000-18=6982 為停損價位。
回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 求助 二口單交易
引用:
最初由 cgjj 發表
那一段程式, 無論是否為回檔
只要賠達18點就出場(與進場價比較)
注意:
1.進場價是開盤價
2.算賠:多是以L算, 空是以H算
判斷處理的式子為 (損HL-進價)*NowDir<=-損控點數
多損出 RedDO 為 5
空損出 RedDO 為 -5
回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 求助 二口單交易
引用:
最初由 co2 發表
原來如此,難怪我覺得每次的停損點有時會不一樣,看不懂式子真的很頭痛。
可是這樣一來,跟理想會有很大出入,您幫我完成的式子,經套用在我所使用的系統裡,當任何觸及買賣價格時
就會立即發出訊號並送單,即為觸價單做法,如果買賣價為觸價,而停損卻以高低價扣抵,這將造成很大誤差。
請問,有沒辦法做到以觸價為停損依据(即我的實際買進價),停利亦然。
另外,再回檔 (就是再創低之後的回檔) 的 RedDO 訊號好像有點不太對,應該是 RedDO =-2 ,而不是 RedDO =-3 ,因為這裡是要空手了。
謝謝您了,晚安。
回覆: 求助 二口單交易
引用:
最初由 cgjj 發表
盤中當根之 L 只會越來越低或保持原位不動
盤中當根之 H 只會越來越高或保持原位不動
只要價達到停損條件, 即使該K棒尚未終了
停損這訊號狀態是不會再變動的了
該根K棒最終之HL, 並非 "停損之出場價"
在該根停損訊號剛成立的那一刻就出場了
而非等到該根K棒行情終了才出場
程式是決定停損訊號, 並未決定停損之出場價
停損之出場價: 您要用HL去算, 或是用進場價-18點算
那是您後面接的程式算績效時自行去決定的
對於停損訊號處理而言, 應該並無誤差
…………………………
…………………………
回覆: 回覆: 求助 二口單交易
引用:
最初由 co2 發表
謝謝您,受教了,繼續學習中。
若有疑問當再上來請教您了。
總版主:
已煩 總版主這麼久,真的很過意不去,離功德圓滿只差臨門一腳,只好又來煩您囉。
俗話說得好:送佛送上天,幫人幫到底,正所謂能者多勞嘛。
本程式係以 "即時盤" 中 為檢測時機,非盤後回測看績效。前段多空條件採用狐友們經常討論之簡單的台指開盤前
五分鐘內之高、低為多空依据,作順勢單,突破進場,條件就這麼單純,所以其他一切盈虧損益就交給 版大的式
子來幫忙處理,若還需要在程式裡或後端再加油添醋,非個人能力所及,這是當初請求協助之初衷。
是不是在程式裡所有訊號之產生,都是基於當條件成立之當下瞬間所擊發,而無法抓取當時的價位?
因此,當需要取用觸發點之價位時,只能以已收盤當K之 O, H, L, C 取代。
若 無法取得實際 "進場價位" ,那麼請取消式子裡的 "損控點數" (條件 1.),可以的話,改用下列二選一處理。
(A) 已在前段增加二個條件:
1. 多停 (多停:=進場價-18; )
2. 空停 (空停:=進場價+18; )
增設二條多空停損線,請以 "多停"、"空停" 為停損價位。
(B) 取消 "條件1.",改為:若未達盈利 20 點目標,若遇反手訊號才停損並反手。
以上不知可行否?若可行,敬請幫忙修正。不情之請,尚祈見諒!
引用:
最初由 co2 發表
總版主:
已煩 總版主這麼久,真的很過意不去,離功德圓滿只差臨門一腳,只好又來煩您囉。
俗話說得好:送佛送上天,幫人幫到底,正所謂能者多勞嘛。
本程式係以 "即時盤" 中 為檢測時機,非盤後回測看績效。前段多空條件採用狐友們經常討論之簡單的台指開盤前
五分鐘內之高、低為多空依据,作順勢單,突破進場,條件就這麼單純,所以其他一切盈虧損益就交給 版大的式
子來幫忙處理,若還需要在程式裡或後端再加油添醋,非個人能力所及,這是當初請求協助之初衷。
是不是在程式裡所有訊號之產生,都是基於當條件成立之當下瞬間所擊發,而無法抓取當時的價位?
因此,當需要取用觸發點之價位時,只能以已收盤當K之 O, H, L, C 取代。
若 無法取得實際 "進場價位" ,那麼請取消式子裡的 "損控點數" (條件 1.),可以的話,改用下列二選一處理。
(A) 已在前段增加二個條件:
1. 多停 (多停:=進場價-18; )
2. 空停 (空停:=進場價+18; )
增設二條多空停損線,請以 "多停"、"空停" 為停損價位。
(B) 取消 "條件1.",改為:若未達盈利 20 點目標,若遇反手訊號才停損並反手。
以上不知可行否?若可行,敬請幫忙修正。不情之請,尚祈見諒!
引用:
最初由 cgjj 發表
……………………………………………
……………………………………………
觸發點之價位, 若想知道, 可以去算觸發成立所需達到之價
例如: 7018-18=7000, 7000就是達到停損條件成立之價
也就是實際在券商下單停損價會落在7000附近
……………………………………………
引用:
最初由 co2 發表
早安!感謝 總版主不厭其煩的詳細說明。
我要的就是這個:
用取得的 "多進" 條件觸發時買進價位,並定義為:買進價
用取得的 "空進" 條件觸發時賣出價位,並定義為:賣出價
以之作為多空觸發點價位為盈虧運算之依据,至少在 "1. 項" 的停損處理上可以做到。
※特別說明:這兩個不能直接用來當作買賣訊,因為買賣訊還有其他條件存在。
其他的就不再嚕嗦,若尚有不明處,請再賜教,麻煩你啦。
引用:
最初由 co2 發表
關於:1.進場價是以收盤(等於是下一根開盤進場)......
關於:1.進場價是以收盤(等於是下一根開盤進場)......
原來是這一句惹的禍,當時沒注意,我答錯了。
一直以來,我都一再重覆提到 "觸價" 這個字眼,沒想到一時大意,造成不必要的麻煩,個人深感愧疚,謹致歉意。
這個問題就到此結束吧!太累了。
感謝您喔!
引用:
最初由 co2 發表
關於:1.進場價是以收盤(等於是下一根開盤進場)......
原來是這一句惹的禍,當時沒注意,我答錯了。
一直以來,我都一再重覆提到 "觸價" 這個字眼,沒想到一時大意,造成不必要的麻煩,個人深感愧疚,謹致歉意。
這個問題就到此結束吧!太累了。
感謝您喔!
引用:
最初由 cgjj 發表
…………………………………………………………………
…………………………………………………………………
…………………………………………………………………
損HL:=LL[i]*(NowDir=1)+HH[i]*(NowDir=-1);
盈HL:=HH[i]*(NowDir=1)+LL[i]*(NowDir=-1);
盈利L:=(損HL-進價)*NowDir;
if (損HL-進價)*NowDir<=-損控點數 then begin
多空:=0; 累停損次:=累停損次+1; //停損
RecDO[i]:=NowDir*5;
…………………………………………………………………
…………………………………………………………………
引用:
最初由 co2 發表
還是不死心,再來煩您囉!
多謝 總版主指導,找了半天也不知道要改那裡?
經過多方嚐試,將下列這一段 盈利L:=(損HL-進價)*NowDir;
的 "進價" 改為想要的 "賣出價",
再經過一番檢查,感覺好像還有點像!
損HL:=LL[i]*(NowDir=1)+HH[i]*(NowDir=-1);
盈HL:=HH[i]*(NowDir=1)+LL[i]*(NowDir=-1);
盈利L:=(損HL-進價)*NowDir;
if (損HL-賣出價[i])*NowDir<=-損控點數 then begin
多空:=0; 累停損次:=累停損次+1; //停損
RecDO[i]:=NowDir*5;
請問 總版主,這樣改正確嗎?因為只能針對特定位置檢查,
不知會不會影響到整體結構?
這一部份只是空方的,如果正確的話,那還少一樣東西,就是
多方使用的 "買進價" ,我搞不定它,要再麻煩您大大您指導了。
引用:
最初由 cgjj 發表
先將這行
OO:=O; CC:=C; HH:=H; LL:=L;
改為
CC:=C; HH:=H; LL:=L;
進做價:=if(多進,買進價,if(空進,賣出價,0));
再將迴圈中的
進價:=OO[i];
改為
進價:=進做價[i];
註:迴圈內共有兩個地方要改
向 總版主回報:
目前測試OK,非常滿意,若有疑問當再來向 您請益。
多謝,再感謝。
引用:
最初由 co2 發表
向 總版主回報:
目前測試OK,非常滿意,若有疑問當再來向 您請益。
多謝,再感謝。
^^
[QUOTE]最初由 cgjj 發表
[B]
原碼:
StDoTime:=085000;
多進:=多進 and time>=StDoTime or barpos=0;
空進:=空進 and time>=StDoTime or barpos=0;
進場:=多進-空進;
強出:=time>=133500;
限進:=time>=131000;
限停損次:=2; //每日
損控點數:=18;
黑五:=sum(C<O,5)=5;
OO:=O; CC:=C; HH:=H; LL:=L;
StDE:=barpos=1 or time=StDoTime;
DoBS:C*0 NOAXIS;
多空:=0; //1.多 -1.空 0.無
for i=1 to datacount do begin
if StDE[i] then 累停損次:=0;
if 多空=0 and 強出[i]=0 and 限進[i]=0 and 累停損次<限停損次 then begin
多空:=進場[i]*2;
if 多空<>0 then begin
進價:=OO[i]; Max盈:=0; PreTN:=0;
end;
end else if 多空<>0 then begin
NowDir:=SGN(多空);
if 強出[i] then begin
多空:=0;
end else if NowDir=-進場[i] then begin
多空:=-NowDir*2*(限進[i]=0); //反手
if 多空<>0 then begin
進價:=OO[i]; Max盈:=0; PreTN:=0;
end;
end else begin
損HL:=LL[i]*(NowDir=1)+HH[i]*(NowDir=-1);
盈HL:=HH[i]*(NowDir=1)+LL[i]*(NowDir=-1);
盈利L:=(損HL-進價)*NowDir;
if (損HL-進價)*NowDir<=-損控點數 then begin
多空:=0; 累停損次:=累停損次+1; //停損
end else if Max盈>=61 then begin
if 黑五[i] or 盈利L<Max盈*0.75 then 多空:=0;
end else if Max盈>=41 then begin
if 盈利L<=Max盈*0.4 then begin
多空:=0;
end else if 盈利L<=Max盈*0.7 and PreTN<>0.7 then begin
多空:=多空-NowDir; PreTN:=0.7;
end;
end else if Max盈>=21 then begin
if 盈利L<=Max盈-32 then begin
多空:=0;
end else if 盈利L<Max盈-16 and PreTN<>16 then begin
多空:=多空-NowDir; PreTN:=16;
end;
end;
盈利H:=(盈HL-進價)*NowDir;
if 盈利H>Max盈 then Max盈:=盈利H;
end;
end;
DoBS[i]:=多空;
end;
引用:
最初由 co2 發表
總版主您好!
經過一段時間試用,發現有一點不甚理想之處,因此再來求教:
是關於:"限停損次:=2; //每日" 的問題
想改成:每日限制交易次數(二次),來回算一次(進場之後反手即算一次),
這樣在實際操作上比較合乎現實要求。謝謝您!
引用:
最初由 cgjj 發表
您帶入的多空訊號必定是正反輪換延續嗎? 例如:
多進,空進,多進,空進,多進,空進,多進,空進 .... 共四次
空進,多進,空進,多進,空進,多進 .... 共三次
多進,多停,空進,多進,空進,空停,多進,空進 ........ 共三次
若非正反輪換, 則您要如何算? 例如:
多進,空進,多進,多停,多進,空進,多進,空進,空停,多進,空進 ...算幾次?
引用:
最初由 co2 發表
總版主您好!
經過一段時間試用,發現有一點不甚理想之處,因此再來求教:
是關於:"限停損次:=2; //每日" 的問題
想改成:每日限制交易次數(二次),來回算一次(進場之後反手即算一次),
這樣在實際操作上比較合乎現實要求。謝謝您!
引用:
最初由 co2 發表
早安!
抱歉,怱忙中忘了提,這個式子我土法煉鋼已經簡化改為一口單,正在
測試中,因為有些點位不會很快出現,所以正確與否尚在觀察中。
我的作法大致如下:
1. 開盤後若先有多訊:則 多、空、多、空………循環作單,一多一空就是交易一次。
或先有空訊:則 空、多、空、多………循環作單,一空一多也是交易一次。
2. 不論作多或作空,遇 "停利點" 則平倉空手,此一來回即視為限制交易次數的 "一次"。
停利後如果沒有超過限制交易次數的話,就等待 "反向" 作單機會。
3. 改成一口單後已暫時將 "停損" 關閉 (放大損控點數至9999),
所以 "反手點" 等於是 "停損點" 。
4. 若作單後一路順風,則時間到【強出】平倉空手。
補充說明如上,當中若有不妥,請不吝賜教指正。
原碼:
StDoTime:=085000;
多進:=多進 and time>=StDoTime or barpos=0;
空進:=空進 and time>=StDoTime or barpos=0;
進場:=多進-空進;
強出:=time>=133500;
限進:=time>=131000;
限制趟數:=2; //每日
損控點數:=18;
黑五:=sum(C<O,5)=5;
OO:=O; CC:=C; HH:=H; LL:=L;
StDE:=barpos=1 or time=StDoTime;
DoBS:C*0 NOAXIS;
多空:=0; //1.多 -1.空 0.無
for i=1 to datacount do begin
if StDE[i] then begin
累計趟數:=0; RecChgDir:=0;
end;
if 多空=0 and 強出[i]=0 and 限進[i]=0 and 累計趟數<限制趟數 then begin
多空:=進場[i]*2;
if 多空<>0 then begin
進價:=OO[i]; Max盈:=0; PreTN:=0; NowDir:=SGN(多空);
if RecChgDir=0 then begin
RecChgDir:=NowDir;
end else if RecChgDir=-NowDir then begin
累計趟數:=累計趟數+1; RecChgDir:=0;
end;
end;
end else if 多空<>0 then begin
NowDir:=SGN(多空);
if 強出[i] then begin
多空:=0;
end else if NowDir=-進場[i] then begin
多空:=-NowDir*2*(限進[i]=0 and 累計趟數<限制趟數); //反手
if 多空<>0 then begin
進價:=OO[i]; Max盈:=0; PreTN:=0;
if RecChgDir=0 then begin
RecChgDir:=SGN(多空);
end else if RecChgDir=-SGN(多空) then begin
累計趟數:=累計趟數+1; RecChgDir:=0;
end;
end;
end else begin
損HL:=LL[i]*(NowDir=1)+HH[i]*(NowDir=-1);
盈HL:=HH[i]*(NowDir=1)+LL[i]*(NowDir=-1);
盈利L:=(損HL-進價)*NowDir;
if (損HL-進價)*NowDir<=-損控點數 then begin
多空:=0; //停損
end else if Max盈>=61 then begin
if 黑五[i] or 盈利L<Max盈*0.75 then 多空:=0;
end else if Max盈>=41 then begin
if 盈利L<=Max盈*0.4 then begin
多空:=0;
end else if 盈利L<=Max盈*0.7 and PreTN<>0.7 then begin
多空:=多空-NowDir; PreTN:=0.7;
end;
end else if Max盈>=21 then begin
if 盈利L<=Max盈-32 then begin
多空:=0;
end else if 盈利L<Max盈-16 and PreTN<>16 then begin
多空:=多空-NowDir; PreTN:=16;
end;
end;
盈利H:=(盈HL-進價)*NowDir;
if 盈利H>Max盈 then Max盈:=盈利H;
end;
end;
DoBS[i]:=多空;
end;
早安!
多謝,套用測試中,有結果再回報。
請問:
1. 輸出表達式可以用類似以下的方式表達嗎?
//[進出] 這變數值代表意義如下:
//1.多單進場, 2.多單出場, 3.多控利出, 4.多控損出, 5.強制出場, 6.空出轉多
//-1.空單進場,-2.空單出場,-3.空控利出, -4.空控損出, -5.強制出場, -6.多出轉空
※若可簡化則簡化之。
2. 當停利後隔筆好像同向的訊號又再出現(如:作多盈出後下一根又出現多訊)。
以上為初步發現的小問題,其餘則等收盤後再研究。謝謝!
引用:
最初由 co2 發表
請問:
2. 當停利後隔筆好像同向的訊號又再出現(如:作多盈出後下一根又出現多訊)。
引用:
最初由 cgjj 發表
DoBS 變數
其為該根動作完成後所持有的口數, 本身不是代表進場訊
若非誤看
請幫忙確認一下, 原始訊號是不是一正一反?
還是有 多多空多空空多 類似這種情況
若是用兩條線交叉去做正反, 應該不會如此唷
除非您是用 A>B 和 A<B 類似這種去做訊號
引用:
最初由 co2 發表
了解,原來 DoBS 是持有的口數而不是進場訊。
我目前使用的原始訊號就是當許多條件都成立時才產生(成立時就是 =1 )
※我想用這樣來說明應該比較清楚:
多訊:= if(條件A and 條件B and 條件C and 條件D,1,0) ;
空訊:= if(條件A and 條件B and 條件C and 條件D,1,0);
簡單的說,就是作多後就等著有空訊再反空或者是停利、停損。
這套用在您的範例式子裡就類似:進出:= 多訊-空訊;
不知道這樣是否適合您現在所示範的式子?
※若只要作一口單,修改那一部份最簡單。
了解,再研究囉。謝謝。
全部時間均為台灣時間, 現在時間為21:16 | 在這個頁面顯示本主題全部的 57 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.