奇狐社區論壇
在這個頁面顯示本主題全部的 13 個文章

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


由 a9681054 在 2022-10-25 20:38 發表:

迴圈相關問題

初學交易系統迴圈

請教版主:
多空:=進向[i]; 及 進向[i]=多空;

二種寫法結果會一樣嗎?

__________________
chiu


由 cgjj 在 2022-10-25 22:03 發表:

回覆: 迴圈相關問題

引用:
最初由 a9681054 發表
初學交易系統迴圈

請教版主:
多空:=進向[i]; 及 進向[i]=多空;

二種寫法結果會一樣嗎?



跟迴不迴圈無關,結果不會相等,天差地遠

多空:=進向[i];
:= 是賦值
是將 進向[i] 的值設給 多空 這個變數

進向[i]=多空;
= 是判斷
是將 進向[i] 的值 與 多空 這個變數的值做比較
若相等結果為1,不相等結果為0


由 a9681054 在 2022-10-25 22:32 發表:

版主抱歉
我後面那一組漏了冒號

正確問題是:
多空:=進向[i]; 和 進向[i]:=多空;

兩種寫法結果會一樣嗎?

__________________
chiu


由 cgjj 在 2022-10-25 22:54 發表:

引用:
最初由 a9681054 發表
版主抱歉
我後面那一組漏了冒號

正確問題是:
多空:=進向[i]; 和 進向[i]:=多空;

兩種寫法結果會一樣嗎?



不一樣呀~~
:= 並非判斷式,它是賦值

多空:=進向[i];
是將 進向[i] 的值設給 多空 這個變數

進向[i]:=多空;
是將 多空 這個變數值 設給 進向[i]


由 a9681054 在 2022-10-25 23:19 發表:

不一樣呀~~
:= 並非判斷式,它是賦值

多空:=進向[i];
是將 進向[i] 的值設給 多空 這個變數

進向[i]:=多空;
是將 多空 這個變數值 設給 進向[i]

回覆:
了解....謝謝版主說明

__________________
chiu


由 a9681054 在 2022-10-25 23:41 發表:

//KING220.SHIH 發表(成交量)
ZAry:=C*0; CC:=C;//…ok
S30:=time>=132500 or barpos=0; //強制出場//...ok
S11:=ref(c<o and v>4000,1) and S30=0 or barpos=0; //多進...ok
S12:=ref(c>o and v>3000,1) or barpos=0; //多出…ok
S21:=ref(c>o and v>4000,1) and S30=0 or barpos=0; //空進...ok
S22:=ref(c<o and v>3000,1) or barpos=0; //空出...ok
盈虧:ZAry linethick0;//...ok
進出:ZAry;//...ok
多空:0; //1.多 -1.空 0.無…….問題1: 為什麼輸出都一直為0 ?
做價:0; 停損:=30;//…ok
for i = lbound(ZAry) to datacount do begin
if 多空=0 then begin
多空:=S11[i]-S21[i]; 進出[i]:=多空;//...ok
if 多空<>0 then 做價:=CC[i];// 問題2: 做價為什麼輸出都是一樣的值?那個值是取自哪裡 ?
end else if 多空<>0 then begin
盈虧[i]:=(CC[i]-做價)*多空;// 問題3: 為什麼盈虧相減計算後要再*多空 ?
CKO:=S12[i]-S22[i];
if CKO=多空 then begin
進出[i]:=CKO*2; 多空:=0;// 問題4:為什麼這一行要有這個多空:=0; ?
end else if S30[i] then begin
進出[i]:=多空*3; 多空:=0; // 同問題4 ?
end else if 盈虧[i]<-停損 then begin
進出[i]:=多空*4; 多空:=0; // 同問題4 ?
end;
end;
end;

以上是版主回應網友KING220.SHIH,上面我有列4個問題,初學不是很懂,麻煩版主幫忙解答.....謝謝

__________________
chiu


由 cgjj 在 2022-10-26 13:41 發表:

引用:
最初由 a9681054 發表
//KING220.SHIH 發表(成交量)
ZAry:=C*0; CC:=C;//…ok
S30:=time>=132500 or barpos=0; //強制出場//...ok
S11:=ref(c<o and v>4000,1) and S30=0 or barpos=0; //多進...ok
S12:=ref(c>o and v>3000,1) or barpos=0; //多出…ok
S21:=ref(c>o and v>4000,1) and S30=0 or barpos=0; //空進...ok
S22:=ref(c<o and v>3000,1) or barpos=0; //空出...ok
盈虧:ZAry linethick0;//...ok
進出:ZAry;//...ok
多空:0; //1.多 -1.空 0.無…….問題1: 為什麼輸出都一直為0 ?
做價:0; 停損:=30;//…ok
for i = lbound(ZAry) to datacount do begin
if 多空=0 then begin
多空:=S11[i]-S21[i]; 進出[i]:=多空;//...ok
if 多空<>0 then 做價:=CC[i];// 問題2: 做價為什麼輸出都是一樣的值?那個值是取自哪裡 ?
end else if 多空<>0 then begin
盈虧[i]:=(CC[i]-做價)*多空;// 問題3: 為什麼盈虧相減計算後要再*多空 ?
CKO:=S12[i]-S22[i];
if CKO=多空 then begin
進出[i]:=CKO*2; 多空:=0;// 問題4:為什麼這一行要有這個多空:=0; ?
end else if S30[i] then begin
進出[i]:=多空*3; 多空:=0; // 同問題4 ?
end else if 盈虧[i]<-停損 then begin
進出[i]:=多空*4; 多空:=0; // 同問題4 ?
end;
end;
end;

以上是版主回應網友KING220.SHIH,上面我有列4個問題,初學不是很懂,麻煩版主幫忙解答.....謝謝



Re:問題1: 為什麼輸出都一直為0 ?
多空:0; //1.多 -1.空 0.無
這一行是將 多空 這個變數,初始值設定為零
它不是數列唷,僅是用來儲放計算當前的多空狀態
並無法拿它來看歷史!


Re:問題2: 做價為什麼輸出都是一樣的值?那個值是取自哪裡 ?
並沒有一樣唷!
做價:=CC[i] 是將 做價 這個變數值,設定為 CC 數列的第i個元素,i是隨迴圈計數的
請先對 "數列" 有基本的認識,您才有辦法解讀唷~~

Re:問題3: 為什麼盈虧相減計算後要再*多空 ?
多空 其值為1代表多,-1代表空,0代表無
盈虧[i]:=(CC[i]-做價)*多空;
CC[i] 是當前計算位置(i)之K棒收盤價
做價 是進場使用的價格
*多空 是個取巧的寫法,讓多空之盈虧可共用同一行程式算出,例如:
做多進場價是3,收盤價是8,盈虧就是 (8-3)*1 =5
做空進場價是8,收盤價是3,盈虧就是 (3-8)*-1 =5

Re:問題4: 為什麼這一行要有這個多空:=0; ?
因為出場了,沒有部位,所以多空要歸零


由 a9681054 在 2022-10-26 14:33 發表:

非常感謝版主的詳細說明,有更加了解了一些迴圈應用上的問題,至於問題2關於數列問題,我會再進一步都做些功課,後續有不懂之處再繼續向版主請教....再次感謝指導~

__________________
chiu


由 cgjj 在 2022-10-26 14:44 發表:

引用:
最初由 a9681054 發表
非常感謝版主的詳細說明,有更加了解了一些迴圈應用上的問題,至於問題2關於數列問題,我會再進一步都做些功課,後續有不懂之處再繼續向版主請教....再次感謝指導~


不客氣,建議閱讀一下 [進階教學] 01 到 04
閱讀次序請不要跳,請按序閱讀(有特別安排過)

http://www.chiefox.com.tw/bbs/forum...p?s=&forumid=46


由 a9681054 在 2022-10-26 17:27 發表:

好的,謝謝版主

__________________
chiu


由 a9681054 在 2022-10-26 17:54 發表:

數列是由很多數組成的, 其中的數我們以元素稱呼之
一個數列中共存放有5個數, 我們說它共有5個元素
在奇狐中數列可直接對數列或數值做運算
也可以針對數列中的單一元素做運算存取


請教版主:

一個數列中共存放有5個數, 我們說它共有5個元素.....是哪5個元素?

__________________
chiu


由 cgjj 在 2022-10-26 23:44 發表:

引用:
最初由 a9681054 發表
數列是由很多數組成的, 其中的數我們以元素稱呼之
一個數列中共存放有5個數, 我們說它共有5個元素
在奇狐中數列可直接對數列或數值做運算
也可以針對數列中的單一元素做運算存取


請教版主:

一個數列中共存放有5個數, 我們說它共有5個元素.....是哪5個元素?



就是那5個數呀~

例如:
存放了 3, 12, 8, 7, 10 這5個數


由 a9681054 在 2022-10-27 14:12 發表:

原來是這樣,我想太多了...謝謝

__________________
chiu


全部時間均為台灣時間, 現在時間為07:13
在這個頁面顯示本主題全部的 13 個文章


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

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