到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 指標公式 > 問題交流 > [問題]如何記住訊號發出的價位?
  上一主題   下一主題
作者
主題 發表新主題    回覆主題
tyh158
初級會員

註冊日期: Aug 2006
來  自:
文章數量: 6

[問題]如何記住訊號發出的價位?

請教:

在交易系統中寫公式
如果有三天a,b,c符合進場訊號
其中a這天發出紅色箭頭
假設固定停利為

A1:=ref(C,barslast(多進));
停利:=a1+a1*利潤;

但是b及c兩天也符合
這樣的寫法會將停利變成c這天的點位加固定利潤

有沒有辦法記住a這天的點位加固定利潤來當作出場的依據

謝謝

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

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

回覆: [問題]如何記住訊號發出的價位?

引用:
最初由 tyh158 發表
請教:

在交易系統中寫公式
如果有三天a,b,c符合進場訊號
其中a這天發出紅色箭頭
假設固定停利為

A1:=ref(C,barslast(多進));
停利:=a1+a1*利潤;

但是b及c兩天也符合
這樣的寫法會將停利變成c這天的點位加固定利潤

有沒有辦法記住a這天的點位加固定利潤來當作出場的依據

謝謝



基本上要處理為這樣
前一個訊號必須為出場訊號, 本次的進場訊號才視為有效訊號

除停利外還有其他出場訊號嗎?

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

註冊日期: Aug 2006
來  自:
文章數量: 6

版主:
我的股票交易邏輯如下
進場:月均價量同時往上進場
出場:1.固定停利 2.破季線3.低於20ma 10%

這樣多說明不知道是否夠清楚

謝謝你

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

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

引用:
最初由 tyh158 發表
版主:
我的股票交易邏輯如下
進場:月均價量同時往上進場
出場:1.固定停利 2.破季線3.低於20ma 10%

這樣多說明不知道是否夠清楚

謝謝你



跟據您說的:
進條件有一, 為: BB1
出條件有三, 依序為: SS1, SS2 ,SS3
請自行帶入這些個變數, 接後續處理
SS1 不需設定, 改設定 [利潤] 來控制處理

原碼:

BB1
:=BB1 or barpos=0;
SS2:=SS2 or barpos=0;
SS3:=SS3 or barpos=0;
UBS:=0CC:=C進價:=0;
BB:=C*0SS:=BB;
for 
i=1 to datacount do begin
  
if BB1[i]=and UBS=0 then begin
    BB
[i]:=1UBS:=1進價:=CC[i];
  
end else if UBS=1 then begin
    
if CC[i]>進價+進價*利潤 then begin
      SS
[i]:=1UBS:=0
    
end else if SS2[ithen begin
      SS
[i]:=2UBS:=0
    
end else if SS3[ithen begin
      SS
[i]:=3UBS:=0
    
end;
  
end;
end;

註:
BB=1 代表進場
SS>0 代表出場, 依出場狀況, 值為1-3

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

註冊日期: Aug 2006
來  自:
文章數量: 6

感謝版主的辛苦

有一個疑問?
BB:=C*0;
SS:=BB;

這兩行的程式作用為何?


Thanks

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

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

引用:
最初由 tyh158 發表
感謝版主的辛苦

有一個疑問?
BB:=C*0;
SS:=BB;

這兩行的程式作用為何?

Thanks



設置 BB 和 SS 為零值數列(數列長度與K棒數相等)
註: C 為 Close 數列, 將其乘上零, 就能達到我們目的

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

註冊日期: May 2010
來  自:
文章數量: 20

不好意思, 小弟想再問一個簡單的問題,

BB1:=BB1 or barpos=0; 這一行代表的意思是什麼呢?

另外是否有辦法讓變數不要每個tick進來就歸零或重算, 而是會記住上次的數值的呢?

例如若我有一個變數叫HP, 用來記住目前的部位數, 但若090500進場, HP會被設為1, 但是091000若又不符合進場條件, 那我如何讓091000的HP亦為1呢? 因為090500進場的部位數尚未平倉.
謝謝!

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

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

引用:
最初由 ecity2005 發表
[B]不好意思, 小弟想再問一個簡單的問題,

BB1:=BB1 or barpos=0; 這一行代表的意思是什麼呢?



barpos=1 代表計算的K棒是歷史首根
barpos=2 代表計算的K棒是歷史第二根

barpos=0 這情況是永不發生的

or barpos=0 是一種取巧的寫法
有時數列有效起始位置, 未必等於1 (歷史首根)
可能會是自第n根開始才有效
or barpos=0 會讓無效的部份填零
經過 or barpos=0 數列起點就會變為自1 開始(歷史首根)

此種取巧寫法
僅適用於數列中僅有 0 與 1 兩種值的情況下

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

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

引用:
最初由 ecity2005 發表
另外是否有辦法讓變數不要每個tick進來就歸零或重算, 而是會記住上次的數值的呢?

例如若我有一個變數叫HP, 用來記住目前的部位數, 但若090500進場, HP會被設為1, 但是091000若又不符合進場條件, 那我如何讓091000的HP亦為1呢? 因為090500進場的部位數尚未平倉.
謝謝!



處理範例如下:

MA5:ma(c,5);
MA10:ma(c,10);
BB:=cross(MA5,MA10);
SS:=cross(MA10,MA5);
BS:BB-SS NOAXIS;
BS:=ref(BS,barslast(BS<>0)); //處理關鍵(取之前不為零的值)

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

註冊日期: Dec 2006
來  自:
文章數量: 1

引用:
最初由 cgjj 發表
處理範例如下:

MA5:ma(c,5);
MA10:ma(c,10);
BB:=cross(MA5,MA10);
SS:=cross(MA10,MA5);
BS:BB-SS NOAXIS;
BS:=ref(BS,barslast(BS<>0)); //處理關鍵(取之前不為零的值)



想請問版主,那如果此方式改成當沖(收盤:TT>=134200;)
時間到全部出掉,隔天訊號出來時重新進場,希望0的訊號一直維持到新的訊號進場,除了BS:=ref(BS,barslast(BS<>0)); 中的BS<>0改成BS. 還要改什麼呢?我的程式是多進二口,多利停一口,空進二口,空停利一口,尾盤全出掉,
BS:=多單進*2+多停利-空單進*2-空停利 NOAXIS;
BS:ref(BS,barslast(BS));

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

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

引用:
最初由 ttnsh001 發表
想請問版主,那如果此方式改成當沖(收盤:TT>=134200
時間到全部出掉,隔天訊號出來時重新進場,希望0的訊號一直維持到新的訊號進場,除了BS:=ref(BS,barslast(BS<>0)); 中的BS<>0改成BS. 還要改什麼呢?我的程式是多進二口,多利停一口,空進二口,空停利一口,尾盤全出掉,
BS:=多單進*2+多停利-空單進*2-空停利 NOAXIS;
BS:ref(BS,barslast(BS));



請參考此例的處理方法
http://www.chiefox.com.tw/bbs/showt...52512#post52512

向版主報告此篇 | 查IP位址
Old Post 2010-06-07 10:24
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
全部時間均為台灣時間, 現在時間為06:00 發表新主題    回覆主題
  上一主題   下一主題
顯示可列印版本 | 訂閱此主題

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
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.  聯絡我們