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

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- [問題]請問版主,兩策略合併寫在一K線圖的問題 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=16073)


由 ZHACK 在 2011-09-20 23:32 發表:

[問題]請問版主,兩策略合併寫在一K線圖的問題

如果我有兩策略A,B
想寫在同一個技術指標中
但是A進場後 只有A出場訊號出現才能出場
若是B出場訊號先出現 就不出場

同理B進場後也只有B出場訊號才能出場

請問該怎麼寫呢?
ENTERLONG1:A多進
EXITLONG1:A多出
ENTERSHORT1:A空進
EXITSHORT1:A空出

ENTERLONG2:B多進
EXITLONG2:B多出
ENTERSHORT2:B空進
EXITSHORT2:B空出

兩者合併
ENTERLONG:A多進 or B多進
EXITLONG:B多出 if B多進
A多出 if A多進
ENTERSHORT:A空進 or B空進
EXITSHORT:A空出 if A空進
B空出 if B空進


由 cgjj 在 2011-09-21 09:41 發表:

回覆: [問題]請問版主,兩策略合併寫在一K線圖的問題

引用:
最初由 ZHACK 發表
如果我有兩策略A,B
想寫在同一個技術指標中
但是A進場後 只有A出場訊號出現才能出場
若是B出場訊號先出現 就不出場

同理B進場後也只有B出場訊號才能出場

請問該怎麼寫呢?
ENTERLONG1:A多進
EXITLONG1:A多出
ENTERSHORT1:A空進
EXITSHORT1:A空出

ENTERLONG2:B多進
EXITLONG2:B多出
ENTERSHORT2:B空進
EXITSHORT2:B空出

兩者合併
ENTERLONG:A多進 or B多進
EXITLONG:B多出 if B多進
A多出 if A多進
ENTERSHORT:A空進 or B空進
EXITSHORT:A空出 if A空進
B空出 if B空進



以處理多方為例, 做法如下:
原碼:

//前面接您原來公式
A多進:=A多進 or barpos=0;
A多出:=A多出 or barpos=0;
B多進:=B多進 or barpos=0;
B多出:=B多出 or barpos=0;
UMode:=0DoBS:C*0;
for 
i=1 to datacount do begin  
  
if A多進[i] and UMode=0 then begin
    UMode
:=1DoBS[i]:=1;
  
end else if B多進[i] and UMode=0 then begin
    UMode
:=2DoBS[i]:=3;
  
end else if A多出[i] and UMode=1 then begin
    UMode
:=0DoBS[i]:=2;
  
end else if B多出[i] and UMode=2 then begin
    UMode
:=0DoBS[i]:=4;
  
end;
end;
ENTERLONGDoBS=or DoBS=3;
EXITLONGDoBS=or DoBS=4;


由 ZHACK 在 2011-09-21 20:42 發表:

回覆: [問題]請問版主,兩策略合併寫在一K線圖的問題

引用:
最初由 ZHACK 發表
如果我有兩策略A,B
想寫在同一個技術指標中
但是A進場後 只有A出場訊號出現才能出場
若是B出場訊號先出現 就不出場

同理B進場後也只有B出場訊號才能出場

請問該怎麼寫呢?
ENTERLONG1:A多進
EXITLONG1:A多出
ENTERSHORT1:A空進
EXITSHORT1:A空出

ENTERLONG2:B多進
EXITLONG2:B多出
ENTERSHORT2:B空進
EXITSHORT2:B空出

兩者合併
ENTERLONG:A多進 or B多進
EXITLONG:B多出 if B多進
A多出 if A多進
ENTERSHORT:A空進 or B空進
EXITSHORT:A空出 if A空進
B空出 if B空進



請問版主
這樣跑出來是OK了
但是如果以做多為例
我想要的策略是A,B隨時出現"多進"時都可以進場(有點像加碼單)
但是A,B"多出"時是分別依據A,B"多進"後才出場該怎麼處理
謝謝


由 cgjj 在 2011-09-22 09:28 發表:

回覆: 回覆: [問題]請問版主,兩策略合併寫在一K線圖的問題

引用:
最初由 ZHACK 發表
請問版主
這樣跑出來是OK了
但是如果以做多為例
我想要的策略是A,B隨時出現"多進"時都可以進場(有點像加碼單)
但是A,B"多出"時是分別依據A,B"多進"後才出場該怎麼處理
謝謝



規則
1. A,B隨時出現"多進"時都可以進場
2. A,B"多出"時是分別依據A,B"多進"後才出場

A進=>B進=>B出=>A出   <=== 理想上
A進=>B進=>A出=>B出   <=== 遇此狀況您要如何出場呢?

更複雜的狀況:
A進=>B進=>A進=>A出=>B出=>A出   <=== 理想上
A進=>B進=>A進=>B出=>A出=>A出   <=== 遇此狀況您要如何出場呢?


由 wprvincent 在 2011-09-27 11:18 發表:

回覆: 回覆: [問題]請問版主,兩策略合併寫在一K線圖的問題

引用:
最初由 cgjj 發表
以處理多方為例, 做法如下:
原碼:

//前面接您原來公式
A多進:=A多進 or barpos=0;
A多出:=A多出 or barpos=0;
B多進:=B多進 or barpos=0;
B多出:=B多出 or barpos=0;
UMode:=0DoBS:C*0;
for 
i=1 to datacount do begin  
  
if A多進[i] and UMode=0 then begin
    UMode
:=1DoBS[i]:=1;
  
end else if B多進[i] and UMode=0 then begin
    UMode
:=2DoBS[i]:=3;
  
end else if A多出[i] and UMode=1 then begin
    UMode
:=0DoBS[i]:=2;
  
end else if B多出[i] and UMode=2 then begin
    UMode
:=0DoBS[i]:=4;
  
end;
end;
ENTERLONGDoBS=or DoBS=3;
EXITLONGDoBS=or DoBS=4;




版主請問一下:
為什麼要寫成迴圈? 程式不是會從第一根k棒開始自己判斷嗎?謝謝~


由 cgjj 在 2011-09-27 16:42 發表:

回覆: 回覆: 回覆: [問題]請問版主,兩策略合併寫在一K線圖的問題

引用:
最初由 wprvincent 發表
版主請問一下:
為什麼要寫成迴圈? 程式不是會從第一根k棒開始自己判斷嗎?謝謝~



以此例來說比較適合用迴圈來處理(也比較靈活)


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


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

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