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

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


由 L0123 在 2009-10-24 00:47 發表:

[求救]當沖公式寫法[多空交易範例]

請版大協助指導謝謝!!

五分K的週期:
ACK0:=TIME>=133501 or BARPOS=0; //尾盤不留單,強制出場。
AB01:=條件一 or條件二; //多進。
ABZ1:=條件三 or條件四; //多停利觸價出場,出場後保持0倉位,必須等多進或空進條件。
ABZ2:=條件五 or條件六; //多控損觸價出場,出場後保持0倉位,必須等多進或空進條件。
AS01:=條件七 or條件八; //空進。
ASZ1:=條件九 or條件十; //空停利觸價出場,出場後保持0倉位,必須等多進或空進條件。
ASZ2:=條件十一 or條件十二; //空控損觸價出場,出場後保持0倉位,必須等多進或空進條件。

註明﹕
【多出】的條件 (1)ABZ1 (2)ABZ2 (3)AS01 (4)ACK0
【空出】的條件 (1)ASZ1 (2)ASZ2 (3)AB01 (4)ACK0


由 cgjj 在 2009-10-25 21:29 發表:

回覆: [求救]當沖公式寫法

引用:
最初由 L0123 發表
請版大協助指導謝謝!!

五分K的週期:
ACK0:=TIME>=133501 or BARPOS=0; //尾盤不留單,強制出場。
AB01:=條件一 or條件二; //多進。
ABZ1:=條件三 or條件四; //多停利觸價出場,出場後保持0倉位,必須等多進或空進條件。
ABZ2:=條件五 or條件六; //多控損觸價出場,出場後保持0倉位,必須等多進或空進條件。
AS01:=條件七 or條件八; //空進。
ASZ1:=條件九 or條件十; //空停利觸價出場,出場後保持0倉位,必須等多進或空進條件。
ASZ2:=條件十一 or條件十二; //空控損觸價出場,出場後保持0倉位,必須等多進或空進條件。

註明﹕
【多出】的條件 (1)ABZ1 (2)ABZ2 (3)AS01 (4)ACK0
【空出】的條件 (1)ASZ1 (2)ASZ2 (3)AB01 (4)ACK0



您的條件會不會有, 多方持單和空方持單, 相互重疊的區域?

也就是說
在多方持單的情況下, 若遇 [空進] 訊號, 多方要出場嗎?

答: Yes
則反手做空,

答: No
一種選擇為: 忽略本次 [空進] 訊號 (多空不會重疊區域)
另一種選擇為: 多方仍持單, 空方也進場 (多空會有重疊區域,避險)


由 L0123 在 2009-10-26 14:28 發表:

回覆: 回覆: [求救]當沖公式寫法

引用:
最初由 cgjj 發表
您的條件會不會有, 多方持單和空方持單, 相互重疊的區域?

也就是說
在多方持單的情況下, 若遇 [空進] 訊號, 多方要出場嗎?

答: Yes
則反手做空,

答: No
一種選擇為: 忽略本次 [空進] 訊號 (多空不會重疊區域)
另一種選擇為: 多方仍持單, 空方也進場 (多空會有重疊區域,避險)



Yes
同一根K棒會做停損或反手作空。

很感恩 版大願意協助指導。


由 cgjj 在 2009-10-26 17:36 發表:

原碼:

強出
:=ACK0 or barpos=0;
多進:=AB01 or barpos=0;
多出1:=ABZ1 or barpos=0;
多出2:=ABZ2 or barpos=0;
空進:=AS01 or barpos=0;
空出1:=ASZ1 or barpos=0;
空出2:=ASZ1 or barpos=0;

進出:C*0
多空:=0//1.多 -1.空 0.無
for 1 to datacount do begin
  
if 多空=and 強出[i]=0 then begin
    多空
:=多進[i]-空進[i]; 進出[i]:=多空;
  
end else if 多空<>0 then begin
    
if 強出[ithen begin
      進出
[i]:=多空*4多空:=0;
    
end else begin
      
if 多空=多出1[i] or 多空=-空出1[ithen begin
        進出
[i]:=多空*2多空:=0;
      
end else if 多空=多出2[i] or 多空=-空出2[ithen begin
        進出
[i]:=多空*3多空:=0;
      
end else if 多空=空進[i] or 多空=-多進[ithen begin
        進出
[i]:=多空*5多空:=-多空;
      
end;
    
end;
  
end;
end;



[進出] 這變數值代表意義如下:
1.多進, 2.多停利, 3.多控損, 4.多強制 5.多轉空
-1.空進, -2.空停利, -3.空控損, -4.空強制 -5.空轉多

//關鍵字:交易系統範例


由 L0123 在 2009-10-26 18:57 發表:

偶套用試試看。
這程式架構相信很多狐友都可套用 謝謝總版主,辛苦您了,感恩喔!!!


由 cgjj 在 2009-10-26 18:59 發表:

引用:
最初由 L0123 發表
偶套用試試看。
這程式架構相信很多狐友都可套用 謝謝總版主,辛苦您了,感恩喔!!!



不客氣!
我剛又把程式簡化了一些, 您再重抓一次


由 L0123 在 2009-10-27 01:38 發表:

親愛的總版主:
正在套用測試中,想將[進出] 這變數值【5.多轉空 改為 -5.多轉空】 及 【-5.空轉多 改為 5. 空轉多】。再麻煩 總版主費神,拜託。

原碼如下﹕
[進出] 這變數值代表意義如下:
1.多進, 2.多停利, 3.多控損, 4.多強制 5.多轉空 // 改成 5.空轉多
-1.空進, -2.空停利, -3.空控損, -4.空強制 -5.空轉多 // 改成 -5.多轉空


由 cgjj 在 2009-10-27 11:17 發表:

引用:
最初由 L0123 發表
親愛的總版主:
正在套用測試中,想將[進出] 這變數值【5.多轉空 改為 -5.多轉空】 及 【-5.空轉多 改為 5. 空轉多】。再麻煩 總版主費神,拜託。

原碼如下﹕
[進出] 這變數值代表意義如下:
1.多進, 2.多停利, 3.多控損, 4.多強制 5.多轉空 // 改成 5.空轉多
-1.空進, -2.空停利, -3.空控損, -4.空強制 -5.空轉多 // 改成 -5.多轉空




進出[i]:=多空*5;

改為
進出[i]:=-多空*5;

就可囉


由 L0123 在 2009-10-27 14:07 發表:

引用:
最初由 cgjj 發表

進出[i]:=多空*5;

改為
進出[i]:=-多空*5;

就可囉




3q 3q 3q


由 hwyhon 在 2010-01-02 01:34 發表:

為了讓速度加快不得不加緊腳步研讀奇狐的新語法
請教版主依此例


強出:=ACK0 or barpos=0;
多進:=AB01 or barpos=0;
多出1:=ABZ1 or barpos=0;
多出2:=ABZ2 or barpos=0;
空進:=AS01 or barpos=0;
空出1:=ASZ1 or barpos=0;
空出2:=ASZ1 or barpos=0;

若增改為

強出:=ACK0 or barpos=0;
多進:=多的條件 or barpos=0;;//多兩口
多出1:=賺50點 or barpos=0;//多先出一口
多出2:=賠50點 or barpos=0;//多先出一口
多出3:=多全出的條件 or barpos=0;//多全出
空進:=空的條件 or barpos=0;//空兩口
空出1:=賺50點 or barpos=0;//空先出一口
空出2:=賠50點 or barpos=0;//空先出一口
空出3:=空全出的條件 or barpos=0;//空全出
停利與停損觸價即成立
如何陳述
謝謝


由 阿酷 在 2010-01-02 10:13 發表:

小弟看了一下
版主的回覆用法,應該是以「收盤或下一根開盤時,就是C」作為進出價位;而不是以「觸價當時的價位喔」。
若是這樣針對「觸價停損、利」時,回測時就得注意了。
不知是否如此,有請版主解惑了。
祝均安

__________________
永遠學習、學習永遠
善為傳家寶
忍為積德門


由 hwyhon 在 2010-01-02 10:45 發表:

引用:
最初由 阿酷 發表
小弟看了一下
版主的回覆用法,應該是以「收盤或下一根開盤時,就是C」作為進出價位;而不是以「觸價當時的價位喔」。
若是這樣針對「觸價停損、利」時,回測時就得注意了。
不知是否如此,有請版主解惑了。
祝均安



出1出2請版主以H與L代入計算
多出1:=賺50點 or barpos=0;//H-多進>=50多先出一口
多出2:=賠50點 or barpos=0;//L-多進<=-50多先出一口
空出1空出2亦是
另強出與進場與條件3的出場則已自設條件為C收
回測再自行寫個式子
因此只要帶入回圈的算法正確回測不會有問題的啦


由 阿酷 在 2010-01-02 11:13 發表:

引用:
最初由 hwyhon 發表
版主代入應會以
多出1:=賺50點 or barpos=0;//H-多進>=50多先出一口
多出2:=賠50點 or barpos=0;//L-多進<=-50多先出一口
空出1空出2亦是
另強出與進場與條件3的出場則已自設條件
回測需再自行寫式子
因此只要帶入回圈的算法正確回測不會有問題的啦



hwyhon兄您好:
版主的方法,同我的不同,在先前我也有比對套入目前所使用的當沖策略,但發現「觸價的部份」有點問題。
我舉例:例如我們設停損為50點,作空時當盤中的H(高)造成進場價+50,就「觸價而言」這一瞬間「就應出場了」,但版主的範例,好像是以「這根K線的收盤價」來決定是否有「造成進場價+50」空單停損的條件,若C(收盤價)成立已損失「超過或等於50」點時,在下一根開盤價「才」進行所謂「進單」,這樣一來就不是「觸價了」,也會等於每次停損、利或是觸價的機制「都會超過50點」而不是「盤中超過50點」就「即時下單」。

以上是我的觀察,或是朋友您有引用套入版主的方法時,您在K線圖上比對、加減一下損益,可能就會發現此問題。

以上,還請解惑,祝均安。

__________________
永遠學習、學習永遠
善為傳家寶
忍為積德門


由 hwyhon 在 2010-01-02 11:24 發表:

此主題版主的回覆範例是正確的
是L0123兄沒將停利說明清楚
而您是誤解與誤套
當版主新起我新提的部份成為範例時您就不會有疑問了


由 阿酷 在 2010-01-02 12:36 發表:

引用:
最初由 hwyhon 發表
此主題版主的回覆範例是正確的
是L0123兄沒將停利說明清楚
而您是誤解與誤套
當版主新起我新提的部份成為範例時您就不會有疑問了


hwyhon兄您好:
您所提的以H、L代入是「正確的」
但,僅正確於提問者的「最初多空等件」,而版主的範例「後段」如下:
進出:C*0;

多空:=0; //1.多 -1.空 0.無

for i = 1 to datacount do begin

if 多空=0 and 強出[i]=0 then begin

多空:=多進[i]-空進[i]; 進出[i]:=多空;

end else if 多空<>0 then begin

if 強出[i] then begin

進出[i]:=多空*4; 多空:=0;

end else begin

if 多空=多出1[i] or 多空=-空出1[i] then begin

進出[i]:=多空*2; 多空:=0;

end else if 多空=多出2[i] or 多空=-空出2[i] then begin

進出[i]:=多空*3; 多空:=0;

end else if 多空=空進[i] or 多空=-多進[i] then begin

進出[i]:=多空*5; 多空:=-多空;

end;

end;

end;

這段裡的開頭:
進出:C*0;

進出:C*0;
這裡是用C(收盤價)下去代的
所以就您的前段套入正確的觸價(H、L)雖是正確,但後段的迴圈所跑出來就不同了,有套用的朋友們把點位相加減檢查一下就知正確與否了。
就這樣了,我也本著實事求是的想法,提醒一下朋友「再度確認、檢視」而已,必竟要知其所以然且寫程式系統,都要秉著細心檢驗的心態為之才行,交易不是兒戲,認真點總是必要的。

以上祝均安。

__________________
永遠學習、學習永遠
善為傳家寶
忍為積德門


由 hwyhon 在 2010-01-02 12:53 發表:

條件與策略不能亂套入的

我提的問題一些條件與迴圈判斷與主題差別很多
是必須有請版主重新造句的
新語法沒有辦不到的事
但版主的迴圈範例並不是用來亂套的
差之毫釐失去之千里
版主未回覆前就先別預設立場吧

__________________

就是發蓊梨(ㄛㄥˇ ㄌㄞˊ) 程式交易網站
[教學]指標公式及程式交易系統撰寫 [代工]

學會指標策略程式化的撰寫,將可讓你不再盲目投下辛苦賺來的血汗錢
要知道交易的策略或交易的模式長期執行下確實可獲利
交易才有意義的.否則寧可不交易



由 cgjj 在 2010-01-02 14:17 發表:

引用:
最初由 阿酷 發表
hwyhon兄您好:
......................................省略
這段裡的開頭:
進出:C*0;

進出:C*0;
這裡是用C(收盤價)下去代的
所以就您的前段套入正確的觸價(H、L)雖是正確,但後段的迴圈所跑出來就不同了,有套用的朋友們把點位相加減檢查一下就知正確與否了。
就這樣了,我也本著實事求是的想法,提醒一下朋友「再度確認、檢視」而已,必竟要知其所以然且寫程式系統,都要秉著細心檢驗的心態為之才行,交易不是兒戲,認真點總是必要的。

以上祝均安。



呵呵, 誤解大囉

進出:C*0; //這裡並非是用收盤價下去帶的唷

注意看 是 C*0 不是只有 C
這是為了取得一個與K棒同範圍的零值數列
例如K棒總用有 100 根
那麼 進出:C*0;
會得到一個 零值數列(共100根)
也就是說
進出[1]:=0;
進出[2]:=0;
 :
進出[100]:=0;

與收盤價無任何關係啦
只是借用它(收盤價)來創造與K棒同範圍的零值數列
因為 Close 這個數列範圍, 一定與K棒同範圍

公式僅跑這行, 一切就明白嚕
AA: C*0;

AA會是與K棒同範圍的零值數列

算是取巧的寫法啦


由 cgjj 在 2010-01-02 14:21 發表:

建議

不同策略的條件, 請另開主題發問吧
這樣比較不會讓人容易看的霧煞煞


由 阿酷 在 2010-01-02 17:02 發表:

引用:
最初由 cgjj 發表
呵呵, 誤解大囉

進出:C*0; //這裡並非是用收盤價下去帶的唷

注意看 是 C*0 不是只有 C
這是為了取得一個與K棒同範圍的零值數列
例如K棒總用有 100 根
那麼 進出:C*0;
會得到一個 零值數列(共100根)
也就是說
進出[1]:=0;
進出[2]:=0;
 :
進出[100]:=0;

與收盤價無任何關係啦
只是借用它(收盤價)來創造與K棒同範圍的零值數列
因為 Close 這個數列範圍, 一定與K棒同範圍

公試僅跑這行, 一切就明白嚕
AA: C*0;

AA會是與K棒同範圍的零值數列

算是取巧的寫法啦



cgjj版主您好:對不起我誤解了
那若是如hwyhon兄所說的以H、L帶入,配合您的範例,是有「盤中即時觸價」進出的效果嗎?
這是我的主要疑惑,請解惑非常謝謝您了。
祝均安。

__________________
永遠學習、學習永遠
善為傳家寶
忍為積德門


由 cgjj 在 2010-01-03 17:09 發表:

引用:
最初由 阿酷 發表
cgjj版主您好:對不起我誤解了
那若是如hwyhon兄所說的以H、L帶入,配合您的範例,是有「盤中即時觸價」進出的效果嗎?
這是我的主要疑惑,請解惑非常謝謝您了。
祝均安。



基本上與配不配合範例沒有關係

舉例來說, 當下這一根K棒尚未完成時:
此根K棒收盤價 Close 可能會上下震蕩
此根K棒最高價 High 則只會往上, 不會往下
此根K棒最低價 Low 則只會往下, 不會往上

換言之
若N值為固定不動的值, 則當下這一根K棒尚未完成時:
此根K棒 C>N 可能有時成立, 有時又不成立
此根K棒 H>N 一但成立, 就固定成立了, 不會中途變不成立
此根K棒 L<N 一但成立, 就固定成立了, 不會中途變不成立

評測有評測歷史的考量, 下單有下單當下的考量
規則決定一切結果, 也決定能否處理


由 阿酷 在 2010-01-03 18:16 發表:

引用:
最初由 cgjj 發表
基本上與配不配合範例沒有關係

舉例來說, 當下這一根K棒尚未完成時:
此根K棒收盤價 Close 可能會上下震蕩
此根K棒最高價 High 則只會往上, 不會往下
此根K棒最低價 Low 則只會往下, 不會往上

換言之
若N值為固定不動的值, 則當下這一根K棒尚未完成時:
此根K棒 C>N 可能有時成立, 有時又不成立
此根K棒 H>N 一但成立, 就固定成立了, 不會中途變不成立
此根K棒 L<N 一但成立, 就固定成立了, 不會中途變不成立

評測有評測歷史的考量, 下單有下單當下的考量
規則決定一切結果, 也決定能否處理



謝謝版主說明:
您說的重點我都清楚
容我舉例說明:
最初由 L0123 發表
請版大協助指導謝謝!!

五分K的週期:
ACK0:=TIME>=133501 or BARPOS=0; //尾盤不留單,強制出場。
AB01:=條件一 or條件二; //多進。
ABZ1:=條件三 or條件四; //多停利觸價出場,出場後保持0倉位,必須等多進或空進條件。
ABZ2:=條件五 or條件六; //多控損觸價出場,出場後保持0倉位,必須等多進或空進條件。
AS01:=條件七 or條件八; //空進。
ASZ1:=條件九 or條件十; //空停利觸價出場,出場後保持0倉位,必須等多進或空進條件。
ASZ2:=條件十一 or條件十二; //空控損觸價出場,出場後保持0倉位,必須等多進或空進條件。
強出:=ACK0 or barpos=0;

多進:=AB01 or barpos=0;

多出1:=ABZ1 or barpos=0;

多出2:=ABZ2 or barpos=0;

空進:=AS01 or barpos=0;

空出1:=ASZ1 or barpos=0;

空出2:=ASZ1 or barpos=0;



進出:C*0;

多空:=0; //1.多 -1.空 0.無

for i = 1 to datacount do begin

if 多空=0 and 強出[i]=0 then begin

多空:=多進[i]-空進[i]; 進出[i]:=多空;

end else if 多空<>0 then begin

if 強出[i] then begin

進出[i]:=多空*4; 多空:=0;

end else begin

if 多空=多出1[i] or 多空=-空出1[i] then begin

進出[i]:=多空*2; 多空:=0;

end else if 多空=多出2[i] or 多空=-空出2[i] then begin

進出[i]:=多空*3; 多空:=0;

end else if 多空=空進[i] or 多空=-多進[i] then begin

進出[i]:=多空*5; 多空:=-多空;

end;

end;

end;

end;

以上是網友最先請教之問題,加上版主您接續的解答。
那我的問題是:
若:ABZ1或ABZ2或ASZ1或ASZ2這四個條件中都有「觸價」的條件設定,而版主您最後的答覆,此根K棒 H>N 一但成立, 就固定成立了, 不會中途變不成立
此根K棒 L<N 一但成立, 就固定成立了, 不會中途變不成立;意思是說若我把ABZ1或ABZ2或ASZ1或ASZ2這四個地方都以H、L來突過、跌破「固定數值例50點」的停損、利值,「再來」配合套入您的回覆
進出:C*0;

多空:=0; //1.多 -1.空 0.無

for i = 1 to datacount do begin

if 多空=0 and 強出[i]=0 then begin

多空:=多進[i]-空進[i]; 進出[i]:=多空;

end else if 多空<>0 then begin

if 強出[i] then begin

進出[i]:=多空*4; 多空:=0;

end else begin

if 多空=多出1[i] or 多空=-空出1[i] then begin

進出[i]:=多空*2; 多空:=0;

end else if 多空=多出2[i] or 多空=-空出2[i] then begin

進出[i]:=多空*3; 多空:=0;

end else if 多空=空進[i] or 多空=-多進[i] then begin

進出[i]:=多空*5; 多空:=-多空;

end;

end;

end;

end;
這段以後,就可以有「觸價」的功能了嗎?
以上再度打擾,請見諒。
祝均安。

__________________
永遠學習、學習永遠
善為傳家寶
忍為積德門


由 cgjj 在 2010-01-03 18:40 發表:

引用:
最初由 阿酷 發表
謝謝版主說明:
您說的重點我都清楚
容我舉例說明:
最初由 L0123 發表
請版大協助指導謝謝!!

五分K的週期:
ACK0:=TIME>=133501 or BARPOS=0; //尾盤不留單,強制出場。
AB01:=條件一 or條件二; //多進。
ABZ1:=條件三 or條件四; //多停利觸價出場,出場後保持0倉位,必須等多進或空進條件。
ABZ2:=條件五 or條件六; //多控損觸價出場,出場後保持0倉位,必須等多進或空進條件。
AS01:=條件七 or條件八; //空進。
ASZ1:=條件九 or條件十; //空停利觸價出場,出場後保持0倉位,必須等多進或空進條件。
ASZ2:=條件十一 or條件十二; //空控損觸價出場,出場後保持0倉位,必須等多進或空進條件。
強出:=ACK0 or barpos=0;

多進:=AB01 or barpos=0;

多出1:=ABZ1 or barpos=0;

多出2:=ABZ2 or barpos=0;

空進:=AS01 or barpos=0;

空出1:=ASZ1 or barpos=0;

空出2:=ASZ1 or barpos=0;



進出:C*0;

多空:=0; //1.多 -1.空 0.無

for i = 1 to datacount do begin

if 多空=0 and 強出[i]=0 then begin

多空:=多進[i]-空進[i]; 進出[i]:=多空;

end else if 多空<>0 then begin

if 強出[i] then begin

進出[i]:=多空*4; 多空:=0;

end else begin

if 多空=多出1[i] or 多空=-空出1[i] then begin

進出[i]:=多空*2; 多空:=0;

end else if 多空=多出2[i] or 多空=-空出2[i] then begin

進出[i]:=多空*3; 多空:=0;

end else if 多空=空進[i] or 多空=-多進[i] then begin

進出[i]:=多空*5; 多空:=-多空;

end;

end;

end;

end;

以上是網友最先請教之問題,加上版主您接續的解答。
那我的問題是:
若:ABZ1或ABZ2或ASZ1或ASZ2這四個條件中都有「觸價」的條件設定,而版主您最後的答覆,此根K棒 H>N 一但成立, 就固定成立了, 不會中途變不成立
此根K棒 L<N 一但成立, 就固定成立了, 不會中途變不成立;意思是說若我把ABZ1或ABZ2或ASZ1或ASZ2這四個地方都以H、L來突過、跌破「固定數值例50點」的停損、利值,「再來」配合套入您的回覆
進出:C*0;

多空:=0; //1.多 -1.空 0.無

for i = 1 to datacount do begin

if 多空=0 and 強出[i]=0 then begin

多空:=多進[i]-空進[i]; 進出[i]:=多空;

end else if 多空<>0 then begin

if 強出[i] then begin

進出[i]:=多空*4; 多空:=0;

end else begin

if 多空=多出1[i] or 多空=-空出1[i] then begin

進出[i]:=多空*2; 多空:=0;

end else if 多空=多出2[i] or 多空=-空出2[i] then begin

進出[i]:=多空*3; 多空:=0;

end else if 多空=空進[i] or 多空=-多進[i] then begin

進出[i]:=多空*5; 多空:=-多空;

end;

end;

end;

end;
這段以後,就可以有「觸價」的功能了嗎?
以上再度打擾,請見諒。
祝均安。



基本上是的
但僅 ABZ1和ABZ2和ASZ1和ASZ2 這四組條件為「觸價」
ACK0 並非為「觸價」

更重要的是
也必須是您的指標, 也是如此單純
若您的指標決定 ABZ1和ABZ2和ASZ1和ASZ2 這四組條件
單一條件式有用到當根收盤價就不為「觸價」
或者單一條件式有同時用到 H 和 L 兩者, 也不為「觸價」
例如: 用到 (H+L)/2 這種就不行, 因為算出的值會上下浮動

這邊我說的「觸價」
是價位達到時, 訊號確立成立(不會消失)

評測歷史績效, 則要視您取決算的基準為何?
例如:
 出場:H-多進>=50 ;
 有人取 H-多進 做當前k棒績效
 有人取 50 做當前k棒績效
 也有人取其它值
 不同人考量點不同


由 阿酷 在 2010-01-03 19:03 發表:

謝謝版主的解惑了,非常感謝。

版主的寫法,非我所熟悉的故有如此多的疑慮,還請見諒,但也因為不熟悉其所以然,所以我還是用我自已的方法,因為自已能事後的檢視與驗證,故用起來也較安心;在這也互勉一下網友,寫系統或將來漸進到自動交易的層面時,事事求是謹慎驗證是必要的,這是純風險問題。

再次謝謝版主,祝大家均安。

__________________
永遠學習、學習永遠
善為傳家寶
忍為積德門


由 Markchu7 在 2011-10-24 20:14 發表:

一急忘了存檔

對不起總版主!急著走人竟忘了存檔,回到家一看.....傻住了!
再請總版主幫忙!
多進:=條件1;
多出:=條件2;
空進:=條件3;
空出:=條件4;
強出:=TIME=134000;
套入以下迴圈!
另外要得知出每次進出盈虧,要如何處理?

進出:C*0;
多空:=0; //1.多 -1.空 0.無
for i = 1 to datacount do begin
if 多空=0 and 強出[i]=0 then begin
多空:=多進[i]-空進[i]; 進出[i]:=多空;
end else if 多空<>0 then begin
if 強出[i] then begin
進出[i]:=多空*4; 多空:=0;
end else begin
if 多空=多出1[i] or 多空=-空出1[i] then begin
進出[i]:=多空*2; 多空:=0;
end else if 多空=多出2[i] or 多空=-空出2[i] then begin
進出[i]:=多空*3; 多空:=0;
end else if 多空=空進[i] or 多空=-多進[i] then begin
進出[i]:=多空*5; 多空:=-多空;
end;
end;
end;
end;


由 cgjj 在 2011-10-25 14:36 發表:

回覆: 一急忘了存檔

引用:
最初由 Markchu7 發表
對不起總版主!急著走人竟忘了存檔,回到家一看.....傻住了!
再請總版主幫忙!
多進:=條件1;
多出:=條件2;
空進:=條件3;
空出:=條件4;
強出:=TIME=134000;
套入以下迴圈!
另外要得知出每次進出盈虧,要如何處理?

進出:C*0;
多空:=0; //1.多 -1.空 0.無
for i = 1 to datacount do begin
if 多空=0 and 強出[i]=0 then begin
多空:=多進[i]-空進[i]; 進出[i]:=多空;
end else if 多空<>0 then begin
if 強出[i] then begin
進出[i]:=多空*4; 多空:=0;
end else begin
if 多空=多出1[i] or 多空=-空出1[i] then begin
進出[i]:=多空*2; 多空:=0;
end else if 多空=多出2[i] or 多空=-空出2[i] then begin
進出[i]:=多空*3; 多空:=0;
end else if 多空=空進[i] or 多空=-多進[i] then begin
進出[i]:=多空*5; 多空:=-多空;
end;
end;
end;
end;




您要的與先前的例子並不完全相同, 重弄如下:
原碼:

多進
:=條件1 or barpos=0;
多出:=條件2 or barpos=0;
空進:=條件3 or barpos=0;
空出:=條件4 or barpos=0;
強出:=TIME=134000;
進出:C*0CC:=C;
多空:=0//1.多 -1.空 0.無
盈虧:c*0 linethick;
for 
1 to datacount do begin
  
if 多空=and 強出[i]=0 then begin
    多空
:=多進[i]-空進[i]; 進出[i]:=多空;
    if 
多空<>0 then 進價:=CC[i]; 
  
end else if 多空<>0 then begin
    盈虧
[i]:=(CC[i]-進價)*多空;
    if 
強出[ithen begin
      進出
[i]:=多空*4多空:=0;
    
end else begin
      
if 多空=多出[i] or 多空=-空出[ithen begin
        進出
[i]:=多空*2多空:=0;
      
end else if 多空=空進[i] or 多空=-多進[ithen begin
        進出
[i]:=多空*3多空:=-多空;
      
end;
    
end;
  
end;
end;


由 Markchu7 在 2011-10-25 17:00 發表:

感謝總版主指導!來去試試!


由 Markchu7 在 2011-10-25 17:37 發表:

請問總版主:進出3=多出反守作空在同一根k棒?我發現應該是進出3的情況下呈現出來的結果卻是前一根k棒多出後下一根k棒再空進耶!可否再幫我看一下!


由 cgjj 在 2011-10-25 18:13 發表:

引用:
最初由 Markchu7 發表
請問總版主:進出3=多出反守作空在同一根k棒?我發現應該是進出3的情況下呈現出來的結果卻是前一根k棒多出後下一根k棒再空進耶!可否再幫我看一下!


此段程式將訊號整合在[進出]
不會造成這現象
那應該是您後續程式接著處理所造成的問題


由 cgjj 在 2011-10-25 18:15 發表:

另外
前面我漏了一部份

這行
進出[i]:=多空*3; 多空:=-多空;

要改為
進出[i]:=多空*3; 多空:=-多空; 進價:=CC[i];


由 Markchu7 在 2011-10-25 18:35 發表:

謝謝!我再試試!


由 sync 在 2012-06-30 01:35 發表:

問題 請問如果要限制交易次數條件該怎麼寫呢?

版大您好:
依此當沖範例,請問如果要限制交易次數條件該怎麼寫呢?

例如條件:1天最多交易3次(來回算1次),次數達到就停止不再進場。

謝謝!!!


由 cgjj 在 2012-07-02 11:01 發表:

回覆: 請問如果要限制交易次數條件該怎麼寫呢?

引用:
最初由 sync 發表
版大您好:
依此當沖範例,請問如果要限制交易次數條件該怎麼寫呢?

例如條件:1天最多交易3次(來回算1次),次數達到就停止不再進場。

謝謝!!!



這主題中有答覆兩個例子 ( L0123 和 Markchu7 )
您要改的是那一位的例子呢?


由 cgjj 在 2012-07-02 15:05 發表:

引用:
最初由 sync 發表
原碼:

強出
:=TIME>=132000;
限進:=TIME>=130000;
多進:=B1 and 強出=and 限進=or barpos=0;
多出:=多補 or barpos=0;
空進:=S1 and 強出=and 限進=or barpos=0;
空出:=空補 or barpos=0;

....................................................


//[進出] 這變數值代表意義如下:
//1.多單進場, 2.多單出場, 3.多控利出, 4.多控損出, 5.強制出場
//-1.空單進場,-2.空單出場,-3.空控利出, -4.空控損出, -5.強制出場


-----------------------------------------------------
版大您好:
依此當沖範例,請問如果要限制交易次數條件該怎麼寫呢?

例如條件:1天最多交易3次(來回算1次),次數達到就停止不再進場。

另外,測試結果停損停利訊號要收盤價達到才會出現訊號,而非觸價就出現???

謝謝!!!



您後續貼的已非原來這主題範例
因為交易規則特性不一樣, 為避免混淆
故將之切割, 另起新的主題於這連結
http://www.chiefox.com.tw/bbs/showt...&threadid=16808


由 wqew2002 在 2012-10-27 13:54 發表:

^^


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


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

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