到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 指標公式 > 問題交流 > 交易系統的倉位管理
總頁數 (3): [1] 2 3 »   上一主題   下一主題
作者
主題 發表新主題    回覆主題
tycoon868
資深會員

註冊日期: Oct 2008
來  自:
文章數量: 313

交易系統的倉位管理

請教總版主:

以下是我的買賣規則,需要控管買進部位、賣出部位與總持倉部位

Start:=cross(R2B,30) ;
Startpoint:=barslast(Start);
end:=cross(30,R2B) ; // 操作週期結束

買訊1:=cross(R2B,30) ;
買訊2:=Startpoint<=5 and cross(R2B,60);
買訊3:=Startpoint>=5 and cross(R2B,60);
買訊4:=Startpoint<=8 and ross(R2B,120);
買訊5:=Startpoint>=8 and ross(R2B,120);

賣訊1:=R2B>120 and Cross(MRB,R2B);
賣訊2:=R2B>60 and R2B<120 and Cross(MRB,R2B);
賣訊3:=cross(240,R2B) ;
賣訊4:=cross(120,R2B) ;
賣訊5:=Startpoint>5 and cross(60,R2B) ;
賣訊6:=Startpoint>3 and cross(30,R2B) ;

需求如下: 主要是為了維持最大買進部位=4,賣出減碼後如出現買訊則補回來

1. 需要根據以上的買賣訊號成立一個 [倉位] 紀錄公式,此倉位的值必須為0~4

2. 買訊1、2、4成立時各買2張(原始買進),買訊3、5成立時各買1張(加碼買進),同一個操作週期內,總持有的買張不可超過4張, 例如 買訊1、2成立時手中共有4張(滿倉),如果都沒有遇到賣訊1~6中任何一個,就又出現買訊3則忽略,此時手中仍然維持4張,直到手上倉位低於4張時,買訊2~5出現時才算是成立(最多也只到持有4張)

3. 賣訊1~6出現時,各減碼1張,而且是容許重複出現,減碼最多到倉位=0以後的賣訊則忽略(負數不計入倉位中)

4. 此後歸0的倉位如又遇到買訊2~5中的任何一個,還是成立並加計為倉位,再次重複需求3的減碼流程,直到end:=cross(30,R2B) ; // 操作週期結束

請總版主直接賜教公式寫法

感謝

最後由 tycoon868 在 2013-05-02 00:46 編輯 向版主報告此篇 | 查IP位址
Old Post 2013-05-02 00:41
tycoon868 現在離線 點選這裡查看 tycoon868 的個人資料 點選這裡給 tycoon868 傳送一條短訊 查找更多關於 tycoon868 的文章 增加 tycoon868 至你的好友列表 編輯/刪除訊息 引用回覆
tycoon868
資深會員

註冊日期: Oct 2008
來  自:
文章數量: 313

請問總版主,我所陳述的需求是否還需要補充說明?

向版主報告此篇 | 查IP位址
Old Post 2013-05-02 11:53
tycoon868 現在離線 點選這裡查看 tycoon868 的個人資料 點選這裡給 tycoon868 傳送一條短訊 查找更多關於 tycoon868 的文章 增加 tycoon868 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18194

回覆: 交易系統的倉位管理

引用:
最初由 tycoon868 發表
請教總版主:

以下是我的買賣規則,需要控管買進部位、賣出部位與總持倉部位

Start:=cross(R2B,30) ;
Startpoint:=barslast(Start);
end:=cross(30,R2B) ; // 操作週期結束

買訊1:=cross(R2B,30) ;
買訊2:=Startpoint<=5 and cross(R2B,60);
買訊3:=Startpoint>=5 and cross(R2B,60);
買訊4:=Startpoint<=8 and ross(R2B,120);
買訊5:=Startpoint>=8 and ross(R2B,120);

賣訊1:=R2B>120 and Cross(MRB,R2B);
賣訊2:=R2B>60 and R2B<120 and Cross(MRB,R2B);
賣訊3:=cross(240,R2B) ;
賣訊4:=cross(120,R2B) ;
賣訊5:=Startpoint>5 and cross(60,R2B) ;
賣訊6:=Startpoint>3 and cross(30,R2B) ;

需求如下: 主要是為了維持最大買進部位=4,賣出減碼後如出現買訊則補回來

1. 需要根據以上的買賣訊號成立一個 [倉位] 紀錄公式,此倉位的值必須為0~4

2. 買訊1、2、4成立時各買2張(原始買進),買訊3、5成立時各買1張(加碼買進),同一個操作週期內,總持有的買張不可超過4張, 例如 買訊1、2成立時手中共有4張(滿倉),如果都沒有遇到賣訊1~6中任何一個,就又出現買訊3則忽略,此時手中仍然維持4張,直到手上倉位低於4張時,買訊2~5出現時才算是成立(最多也只到持有4張)

3. 賣訊1~6出現時,各減碼1張,而且是容許重複出現,減碼最多到倉位=0以後的賣訊則忽略(負數不計入倉位中)

4. 此後歸0的倉位如又遇到買訊2~5中的任何一個,還是成立並加計為倉位,再次重複需求3的減碼流程,直到end:=cross(30,R2B) ; // 操作週期結束

請總版主直接賜教公式寫法

感謝



各個買訊和賣訊 有無可能會在同根K棒發生的情況?
若有如何處理?
例如: 同時有 買訊1 和 買訊3 成立
又例如: 同時有 買訊2 和 賣訊3 成立

向版主報告此篇 | 查IP位址
Old Post 2013-05-02 12:07
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
tycoon868
資深會員

註冊日期: Oct 2008
來  自:
文章數量: 313

1.根據我連續三天仔細校對買賣訊號,確實會有 買訊1&2 同時發生的情況~~直接忠實呈現即可~倉位=2+2(忠實累計,直到倉位<=4為止)

2.賣訊1&4也有可能同時出現,此時處理方式為當時的 倉位-1-1(直到倉位=0前皆是直接扣除)

3. 買訊與賣訊同時出現,倒是不會發生

感謝總版主提醒,麻煩您了

向版主報告此篇 | 查IP位址
Old Post 2013-05-02 12:14
tycoon868 現在離線 點選這裡查看 tycoon868 的個人資料 點選這裡給 tycoon868 傳送一條短訊 查找更多關於 tycoon868 的文章 增加 tycoon868 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18194

引用:
最初由 tycoon868 發表
3. 買訊與賣訊同時出現,倒是不會發生
感謝總版主提醒,麻煩您了



買訊與賣訊同時出現
是仔細校對沒有觀察到, 所以認為不會發生?
還是根據計算原理, 不可能發生?

若是前者, 還是有可能發生只是機率問題
若為後者, 才能確保 100%不會發生

會這樣問
是因為, 看不到買賣訊號有最根本的軸心, 正反判斷

向版主報告此篇 | 查IP位址
Old Post 2013-05-02 15:47
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
tycoon868
資深會員

註冊日期: Oct 2008
來  自:
文章數量: 313

總版主您好:

我對這部分的計算原理真的很清楚,確定買賣訊號絕對不會同時出現,因為MRB指標與R2B方向、性質一樣,只是有快慢之分,這兩個指標的金叉與死叉真的不可能同時出現。

目前已經充分的檢查過了,麻煩您教我寫這部分的倉位紀錄公式

爾後如果真的有問題,我會自行調整買賣訊號衝突的部分,目前真的需要先學習這個部分

麻煩您了

向版主報告此篇 | 查IP位址
Old Post 2013-05-02 16:45
tycoon868 現在離線 點選這裡查看 tycoon868 的個人資料 點選這裡給 tycoon868 傳送一條短訊 查找更多關於 tycoon868 的文章 增加 tycoon868 至你的好友列表 編輯/刪除訊息 引用回覆
tycoon868
資深會員

註冊日期: Oct 2008
來  自:
文章數量: 313

小弟非常期待解決中 @_@

向版主報告此篇 | 查IP位址
Old Post 2013-05-03 08:09
tycoon868 現在離線 點選這裡查看 tycoon868 的個人資料 點選這裡給 tycoon868 傳送一條短訊 查找更多關於 tycoon868 的文章 增加 tycoon868 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18194

引用:
最初由 tycoon868 發表
總版主您好:

我對這部分的計算原理真的很清楚,確定買賣訊號絕對不會同時出現,因為MRB指標與R2B方向、性質一樣,只是有快慢之分,這兩個指標的金叉與死叉真的不可能同時出現。

目前已經充分的檢查過了,麻煩您教我寫這部分的倉位紀錄公式

爾後如果真的有問題,我會自行調整買賣訊號衝突的部分,目前真的需要先學習這個部分

麻煩您了



原碼:

買訊1
:=買訊1 or barpos=0;
買訊2:=買訊2 or barpos=0;
買訊3:=買訊3 or barpos=0;
買訊4:=買訊4 or barpos=0;
買訊5:=買訊5 or barpos=0;
賣訊1:=賣訊1 or barpos=0;
賣訊2:=賣訊2 or barpos=0;
賣訊3:=賣訊3 or barpos=0;
賣訊4:=賣訊4 or barpos=0;
賣訊5:=賣訊5 or barpos=0;
賣訊6:=賣訊6 or barpos=0;
買訊:=(買訊1+買訊2+買訊3)*2+(買訊3+買訊5);
賣訊:=賣訊1+賣訊2+賣訊3+賣訊4+賣訊5+賣訊6;
買賣:=買訊-賣訊;
持量:C*0//當根動作後所持有的數量
NowN:=0;
for 
i=1 to datacount do begin
  NewN
:=NowN+買賣[i];
  if 
NewN<0 then NewN:=0;
  if 
NewN>4 then NewN:=4;
  
NowN:=NewN持量[i]:=NowN;
end;

向版主報告此篇 | 查IP位址
Old Post 2013-05-03 10:07
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
tycoon868
資深會員

註冊日期: Oct 2008
來  自:
文章數量: 313

感謝總版主! 套入測試中

向版主報告此篇 | 查IP位址
Old Post 2013-05-03 10:09
tycoon868 現在離線 點選這裡查看 tycoon868 的個人資料 點選這裡給 tycoon868 傳送一條短訊 查找更多關於 tycoon868 的文章 增加 tycoon868 至你的好友列表 編輯/刪除訊息 引用回覆
tycoon868
資深會員

註冊日期: Oct 2008
來  自:
文章數量: 313

總版主午安:

我的需求陳述中第3點有一點疏忽,修正如下:

原來的錯誤
3. 賣訊1~6出現時,各減碼1張,而且是容許重複出現,減碼最多到倉位=0以後的賣訊則忽略(負數不計入倉位中)

修正為以下
3. 賣訊1~5出現時,各減碼1張,而且是容許重複出現,減碼最多到倉位=0以後的賣訊則忽略(負數不計入倉位中)

因為我定義賣訊6 cross(30,R2B) 為操作週期結束,不管當時持量為1~4,都是無條件 歸0~~~不再跑需求4的流程


:///////:

如果本次cross(R2B,30) 至當下 尚未出現cross(30,R2B) ,則才可以繼續跑以下需求4

4. 承接上述修正後的流程3.,此後歸0的倉位如又遇到買訊2~5中的任何一個,還是成立並加計為倉位,再次重複需求3的減碼流程,直到end:=cross(30,R2B) ; // 操作週期結束


上面的說明主要是因為:忽略了 cross(R2B,30) 成立時,所有當下持量要歸0

抱歉疏忽了,請您為我修改公式

感激

向版主報告此篇 | 查IP位址
Old Post 2013-05-03 11:20
tycoon868 現在離線 點選這裡查看 tycoon868 的個人資料 點選這裡給 tycoon868 傳送一條短訊 查找更多關於 tycoon868 的文章 增加 tycoon868 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18194

引用:
最初由 tycoon868 發表
總版主午安:

我的需求陳述中第3點有一點疏忽,修正如下:

原來的錯誤
3. 賣訊1~6出現時,各減碼1張,而且是容許重複出現,減碼最多到倉位=0以後的賣訊則忽略(負數不計入倉位中)

修正為以下
3. 賣訊1~5出現時,各減碼1張,而且是容許重複出現,減碼最多到倉位=0以後的賣訊則忽略(負數不計入倉位中)

因為我定義賣訊6 cross(30,R2B) 為操作週期結束,不管當時持量為1~4,都是無條件 歸0~~~不再跑需求4的流程


:///////:

如果本次cross(R2B,30) 至當下 尚未出現cross(30,R2B) ,則才可以繼續跑以下需求4

4. 承接上述修正後的流程3.,此後歸0的倉位如又遇到買訊2~5中的任何一個,還是成立並加計為倉位,再次重複需求3的減碼流程,直到end:=cross(30,R2B) ; // 操作週期結束


上面的說明主要是因為:忽略了 cross(R2B,30) 成立時,所有當下持量要歸0

抱歉疏忽了,請您為我修改公式

感激


原碼:

買訊1
:=買訊1 or barpos=0;
買訊2:=買訊2 or barpos=0;
買訊3:=買訊3 or barpos=0;
買訊4:=買訊4 or barpos=0;
買訊5:=買訊5 or barpos=0;
賣訊1:=賣訊1 or barpos=0;
賣訊2:=賣訊2 or barpos=0;
賣訊3:=賣訊3 or barpos=0;
賣訊4:=賣訊4 or barpos=0;
賣訊5:=賣訊5 or barpos=0;
賣訊6:=賣訊6 or barpos=0;
買訊:=(買訊1+買訊2+買訊3)*2+(買訊3+買訊5);
賣訊:=賣訊1+賣訊2+賣訊3+賣訊4+賣訊5;
買賣:=買訊-賣訊;
持量:C*0//當根動作後所持有的數量
NowN:=0;
for 
i=1 to datacount do begin
  NewN
:=NowN+買賣[i];
  if 
NewN<or 賣訊6[i]=1 then NewN:=0;
  if 
NewN>4 then NewN:=4;
  
NowN:=NewN持量[i]:=NowN;
end;

向版主報告此篇 | 查IP位址
Old Post 2013-05-03 12:05
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
tycoon868
資深會員

註冊日期: Oct 2008
來  自:
文章數量: 313

解決了,感謝!

向版主報告此篇 | 查IP位址
Old Post 2013-05-03 12:19
tycoon868 現在離線 點選這裡查看 tycoon868 的個人資料 點選這裡給 tycoon868 傳送一條短訊 查找更多關於 tycoon868 的文章 增加 tycoon868 至你的好友列表 編輯/刪除訊息 引用回覆
tycoon868
資深會員

註冊日期: Oct 2008
來  自:
文章數量: 313

總版主早安:
延伸上面的需求,請教您
如何根據倉位紀錄的變化,標示出買賣點
所有可能發生的情況如下:

1. 買訊1 出現時,秀出 '試單',其餘的買訊2~5出現時,倉位有增加時才秀出'加碼'

處理方式如右: 倉位 0→2 標示出 '試單'
倉位 2→4 標示出 '加二'
倉位 2→3 標示出 '加一'
倉位 1→2 標示出 '加一'
倉位 1→3 標示出 '加二'

買訊出現,倉位卻沒有變動,例如倉位 4→4,則忽略不作標示


2. 賣訊1~6出現時,只要倉位有減少一張則標示出 '減一',
倉位有減少兩張則標示出 '減二',

買訊出現,倉位卻沒有變動,例如 倉位 0→0,則忽略該賣訊,不作標示



以上兩個需求,請您幫我加入上面的循環語句中,
感謝

向版主報告此篇 | 查IP位址
Old Post 2013-05-05 22:20
tycoon868 現在離線 點選這裡查看 tycoon868 的個人資料 點選這裡給 tycoon868 傳送一條短訊 查找更多關於 tycoon868 的文章 增加 tycoon868 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18194

引用:
最初由 tycoon868 發表
總版主早安:
延伸上面的需求,請教您
如何根據倉位紀錄的變化,標示出買賣點
所有可能發生的情況如下:

1. 買訊1 出現時,秀出 '試單',其餘的買訊2~5出現時,倉位有增加時才秀出'加碼'

處理方式如右: 倉位 0→2 標示出 '試單'
倉位 2→4 標示出 '加二'
倉位 2→3 標示出 '加一'
倉位 1→2 標示出 '加一'
倉位 1→3 標示出 '加二'

買訊出現,倉位卻沒有變動,例如倉位 4→4,則忽略不作標示


2. 賣訊1~6出現時,只要倉位有減少一張則標示出 '減一',
倉位有減少兩張則標示出 '減二',

買訊出現,倉位卻沒有變動,例如 倉位 0→0,則忽略該賣訊,不作標示



以上兩個需求,請您幫我加入上面的循環語句中,
感謝



答1
您用 DRAWTEXT 函數即可處理
條件處理並不難:
把前一根的持量 和 當根的持量做比較 即可, 例如
ref(持量,1)=0 and 持量=2

答2
把當根的持量減掉前一根的持量, 就可判斷
(不會僅有減一或減二兩種狀況)

向版主報告此篇 | 查IP位址
Old Post 2013-05-06 08:52
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
tycoon868
資深會員

註冊日期: Oct 2008
來  自:
文章數量: 313

謝謝,聊解作法了

向版主報告此篇 | 查IP位址
Old Post 2013-05-06 09:02
tycoon868 現在離線 點選這裡查看 tycoon868 的個人資料 點選這裡給 tycoon868 傳送一條短訊 查找更多關於 tycoon868 的文章 增加 tycoon868 至你的好友列表 編輯/刪除訊息 引用回覆
全部時間均為台灣時間, 現在時間為16:58 發表新主題    回覆主題
總頁數 (3): [1] 2 3 »   上一主題   下一主題
顯示可列印版本 | 訂閱此主題

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
HTML語法禁止
vB 語法核准
表情符號核准
貼圖語法[IMG]核准
 

本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。

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

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.  聯絡我們