![]() |
在這個頁面顯示本主題全部的 12 個文章 |
奇狐社區論壇 (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=17659)
統計並限制賣出訊號的次數
請教總版主:
1. 希望以cross(c,m3)作為起算點,只要符合cross(m1,c) 或是 cross(m2,c) 任何一個成立皆當成賣訊並且Drawtext
2. 以上兩個賣出條件可以重複,但只能出現總共合計三個,可能發生的情況如下:
cross(m1,c) cross(m1,c) cross(m1,c)
cross(m1,c) cross(m2,c) cross(m1,c)
cross(m1,c) cross(m2,c) cross(m2,c)
3. 第四個賣出條件出現時,直接忽略,直到下一次cross(c,m3)時才又重新歸零
請教您寫法
回覆: 統計並限制賣出訊號的次數
引用:
最初由 tycoon868 發表
請教總版主:
1. 希望以cross(c,m3)作為起算點,只要符合cross(m1,c) 或是 cross(m2,c) 任何一個成立皆當成賣訊並且Drawtext
2. 以上兩個賣出條件可以重複,但只能出現總共合計三個,可能發生的情況如下:
cross(m1,c) cross(m1,c) cross(m1,c)
cross(m1,c) cross(m2,c) cross(m1,c)
cross(m1,c) cross(m2,c) cross(m2,c)
3. 第四個賣出條件出現時,直接忽略,直到下一次cross(c,m3)時才又重新歸零
請教您寫法
聊解了,謝謝
套入您以下公式後,測試問題如下
1.
XX:=cross(c,m3);
XXSP:=barslast(XX);
賣訊:=cross(m1,c) or cross(m2,c);
賣訊:=賣訊 and sum(賣訊,XXSP+1)<=3;
drawtext(賣訊=1,h,'賣');
沒有出現正確的賣字,請問哪裡出錯
2. Drawtext 的字太大,雖然可以透過系統選項裡的圖形文字縮小,但是卻會動到其他如座標的字體大小
是否可以獨立控制 Drawtext 或是 Drawnumber 的字體大小?
3. 問題2之文字常常擋到K棒,如何向上拉出一條線後才顯示?
4. 希望排除兩個賣出條件相連太近的部分,第一個賣出條件成立後,第二個必須
是三天後發生的才成立(濾掉相近的),請問應該在問題一的公式上作什麼修改?
感謝
抱歉! 增加第五個提問
5. 以cross(c, m3) 作為買點,此時總倉位為
Hold=3,出現賣訊一時 Hold=2,出現賣訊二時,則Hold=1,依此類推
請問這樣的 Hold 公式要如何寫?
抱歉! 問題一是我弄錯了,已經解決
其餘四個需求麻煩您了
謝謝
引用:
最初由 tycoon868 發表
套入您以下公式後,測試問題如下
1.
XX:=cross(c,m3);
XXSP:=barslast(XX);
賣訊:=cross(m1,c) or cross(m2,c);
賣訊:=賣訊 and sum(賣訊,XXSP+1)<=3;
drawtext(賣訊=1,h,'賣');
沒有出現正確的賣字,請問哪裡出錯
2. Drawtext 的字太大,雖然可以透過系統選項裡的圖形文字縮小,但是卻會動到其他如座標的字體大小
是否可以獨立控制 Drawtext 或是 Drawnumber 的字體大小?
3. 問題2之文字常常擋到K棒,如何向上拉出一條線後才顯示?
4. 希望排除兩個賣出條件相連太近的部分,第一個賣出條件成立後,第二個必須
是三天後發生的才成立,請問應該在問題一的公式上作什麼修改?
5. 以cross(c, m3) 作為買點,此時總倉位為
Hold=3,出現賣訊一時 Hold=2,出現賣訊二時,則Hold=1,依此類推
感謝
版主您好,貼圖詳細說明需求如下:
1. 以下是目前的原碼,僅是單純的標是兩種賣點,尚未經過 限制三批賣出的處理
M1:=EMA(C,6),linethick2,colorgreen,precision2;
M2:=EMA(C,20),linethick3,colorff00ff,precision2;
M3:=EMA(C,40),linethick3,colorff6633,precision2;
Partline(1,M1),colorblue,LINETHICK2;
Partline(1,M2),colorcc0099,LINETHICK2;
Partline(1,M3),colorred,LINETHICK2;
Partline(C>=M1,M1),colorgreen,LINETHICK2;
PARTLINE(C<=M1,M1),coloryellow,LINETHICK2;
Partline(C>=M2,M2),color6600ff,LINETHICK2;
PARTLINE(C<=M2,M2),colorff6633,LINETHICK2;
Partline(C>=M3,M3),colorred,LINETHICK5;
PARTLINE(C<=M3,M3),colorblue,LINETHICK5;
StickLine(C>O , HIGH , LOW , 0.1 , 0 ) , Colorred ;
StickLine(C>O , CLOSE , OPEN , 8 , 0 ) , Colorred ;
StickLine(C=O , HIGH , LOW , 0.1 , 0 ) , Coloryellow ;
StickLine(C=O , CLOSE , OPEN , 8 , 0 ) , Coloryellow ;
StickLine(C<O , HIGH , LOW , 0.1 , 0 ) , Colorffff00 ;
StickLine(C<O , CLOSE , OPEN , 8 , 0 ) , Colorffff00 ;
drawicon(C>M3 and Cross(M1,c),h*1.05,'1sell');
drawicon(C>M3 and Cross(M2,c),h*1.05,'2sell');
drawtext(cross(c,m3),l*1.05,'買進')colorff00ff;
2. 希望達到 只留下1、2、3賣點,4、5與前一個成立的賣點相距<=3天,則另外併入過濾掉的條件中
3. 第6個賣點成立時,前面已經有3個賣點,所以直接濾掉
4. 另外加入第三個過濾條件~~當兩種賣點出現在cross(c,m3) 五天之內時,也是直接忽略
5. 希望以一個公式隨時知道當下的留倉量應該為多少,法則請見附圖上的多倉量
謝謝
引用:
最初由 tycoon868 發表
版主您好,貼圖詳細說明需求如下:
1. 以下是目前的原碼,僅是單純的標是兩種賣點,尚未經過 限制三批賣出的處理
M1:=EMA(C,6),linethick2,colorgreen,precision2;
M2:=EMA(C,20),linethick3,colorff00ff,precision2;
M3:=EMA(C,40),linethick3,colorff6633,precision2;
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
2. 希望達到 只留下1、2、3賣點,4、5與前一個成立的賣點相距<=3天,則另外併入過濾掉的條件中
3. 第6個賣點成立時,前面已經有3個賣點,所以直接濾掉
4. 另外加入第三個過濾條件~~當兩種賣點出現在cross(c,m3) 五天之內時,也是直接忽略
5. 希望以一個公式隨時知道當下的留倉量應該為多少,法則請見附圖上的多倉量
謝謝
謝謝總版主,根據您的提示,重新歸納買進與賣出的邏輯,希望可以請您再次驗證並賜教正確的公式寫法
1. 請忽略之前的買賣規則,只作多方
MQ:=EMA(c,3),precision2;
MT:=EMA(c,40),precision2;
MTB:=((MQ-MT)/MT)*400;
Cross(MTB,30) 時買進 1
Cross(MTB,60) 時買進 2
MTB>0 and MTB<=30時,倉位為0
即使MTB>240,最大倉位為3
如果最大MTB只有50,則該波的倉位只有 1
完整的操作週期開始於 Cross(MTB,0) ,結束於 Cross(0,MTB) ,
2. 賣點為出現 Cross(240,MTB)、Cross(120,MTB)、Cross(60,MTB)時都是 -1 倉,
但是上列三種賣點在同一個操作週期理,都只允許出現一次,
例如: 某一波段自高檔滑落,歷經 兩次Cross(240,MTB),兩次Cross(120,MTB),
目前為 MTB=100,則倉位的變化為 第一次Cross(240,MTB)時為3-1=2,
直到出現第一次Cross(120,MTB)時為2-1=1,重複出現的賣點不作減倉。
第四個賣點為 Cross(30,MTB)~此時無論帳上倉位多少,一律 倉位=0
在還沒有出現 Cross(0,MTB)之前,再次出現Cross(MTB,30) 時則買進 1
3. 根據上列兩點的的買賣原則,可以動態求出任何時候的當下倉位
4. 並且根據這個倉位算出包含建倉與減倉過程中,每一個時點的持有成本與報酬率,一律
採用 Cross 當下的收盤價
持有成本=(買進1收盤價*倉位1)+(買進2收盤價*倉位2)/3,也有可能只有倉位1的收盤價
當暫時只出現 買進1時先秀出買進1的收盤價,出現買進2時則併入計算新的持有成本
5. 報酬率=(賣出1收盤價)+(賣出2收盤價)+(賣出3收盤價)除以3/持有成本*100
當暫時只出現 賣出1時,則 報酬率=(賣出1收盤價)/持有成本*100
當暫時只出現 賣出2時,則 報酬率=(賣出1收盤價)+(賣出2收盤價)除以2/持有成本*100
當倉位>0時,此時的報酬率皆為暫時的,直到倉位=0時才是 Final
請您直接僅以 一個欄位(倉位)計算與顯示即可
當帳上倉位=0時,請列出上一波段的 Final 報酬率
*@_@* 因為明天是周休二日,以上簡單的邏輯架構,如果還有不足的部分,我會在中午補足,勞煩您今天下午再次上線,萬分感激! *@_@*
謝謝您
引用:
最初由 tycoon868 發表
謝謝總版主,根據您的提示,重新歸納買進與賣出的邏輯,希望可以請您再次驗證並賜教正確的公式寫法
1. 請忽略之前的買賣規則,只作多方
MQ:=EMA(c,3),precision2;
MT:=EMA(c,40),precision2;
MTB:=((MQ-MT)/MT)*400;
Cross(MTB,30) 時買進 1
Cross(MTB,60) 時買進 2
MTB>0 and MTB<=30時,倉位為0
即使MTB>240,最大倉位為3
如果最大MTB只有50,則該波的倉位只有 1
完整的操作週期開始於 Cross(MTB,0) ,結束於 Cross(0,MTB) ,
2. 賣點為出現 Cross(240,MTB)、Cross(120,MTB)、Cross(60,MTB)時都是 -1 倉,
但是上列三種賣點在同一個操作週期理,都只允許出現一次,
例如: 某一波段自高檔滑落,歷經 兩次Cross(240,MTB),兩次Cross(120,MTB),
目前為 MTB=100,則倉位的變化為 第一次Cross(240,MTB)時為3-1=2,
直到出現第一次Cross(120,MTB)時為2-1=1,重複出現的賣點不作減倉。
第四個賣點為 Cross(30,MTB)~此時無論帳上倉位多少,一律 倉位=0
在還沒有出現 Cross(0,MTB)之前,再次出現Cross(MTB,30) 時則買進 1
3. 根據上列兩點的的買賣原則,可以動態求出任何時候的當下倉位
4. 並且根據這個倉位算出包含建倉與減倉過程中,每一個時點的持有成本與報酬率,一律
採用 Cross 當下的收盤價
持有成本=(買進1收盤價*倉位1)+(買進2收盤價*倉位2)/3,也有可能只有倉位1的收盤價
當暫時只出現 買進1時先秀出買進1的收盤價,出現買進2時則併入計算新的持有成本
5. 報酬率=(賣出1收盤價)+(賣出2收盤價)+(賣出3收盤價)除以3/持有成本*100
當暫時只出現 賣出1時,則 報酬率=(賣出1收盤價)/持有成本*100
當暫時只出現 賣出2時,則 報酬率=(賣出1收盤價)+(賣出2收盤價)除以2/持有成本*100
當倉位>0時,此時的報酬率皆為暫時的,直到倉位=0時才是 Final
請您直接僅以 一個欄位(倉位)計算與顯示即可
當帳上倉位=0時,請列出上一波段的 Final 報酬率
*@_@* 因為明天是周休二日,以上簡單的邏輯架構,如果還有不足的部分,我會在中午補足,勞煩您今天下午再次上線,萬分感激! *@_@*
謝謝您
我還以為這樣夠清楚了,謝謝
全部時間均為台灣時間, 現在時間為03:28 | 在這個頁面顯示本主題全部的 12 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.