奇狐社區論壇 總頁數 (2): [1] 2 »
在這個頁面顯示本主題全部的 17 個文章

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


由 king220.shih 在 2009-10-05 05:02 發表:

[求救]請問有成交量依據的當沖公式寫法

抱歉!剛剛學習寫奇狐。
可能問題有點簡單∼><
---------------------------------------
五分K的週期:

若是前一根K棒收紅並出量>4000口,則出現空單賣出,並以本根K棒的收盤價+30點作為空單停損。
停利則為前一根K棒收黑並出量>3000口,則空單回補。

若是上一根K棒收黑並出量>4000口,則出現多單買進,並以本根K棒的收盤價-30點作為多單停損。
停利則為前一根K棒收紅並出量>3000口,則多單平倉。

尾盤13:25不管多空單,一律回補!不留倉!
---------------------------------------

這樣的定義不知道是否正確無誤。有無邏輯上的缺陷?
因為剛剛學習寫交易策略,腦筋一片空白,只會寫翻多或翻空的均線操作,想到這種有停損的,就完全沒有概念了。

希望各位前輩們可以提供意見。感恩!


由 cgjj 在 2009-10-05 11:26 發表:

回覆: [求救]請問有成交量依據的當沖公式寫法

引用:
最初由 king220.shih 發表
抱歉!剛剛學習寫奇狐。
可能問題有點簡單∼><
---------------------------------------
五分K的週期:

若是前一根K棒收紅並出量>4000口,則出現空單賣出,並以本根K棒的收盤價+30點作為空單停損。
停利則為前一根K棒收黑並出量>3000口,則空單回補。

若是上一根K棒收黑並出量>4000口,則出現多單買進,並以本根K棒的收盤價-30點作為多單停損。
停利則為前一根K棒收紅並出量>3000口,則多單平倉。

尾盤13:25不管多空單,一律回補!不留倉!
---------------------------------------

這樣的定義不知道是否正確無誤。有無邏輯上的缺陷?
因為剛剛學習寫交易策略,腦筋一片空白,只會寫翻多或翻空的均線操作,想到這種有停損的,就完全沒有概念了。

希望各位前輩們可以提供意見。感恩!



[多單買進]後當前仍持倉, 若此刻發生[空單賣出] 條件
您要如何處理呢? 反之問題亦同


由 king220.shih 在 2009-10-05 13:26 發表:

感謝總版主回答。

那就是我的定義還不夠清楚,我再想想,讓定義更明確一些。
或許我現在的問題是無法明確的定義出交易策略,難怪都想不
出來要怎麼寫。

還是總版主可否賜教一二,好讓我的邏輯理清一些,比如要如
何定義,才不會出現你所說的狀況。我要的東西很簡單,就是
上漲出量放空,下跌出量作多,然後守停損。

由於對於程式語言不甚了解,不太知道電腦能做些什麼,又不
能做些什麼,以前老師曾經說過,要學好程式語言,要先了解
電腦的邏輯,從電腦的角度去看事情,這樣就容易多了。偏偏
又不是很了解電腦的運作,所以想寫一些簡單的操作程式,來
釐清自己的邏輯。


由 cgjj 在 2009-10-06 13:23 發表:

引用:
最初由 king220.shih 發表
感謝總版主回答。

那就是我的定義還不夠清楚,我再想想,讓定義更明確一些。
或許我現在的問題是無法明確的定義出交易策略,難怪都想不
出來要怎麼寫。

還是總版主可否賜教一二,好讓我的邏輯理清一些,比如要如
何定義,才不會出現你所說的狀況。我要的東西很簡單,就是
上漲出量放空,下跌出量作多,然後守停損。

由於對於程式語言不甚了解,不太知道電腦能做些什麼,又不
能做些什麼,以前老師曾經說過,要學好程式語言,要先了解
電腦的邏輯,從電腦的角度去看事情,這樣就容易多了。偏偏
又不是很了解電腦的運作,所以想寫一些簡單的操作程式,來
釐清自己的邏輯。



[多單買進]後當前仍持倉, 若此刻發生[空單賣出] 條件

方法一: 多單平倉 and 空單賣出
會產生同根K棒反手作的情況

方法二:
多單仍持倉 and 空單賣出
會產生多空雙方同時有單的情況

方法三:
多單若仍持倉當中, 則忽略本次[空單賣出] 訊號

設計出發點不同, 思考可能就不同
以上僅供參考


由 king220.shih 在 2009-10-06 20:46 發表:

引用:
最初由 cgjj 發表
[多單買進]後當前仍持倉, 若此刻發生[空單賣出] 條件

方法三:
多單若仍持倉當中, 則忽略本次[空單賣出] 訊號

設計出發點不同, 思考可能就不同
以上僅供參考



對啦!就是方法三,如果有多單在手,要如何忽略[空單賣出]訊號。

然後守著停損與停利。

重點就是忽略。


由 cgjj 在 2009-10-07 12:25 發表:

引用:
最初由 king220.shih 發表
對啦!就是方法三,如果有多單在手,要如何忽略[空單賣出]訊號。

然後守著停損與停利。

重點就是忽略。



原碼:

ZAry
:=C*0CC:=C;
S30:=time>=132500 or barpos=0//強制出場
S11:=ref(c<and v>4000,1) and S30=or barpos=0//多進
S12:=ref(c>and v>3000,1) or barpos=0//多出
S21:=ref(c>and v>4000,1) and S30=or barpos=0//空進
S22:=ref(c<and v>3000,1) or barpos=0//空出
盈虧:ZAry linethick0;
進出:ZAry;
多空:=0//1.多 -1.空 0.無
做價:=0停損:=30;
for 
lbound(ZAryto datacount do begin
  
if 多空=0 then begin
    多空
:=S11[i]-S21[i]; 進出[i]:=多空;
    if 
多空<>0 then 做價:=CC[i];
  
end else if 多空<>0 then begin
    盈虧
[i]:=(CC[i]-做價)*多空;
    
CKO:=S12[i]-S22[i];
    if 
CKO=多空 then begin
      進出
[i]:=CKO*2多空:=0;
    
end else if S30[ithen begin
      進出
[i]:=多空*3多空:=0;
    
end else if 盈虧[i]<-停損 then begin
      進出
[i]:=多空*4多空:=0;
    
end;
  
end;
end;



[進出] 這變數值代表意義如下:
1.為多單進場, 2.為多單平倉, 3.為多單強制平倉, 4.為多單控損平倉
-1.為空單賣出,-2.為空單回補,-3.為空單強制回補,-4.為空單控損回補


由 king220.shih 在 2009-10-07 14:32 發表:

感謝總版主^^

我這幾天都很認真的在爬文
發現我想要的東西,你以前都已經有回應過了
我也都有一一將程式碼裝入奇狐作測試
真的很不錯,只是對於程式碼有看沒有懂
就算是有中文說明也不知所云
再加油囉!努力學習!


由 king220.shih 在 2009-10-19 08:30 發表:

請教總版主,關於 barpos=0 的用法
------------------------
BARPOS
別名: 數據位置
所屬類別: 時間函數 參數數量: 0

函數返回當前是第幾根K線。
對於日線數據就表示從上市到現在總共有多少交易日。
用法:
BARPOS
--------------------------

我有查過BARPOS的函數用法
意思是數據位置,那barpos=0 是不是代表今日的第一根K棒?

又怎需要在time>=132500後面又加上or barpos=0 ??
真有些不太懂耶?能否請總版主簡要說明一下。
感激不盡!


由 cgjj 在 2009-10-19 11:55 發表:

Barpos=1 是歷史第1根K棒
Barpos=2 是歷史第2根K棒
不會有 Barpos=0 的這種情況發生(永遠不成立)

or barpos=0
這動作會讓數據起始有效位置從1開始, 又能保持原數據
這方法僅適用於 [儲存邏輯判斷的數列]
也就是只有 1 和 0 成立與不成立的這種結果的數列
算是一種取巧的方法

您把下面這兩行, 各別跑跑看比較一下
去觀察歷史頭20根K棒的值, 就可了解差異
MA(c,10)>C; //數據有效起始位置為10
MA(c,10)>C or barpos=0; //數據有效起始位置為1

讓數據起始有效位置都自 1 開始, 是為了方便迴圈計算
不會因為 [數據有效起始位置] , 而去取用到無效數據造成問題
也不會因為 [數據有效起始位置] , 造成少算到某部份


由 king220.shih 在 2009-10-19 13:07 發表:

感謝總版主回答。
沒有總版主的解釋,真是想破頭殼都想不出來。


由 king220.shih 在 2009-10-21 12:30 發表:



抱歉!我的進度比較慢,還有一個問題要請教總版主。
在後面的
進出[i]:=CKO*2
進出[i]:=多空*3
進出[i]:=多空*4
以上*2*3*4的用意是什麼?


由 cgjj 在 2009-10-21 13:01 發表:

引用:
最初由 king220.shih 發表


抱歉!我的進度比較慢,還有一個問題要請教總版主。
在後面的
進出[i]:=CKO*2
進出[i]:=多空*3
進出[i]:=多空*4
以上*2*3*4的用意是什麼?



是為了產生這樣的結果對應, 而非只有單純的進與出

1.為多單進場, 2.為多單平倉, 3.為多單強制平倉, 4.為多單控損平倉
-1.為空單賣出,-2.為空單回補,-3.為空單強制回補,-4.為空單控損回補

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

把 多空*n 可得到 +n, -n, 0

就可達到我們想依狀況做區隔的目的
如此可以簡化程式複雜度


由 king220.shih 在 2009-10-21 13:16 發表:

感謝總版主的回答,這樣我就懂了!
我再繼續研究,有問題再來請教,甘溫喔!


由 king220.shih 在 2009-10-22 20:32 發表:

再請教總版主:
迴圈和IF的語法我大致上看懂了。
那如果想要在進出訊號時加上箭頭的圖示與點位標示,
又該如何加入DRAWICON與DRAWNUMBER的函數呢?
這樣才能在K線圖上一目暸然。


由 king220.shih 在 2009-10-22 20:59 發表:

上面的問題我已解決,已經可以看到箭頭和數字,
但是問題又出來了,秀出箭頭和數字讓系統變的很慢。
怎麼會這樣呢?


全部時間均為台灣時間, 現在時間為20:16 總頁數 (2): [1] 2 »
在這個頁面顯示本主題全部的 17 個文章


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

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