![]() |
總頁數 (3): « 1 [2] 3 » 在這個頁面顯示本主題全部的 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)
條件與策略不能亂套入的
我提的問題一些條件與迴圈判斷與主題差別很多
是必須有請版主重新造句的
新語法沒有辦不到的事
但版主的迴圈範例並不是用來亂套的
差之毫釐失去之千里
版主未回覆前就先別預設立場吧
__________________
就是發蓊梨(ㄛㄥˇ ㄌㄞˊ) 程式交易網站
[教學]指標公式及程式交易系統撰寫 [代工]
學會指標策略程式化的撰寫,將可讓你不再盲目投下辛苦賺來的血汗錢
要知道交易的策略或交易的模式長期執行下確實可獲利
交易才有意義的.否則寧可不交易
引用:
最初由 阿酷 發表
hwyhon兄您好:
......................................省略
這段裡的開頭:
進出:C*0;
進出:C*0;
這裡是用C(收盤價)下去代的
所以就您的前段套入正確的觸價(H、L)雖是正確,但後段的迴圈所跑出來就不同了,有套用的朋友們把點位相加減檢查一下就知正確與否了。
就這樣了,我也本著實事求是的想法,提醒一下朋友「再度確認、檢視」而已,必竟要知其所以然且寫程式系統,都要秉著細心檢驗的心態為之才行,交易不是兒戲,認真點總是必要的。
以上祝均安。
建議
不同策略的條件, 請另開主題發問吧
這樣比較不會讓人容易看的霧煞煞
引用:
最初由 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 發表
基本上與配不配合範例沒有關係
舉例來說, 當下這一根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;
這段以後,就可以有「觸價」的功能了嗎?
以上再度打擾,請見諒。
祝均安。
謝謝版主的解惑了,非常感謝。
版主的寫法,非我所熟悉的故有如此多的疑慮,還請見諒,但也因為不熟悉其所以然,所以我還是用我自已的方法,因為自已能事後的檢視與驗證,故用起來也較安心;在這也互勉一下網友,寫系統或將來漸進到自動交易的層面時,事事求是謹慎驗證是必要的,這是純風險問題。
再次謝謝版主,祝大家均安。
__________________
永遠學習、學習永遠
善為傳家寶
忍為積德門
一急忘了存檔
對不起總版主!急著走人竟忘了存檔,回到家一看.....傻住了!
再請總版主幫忙!
多進:=條件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;
回覆: 一急忘了存檔
引用:
最初由 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*0; CC:=C;
多空:=0; //1.多 -1.空 0.無
盈虧:c*0 linethick;
for i = 1 to datacount do begin
if 多空=0 and 強出[i]=0 then begin
多空:=多進[i]-空進[i]; 進出[i]:=多空;
if 多空<>0 then 進價:=CC[i];
end else if 多空<>0 then begin
盈虧[i]:=(CC[i]-進價)*多空;
if 強出[i] then begin
進出[i]:=多空*4; 多空:=0;
end else begin
if 多空=多出[i] or 多空=-空出[i] then begin
進出[i]:=多空*2; 多空:=0;
end else if 多空=空進[i] or 多空=-多進[i] then begin
進出[i]:=多空*3; 多空:=-多空;
end;
end;
end;
end;
感謝總版主指導!來去試試!
請問總版主:進出3=多出反守作空在同一根k棒?我發現應該是進出3的情況下呈現出來的結果卻是前一根k棒多出後下一根k棒再空進耶!可否再幫我看一下!
引用:
最初由 Markchu7 發表
請問總版主:進出3=多出反守作空在同一根k棒?我發現應該是進出3的情況下呈現出來的結果卻是前一根k棒多出後下一根k棒再空進耶!可否再幫我看一下!
另外
前面我漏了一部份
這行
進出[i]:=多空*3; 多空:=-多空;
要改為
進出[i]:=多空*3; 多空:=-多空; 進價:=CC[i];
謝謝!我再試試!
全部時間均為台灣時間, 現在時間為12:36 | 總頁數 (3): « 1 [2] 3 » 在這個頁面顯示本主題全部的 34 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.