 |
P2372
中級會員

註冊日期: Mar 2012
來 自: 台北
文章數量: 35 |
[求救]我看過版主的舉例說明, 有幾個地方不懂,請板主說明下
多進:=A or barpos=0; //Q1為何要BARPOS=0 ?
多出:=X or barpos=0;
空進:=S or barpos=0;
空出:=Z or barpos=0;
強出:=TIME=134000;
//Q2請問是134000的時間點到了, 無條件平倉嗎?//
進出:C*0;
//Q3為何要*C ? 目的是轉換成數組嗎?
CC:=C;
多空:=0; //1.多 -1.空 0.無--> OK
盈虧:c*0 ,linethick;
//Q4為何要*C ? 目的是轉換成數組嗎?//
for i = 1 to datacount do begin
if 多空=0 and 強出[i]=0 then begin
//Q5 強出[i]=0 在這裡的用途?強出不是強制出場的時間嗎? 應該是常量, 如果判斷是0, 那不是永遠不會執行了???//
多空:=多進[i]-空進[i];
//Q6為何多空是"多進[i]-空進[i]"? 我覺得應該是(多進-多出)+(空進-空出)不是嗎?//
進出[i]:=多空;
if 多空<>0 then 進價:=CC[i];
end else if 多空<>0 then begin
盈虧[i]:=(CC[i]-進價)*多空;
if 強出[i] then begin
進出[i]:=多空*4;
多空:=0;
//Q7 為何多空要*4?
end else begin
if 多空=多出[i] or 多空=-空出[i] then begin
進出[i]:=多空*2; 多空:=0;
//Q8 為何多空要*2?
end else if 多空=空進[i] or 多空=-多進[i] then begin
進出[i]:=多空*3; 多空:=-多空;
end;
end;
end;
end;
我看了很多次, 還是不懂, 麻煩板主協助下說明,謝謝
__________________
win365
|
|
向版主報告此篇 |  |
|
2013-01-04 08:11 |
|
|
|  |
 |
P2372
中級會員

註冊日期: Mar 2012
來 自: 台北
文章數量: 35 |
補充說明 : AXSZ這4個英文字是我的公式的運算結果
補充說明:
我的城市原碼:
//BUY
A1:=IF(CROSS(C,P),1,0);DRAWTEXT(A1,H+5,'1');
A:=IF(A1,1,0);DRAWICON(A,L-1,'B0');//在L-1劃出買訊符號
//SALE
S1:=IF(CROSS(P,C),1,0);DRAWTEXT(S1,L-5,'1');
S:=IF(S1,1,0);DRAWICON(S,H+5,'S0');//在H+5劃出賣訊符號
//平多
X1:=IF(多單平倉條件,1,0);DRAWTEXT(X1,L-7,'1');
X:=IF(X1,1,0);DRAWICON(X,H+3,'S1');//在H+3劃出多單平倉的符號
//BS補空
Z1:=IF(空單平倉條件,1,0);DRAWTEXT(Z1,H+5,'1');
Z:=IF(Z1,1,0);DRAWICON(Z,L,'B1');//在L處劃出空單平倉的符號
多進:=A or barpos=0;
//如果買多條件沒有成立, 多進=0, 有買訊時,多進=1//
多出:=X or barpos=0;
空進:=S or barpos=0;
空出:=Z or barpos=0;
強出:=TIME=134000;
進出:C*0; CC:=C;
多空:=0; //1.多 -1.空 0.無
盈虧:c*0 ,linethick;
__________________
win365
|
|
向版主報告此篇 |  |
|
2013-01-04 08:33 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18197 |
回覆: [求救]我看過版主的舉例說明, 有幾個地方不懂,請板主說明下
引用: 最初由 P2372 發表
多進:=A or barpos=0; //Q1為何要BARPOS=0 ?
多出:=X or barpos=0;
空進:=S or barpos=0;
空出:=Z or barpos=0;
強出:=TIME=134000;
//Q2請問是134000的時間點到了, 無條件平倉嗎?//
進出:C*0;
//Q3為何要*C ? 目的是轉換成數組嗎?
CC:=C;
多空:=0; //1.多 -1.空 0.無--> OK
盈虧:c*0 ,linethick;
//Q4為何要*C ? 目的是轉換成數組嗎?//
for i = 1 to datacount do begin
if 多空=0 and 強出[i]=0 then begin
//Q5 強出[i]=0 在這裡的用途?強出不是強制出場的時間嗎? 應該是常量, 如果判斷是0, 那不是永遠不會執行了???//
多空:=多進[i]-空進[i];
//Q6為何多空是"多進[i]-空進[i]"? 我覺得應該是(多進-多出)+(空進-空出)不是嗎?//
進出[i]:=多空;
if 多空<>0 then 進價:=CC[i];
end else if 多空<>0 then begin
盈虧[i]:=(CC[i]-進價)*多空;
if 強出[i] then begin
進出[i]:=多空*4;
多空:=0;
//Q7 為何多空要*4?
end else begin
if 多空=多出[i] or 多空=-空出[i] then begin
進出[i]:=多空*2; 多空:=0;
//Q8 為何多空要*2?
end else if 多空=空進[i] or 多空=-多進[i] then begin
進出[i]:=多空*3; 多空:=-多空;
end;
end;
end;
end;
我看了很多次, 還是不懂, 麻煩板主協助下說明,謝謝
Q1. 為何要BARPOS=0 ?
or BARPOS=0 是一種取巧的寫法, 詳見這邊的解說:
http://www.chiefox.com.tw/bbs/showt...60805#post60805
Q2. 請問是134000的時間點到了, 無條件平倉嗎?
Yes, 但正確一點的說法是 "134000這根K棒" 到達時強制出場(134000是K棒時間,並非當前時間)
Q3.Q4. 為何要*C ? 目的是轉換成數組嗎?
進出:C*0;
C*0 為 Close*0 , 其結果為 "與K棒同範圍的零值數列"
您可把它視為做宣告數列(預設值為零,數列起止範圍等同K棒起止範圍)
Q5.強出[i]=0 在這裡的用途?強出不是強制出場的時間嗎? 應該是常量, 如果判斷是0, 那不是永遠不會執行了???
強出並非是 "強制出場的時間" 唷, 它是存放條件式 "TIME=134000" 的結果
若當前K棒的時間值為 134000, 那麼該根K棒的 "強出" 值為 1 (代表成立), 否則 "強出" 值為 0 (代表不成立)
強出[i]=0 是用來判斷 第 i 根K棒的 "強出" 值是否為零
Q6.為何多空是"多進[i]-空進[i]"? 我覺得應該是(多進-多出)+(空進-空出)不是嗎?//
多空這變數在程式當中是用來代表當前進行方向 多為1 空為-1 無為0
故不會是 (多進-多出)+(空進-空出)
Q7. Q8. 為何多空要*4? 為何多空要*2?
"進出" 這變數是用來記錄當根做了什麼動作, *4 或 *2 是為了產生對應的動作編號
看程式有時要觀前並觀後, 您才會知道它中間為何要如此做?
|
|
向版主報告此篇 |  |
|
2013-01-04 10:10 |
|
|
|  |
 |
P2372
中級會員

註冊日期: Mar 2012
來 自: 台北
文章數量: 35 |
請問,為何這4個說明我沒法直接點選查看?
於 奇狐社區論壇 > 指標公式 > [進階教學] 中的這四項務必看完
01. 條件語句(判斷敘述)
02. 終止公式執行 EXIT
03. 循環語句(迴圈敘述) FOR
04. 數列運算(陣列運算)
__________________
win365
|
|
向版主報告此篇 |  |
|
2013-01-05 08:39 |
|
|
|  |
 |
P2372
中級會員

註冊日期: Mar 2012
來 自: 台北
文章數量: 35 |
請問: 有沒有加OR BARPOR=0 沒有發現異狀或是不同點?
M10:EMA(C,10);
M5:EMA(C,5);
BB:=CROSS(M5,M10);
DRAWICON(BB,L-5,'B0');
BS:BARPOS;
請問, 有沒有加OR BARPOS=0會有什麼不同?
M10:EMA(C,10);
M5:EMA(C,5);
BB:=CROSS(M5,M10) OR BARPOS=0;
DRAWICON(BB,L-5,'B0');
BS:BARPOS;
我回到BARPOS=1的點去看了, 沒有看到不同點, 請版主指點下...不好意思哈!
P2372 附帶上了此圖片:
__________________
win365
|
|
向版主報告此篇 |  |
|
2013-01-05 13:49 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18197 |
回覆: 請問: 有沒有加OR BARPOR=0 沒有發現異狀或是不同點?
引用: 最初由 P2372 發表
M10:EMA(C,10);
M5:EMA(C,5);
BB:=CROSS(M5,M10);
DRAWICON(BB,L-5,'B0');
BS:BARPOS;
請問, 有沒有加OR BARPOS=0會有什麼不同?
M10:EMA(C,10);
M5:EMA(C,5);
BB:=CROSS(M5,M10) OR BARPOS=0;
DRAWICON(BB,L-5,'B0');
BS:BARPOS;
我回到BARPOS=1的點去看了, 沒有看到不同點, 請版主指點下...不好意思哈!
您把 EMA 換為 MA, 並輸出 BB 值
去猜觀察頭幾根對 BB 造成的變化, 就可了解了
|
|
向版主報告此篇 |  |
|
2013-01-06 19:00 |
|
|
|  |
 |
P2372
中級會員

註冊日期: Mar 2012
來 自: 台北
文章數量: 35 |
了解了, 原來BB值得起效點不同
感謝版主指點, 附上我的求證圖
P2372 附帶上了此圖片:
__________________
win365
|
|
向版主報告此篇 |  |
|
2013-01-06 23:18 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|