到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 指標公式 > 問題交流 > [問題]請問: 多空=0 跟 多空[i]=0 有什麼不一樣?我發現有時加上[i]可以編過,有時不行?
總頁數 (2): [1] 2 »   上一主題   下一主題
作者
主題 發表新主題    回覆主題
P2372
中級會員

註冊日期: Mar 2012
來  自: 台北
文章數量: 35

問題 [問題]請問: 多空=0 跟 多空[i]=0 有什麼不一樣?我發現有時加上[i]可以編過,有時不行?

P:EMA(C,5);
A:=C>P;
X:=C>P+20;
S:=C<P;
Z:=C<P-20;
多進:A or barpos=0,COLORRED;
平多:X or barpos=0,COLORGREEN;
空進:S or barpos=0,COLORGREEN;
平空:Z or barpos=0,COLOR5500AA;
利潤:C*0;//因為不會寫記下當時的買賣值, 所以還沒寫???
// 平多:=賺50點 or barpos=0;//H-多進>=50多先出一口=做多平倉
// 平多:=賠50點 or barpos=0;//多進-L>=50多先出一口=多單停損
// 平空:=賺50點 or barpos=0;//空進-L>=50多先出一口=做空平倉
// 平空:=賠50點 or barpos=0;//H-空進>=50多先出一口=空單停損
進出:c*0;
TEST:0;//檢查是否進入判斷式的旗標
//[進出] 這變數值代表進出的點數.
// 1.多進, -1.空進 0.空手
多空:c*0,COLOR999900; //1.多 -1.空 0.無,是狀態旗標
for i = 1 to datacount do
begin
if 多空[i]=0 then
begin
多空[i]:=多進[i]-空進[i];test:=0;
end
else if 多空[i]=1 then
begin
if 平多[i]=1 then
begin
多空[i]:=0;test:=1;
end
else if 空進[i]=1 then
begin
多空[i]:=-1;test:=2;
end
else break
end
else if 多空[i]=-1 then
begin
if 平空[i]=1 then
begin
多空[i]:=0;test:=3;
end
else if 多進[i]=1 then
begin
多空[i]:=1;test:=4;
end
else break
end
else break
end;


我想做的效果:
1. 買訊出現, 多空=1, 並且記下那根K線的P值(=進出)
2. 賣訊出現, 多空=-1, 並且記下那跟K線的P值(=進出)
同時,計算出PR值=利潤=(P買-P賣)
3. 停損停利點滿足時, 做出平多或是平空, 並且將 多空=0(還沒寫)
請問版主, 我應該如何修改程式?我嘗試了10天了, 實在搞不懂奇狐的公式寫法? 求助解答下

__________________
win365

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

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

回覆: [問題]請問: 多空=0 跟 多空[i]=0 有什麼不一樣?我發現有時加上[i]可以編過,有時不行?

引用:
最初由 P2372 發表
P:EMA(C,5);
A:=C>P;
X:=C>P+20;
S:=C<P;
Z:=C<P-20;
多進:A or barpos=0,COLORRED;
平多:X or barpos=0,COLORGREEN;
空進:S or barpos=0,COLORGREEN;
平空:Z or barpos=0,COLOR5500AA;
利潤:C*0;//因為不會寫記下當時的買賣值, 所以還沒寫???
// 平多:=賺50點 or barpos=0;//H-多進>=50多先出一口=做多平倉
// 平多:=賠50點 or barpos=0;//多進-L>=50多先出一口=多單停損
// 平空:=賺50點 or barpos=0;//空進-L>=50多先出一口=做空平倉
// 平空:=賠50點 or barpos=0;//H-空進>=50多先出一口=空單停損
進出:c*0;
TEST:0;//檢查是否進入判斷式的旗標
//[進出] 這變數值代表進出的點數.
// 1.多進, -1.空進 0.空手
多空:c*0,COLOR999900; //1.多 -1.空 0.無,是狀態旗標
for i = 1 to datacount do
begin
if 多空[i]=0 then
begin
多空[i]:=多進[i]-空進[i];test:=0;
end
else if 多空[i]=1 then
begin
if 平多[i]=1 then
begin
多空[i]:=0;test:=1;
end
else if 空進[i]=1 then
begin
多空[i]:=-1;test:=2;
end
else break
end
else if 多空[i]=-1 then
begin
if 平空[i]=1 then
begin
多空[i]:=0;test:=3;
end
else if 多進[i]=1 then
begin
多空[i]:=1;test:=4;
end
else break
end
else break
end;


我想做的效果:
1. 買訊出現, 多空=1, 並且記下那根K線的P值(=進出)
2. 賣訊出現, 多空=-1, 並且記下那跟K線的P值(=進出)
同時,計算出PR值=利潤=(P買-P賣)
3. 停損停利點滿足時, 做出平多或是平空, 並且將 多空=0(還沒寫)
請問版主, 我應該如何修改程式?我嘗試了10天了, 實在搞不懂奇狐的公式寫法? 求助解答下




每套程式的迴圈應用寫法, 都有其各自的考量
迴圈搭配數列存取, 您必需先對它熟悉並了解
看懂理解原程式的運作架構後, 才有可能去修改它

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

註冊日期: Mar 2012
來  自: 台北
文章數量: 35

問題 補充圖形

補充圖形說明

P2372 附帶上了此圖片:

__________________
win365

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

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

回覆: 補充圖形

引用:
最初由 P2372 發表
補充圖形說明


當根K線的P值
在迴圈中, 可直接用 P[i] 取得

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

註冊日期: Mar 2012
來  自: 台北
文章數量: 35

我修改了程式, 從test的值=2可以看出, 沒有進入(多空=-1迴圈)為什麼

第3根k線時,應該進入這個判斷式迴圈中, 但是 不管我的游標如何移動, 結果都沒有改變?
從test的值=2可以看出, 沒有進入(多空=-1迴圈)為什麼?
並且奇怪的是, 為何不管游標如何移動到任何點, 畫面上的輸出的(變數多空)值, 永遠都沒有改變?從第1根到最後1根都是-1?

請協助解答, 謝謝

P2372 附帶上了此圖片:

__________________
win365

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

註冊日期: Mar 2012
來  自: 台北
文章數量: 35

補充:補上程式原碼

P:EMA(C,5),colorffffff,linethick3;
A:=C>P;
X:=C>P+20;
S:=C<P;
Z:=C<P-20;
多進:A or barpos=0,COLORRED;
drawicon(A,L-2,4);
平多:X or barpos=0,COLORGREEN;
drawicon(X,H+5,11);
空進:S or barpos=0,COLORGREEN;
drawicon(S,H+2,5);
平空:Z or barpos=0,COLOR5500AA;
drawicon(Z,L-5,10);
// 平多:=賺50點 or barpos=0;//H-多進>=50多先出一口=做多平倉
// 平多:=賠50點 or barpos=0;//多進-L>=50多先出一口=多單停損
// 平空:=賺50點 or barpos=0;//空進-L>=50多先出一口=做空平倉
// 平空:=賠50點 or barpos=0;//H-空進>=50多先出一口=空單停損
進出:c*0,COLOR000000;
TEST:0,COLOR000000;
//[進出] 這變數值代表進出的點數.
// 1.多進, -1.空進 0.空手
//多空[i]:=0;是將 "多" 這個數列, 其中的第 i 個元素, 設定為零
//多空:=0;是將 "多" 這個變數(非數列), 設定為零
多空:0,COLOR999900; //1.多 -1.空 0.無,是狀態旗標
多進t:0;
利潤:0;
for i = 1 to datacount do
begin
if 多空=0 then
begin
多空:=多進[i]-空進[i];test:=0;
end
else if 多空=1 then
begin
if 平多[i]=1 then
begin
多空:=0;test:=1;
end
else if 空進[i]=1 then
begin
多空:=-1;test:=2;
end
else break
end
else if 多空=-1 then
begin
if 平空[i]=1 then
begin
多空:=0;test:=3;
end
else if 多進[i]=1 then
begin
多空:=1;test:=4;
end
else break
end
else break
end;

__________________
win365

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

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

回覆: 我修改了程式, 從test的值=2可以看出, 沒有進入(多空=-1迴圈)為什麼

引用:
最初由 P2372 發表
第3根k線時,應該進入這個判斷式迴圈中, 但是 不管我的游標如何移動, 結果都沒有改變?
從test的值=2可以看出, 沒有進入(多空=-1迴圈)為什麼?
並且奇怪的是, 為何不管游標如何移動到任何點, 畫面上的輸出的(變數多空)值, 永遠都沒有改變?從第1根到最後1根都是-1?

請協助解答, 謝謝



因為錯用, 所以會有錯的結果

多空:=C*0; //此時 "多空" 是個數列, 自頭到尾值均為零 (因為 Close是數列)
多空[50]:=1; //將 "多空" 的第50根K棒值設為 1, 其餘不變 , "多空" 仍是數列
多空:=0; //將 "多空" 定義為零, "多空" 不再是數列

何謂數列? 數列如何存取? 您需先去了解學習清楚, 再去應用

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

註冊日期: Mar 2012
來  自: 台北
文章數量: 35

上個問題您已經回復數列跟變數的不同,我已經修改了

上個問題您已經回復數列跟變數的不同,我已經修改了程式裡頭多空:=c*0;這個錯誤, 所以附上新的原碼板主可能沒有注意到,
謝謝您的指導, 數列跟變數我知道的,
a[5]:=a[0,1,2,3,4]共有5個元素,
a:=5; 只有1個元素
這我知道,
麻煩板主看新的原碼, 再次麻煩下, 不好意思, 請您再次指點:

新的原碼的多空變數已經改變如下了:
多空:0,COLOR999900; //1.多 -1.空 0.無,是狀態旗標


P:EMA(C,5),colorffffff,linethick3;
A:=C>P;
X:=C>P+20;
S:=C<P;
Z:=C<P-20;
多進:A or barpos=0,COLORRED;
drawicon(A,L-2,4);
平多:X or barpos=0,COLORGREEN;
drawicon(X,H+5,11);
空進:S or barpos=0,COLORGREEN;
drawicon(S,H+2,5);
平空:Z or barpos=0,COLOR5500AA;
drawicon(Z,L-5,10);
// 平多:=賺50點 or barpos=0;//H-多進>=50多先出一口=做多平倉
// 平多:=賠50點 or barpos=0;//多進-L>=50多先出一口=多單停損
// 平空:=賺50點 or barpos=0;//空進-L>=50多先出一口=做空平倉
// 平空:=賠50點 or barpos=0;//H-空進>=50多先出一口=空單停損
進出:c*0,COLOR000000;
TEST:0,COLOR000000;
//[進出] 這變數值代表進出的點數.
// 1.多進, -1.空進 0.空手
//多空[i]:=0;是將 "多" 這個數列, 其中的第 i 個元素, 設定為零
//多空:=0;是將 "多" 這個變數(非數列), 設定為零
多空:0,COLOR999900; //1.多 -1.空 0.無,是狀態旗標
多進t:0;
利潤:0;
for i = 1 to datacount do
begin
if 多空=0 then
begin
多空:=多進[i]-空進[i];test:=0;
end
else if 多空=1 then
begin
if 平多[i]=1 then
begin
多空:=0;test:=1;
end
else if 空進[i]=1 then
begin
多空:=-1;test:=2;
end
else break
end
else if 多空=-1 then
begin
if 平空[i]=1 then
begin
多空:=0;test:=3;
end
else if 多進[i]=1 then
begin
多空:=1;test:=4;
end
else break
end
else break
end;

__________________
win365

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

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

回覆: 上個問題您已經回復數列跟變數的不同,我已經修改了

引用:
最初由 P2372 發表
上個問題您已經回復數列跟變數的不同,我已經修改了程式裡頭多空:=c*0;這個錯誤, 所以附上新的原碼板主可能沒有注意到,
謝謝您的指導, 數列跟變數我知道的,
a[5]:=a[0,1,2,3,4]共有5個元素,
a:=5; 只有1個元素
這我知道,
麻煩板主看新的原碼, 再次麻煩下, 不好意思, 請您再次指點:

新的原碼的多空變數已經改變如下了:
多空:0,COLOR999900; //1.多 -1.空 0.無,是狀態旗標
P:EMA(C,5),colorffffff,linethick3;
A:=C>P;
X:=C>P+20;
S:=C<P;
Z:=C<P-20;
多進:A or barpos=0,COLORRED;
drawicon(A,L-2,4);
平多:X or barpos=0,COLORGREEN;
drawicon(X,H+5,11);
空進:S or barpos=0,COLORGREEN;
drawicon(S,H+2,5);
平空:Z or barpos=0,COLOR5500AA;
drawicon(Z,L-5,10);
// 平多:=賺50點 or barpos=0;//H-多進>=50多先出一口=做多平倉
// 平多:=賠50點 or barpos=0;//多進-L>=50多先出一口=多單停損
// 平空:=賺50點 or barpos=0;//空進-L>=50多先出一口=做空平倉
// 平空:=賠50點 or barpos=0;//H-空進>=50多先出一口=空單停損
進出:c*0,COLOR000000;
TEST:0,COLOR000000;
//[進出] 這變數值代表進出的點數.
// 1.多進, -1.空進 0.空手
//多空[i]:=0;是將 "多" 這個數列, 其中的第 i 個元素, 設定為零
//多空:=0;是將 "多" 這個變數(非數列), 設定為零
多空:0,COLOR999900; //1.多 -1.空 0.無,是狀態旗標
多進t:0;
利潤:0;
for i = 1 to datacount do
.............................



問題在迴圈內
迴圈內, 您程式並無把結果存於數列之中

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

註冊日期: Mar 2012
來  自: 台北
文章數量: 35

我修改了程式, 但是仍然沒有進入迴圈?

P:EMA(C,5),colorffffff,linethick3;
A:=C>P;
X:=C>P+20;
S:=C<P;
Z:=C<P-20;
多進:A or barpos=0,COLORRED;
drawicon(A,L-2,4);
平多:X or barpos=0,COLORGREEN;
drawicon(X,H+5,11);
空進:S or barpos=0,COLORGREEN;
drawicon(S,H+2,5);
平空:Z or barpos=0,COLOR5500AA;
drawicon(Z,L-5,10);
// 平多:=賺50點 or barpos=0;//H-多進>=50多先出一口=做多平倉
// 平多:=賠50點 or barpos=0;//多進-L>=50多先出一口=多單停損
// 平空:=賺50點 or barpos=0;//空進-L>=50多先出一口=做空平倉
// 平空:=賠50點 or barpos=0;//H-空進>=50多先出一口=空單停損
進出:c*0,COLOR000000;
TEST:0,COLOR000000;
//[進出] 這變數值代表進出的點數.
// 1.多進, -1.空進 0.空手
//多空[i]:=0;是將 "多" 這個數列, 其中的第 i 個元素, 設定為零
//多空:=0;是將 "多" 這個變數(非數列), 設定為零
多空:0,COLOR999900; //1.多 -1.空 0.無,是狀態旗標
多進t:0;
利潤:0;
for i = 1 to datacount do
begin
if 多空=0 then
begin
多空:=多進[i]-空進[i];test:=0;
end
else if 多空=1 then
begin
if 平多[i]=1 then
begin
多空:=(多進[i]-平多[i])-空進[i];test:=1;
end
else if 空進[i]=1 then
begin
多空:=(多進[i]-平多[i])-空進[i];test:=2;
end
else break
end
else if 多空=-1 then
begin
if 平空[i]=1 then
begin
多空:=多進[i]-(空進[i]-平空[i]);test:=3;
end
else if 多進[i]=1 then
begin
多空:=多進[i]-(空進[i]-平空[i]);test:=4;
end
else break
end
else break
end;

__________________
win365

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

註冊日期: Mar 2012
來  自: 台北
文章數量: 35

補充: 我加入了我的想法, 請指點哪裡錯了?

版主老大:
我的疑問: 為何沒有進入迴圈: 多空=-1的多進=1的這個迴圈?
如果有進入, TEST這個FLAG應該被改成了4,
但是驗證的結果-->TEST旗標永遠都是2, 不管我的游標如何移動, 從2008年到2013年都是如此?

請指點下, 謝謝

P2372 附帶上了此圖片:

__________________
win365

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

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

回覆: 補充: 我加入了我的想法, 請指點哪裡錯了?

引用:
最初由 P2372 發表
P:EMA(C,5),colorffffff,linethick3;
A:=C>P;
X:=C>P+20;
S:=C<P;
Z:=C<P-20;
多進:A or barpos=0,COLORRED;
drawicon(A,L-2,4);
平多:X or barpos=0,COLORGREEN;
drawicon(X,H+5,11);
空進:S or barpos=0,COLORGREEN;
drawicon(S,H+2,5);
平空:Z or barpos=0,COLOR5500AA;
drawicon(Z,L-5,10);
// 平多:=賺50點 or barpos=0;//H-多進>=50多先出一口=做多平倉
// 平多:=賠50點 or barpos=0;//多進-L>=50多先出一口=多單停損
// 平空:=賺50點 or barpos=0;//空進-L>=50多先出一口=做空平倉
// 平空:=賠50點 or barpos=0;//H-空進>=50多先出一口=空單停損
進出:c*0,COLOR000000;
TEST:0,COLOR000000;
//[進出] 這變數值代表進出的點數.
// 1.多進, -1.空進 0.空手
//多空[i]:=0;是將 "多" 這個數列, 其中的第 i 個元素, 設定為零
//多空:=0;是將 "多" 這個變數(非數列), 設定為零
多空:0,COLOR999900; //1.多 -1.空 0.無,是狀態旗標
多進t:0;
利潤:0;
for i = 1 to datacount do
begin
if 多空=0 then
begin
多空:=多進[i]-空進[i];test:=0;
end
else if 多空=1 then
begin
if 平多[i]=1 then
begin
多空:=(多進[i]-平多[i])-空進[i];test:=1;
end
else if 空進[i]=1 then
begin
多空:=(多進[i]-平多[i])-空進[i];test:=2;
end
else break
end
else if 多空=-1 then
begin
if 平空[i]=1 then
begin
多空:=多進[i]-(空進[i]-平空[i]);test:=3;
end
else if 多進[i]=1 then
begin
多空:=多進[i]-(空進[i]-平空[i]);test:=4;
end
else break
end
else break
end;


我的疑問: 為何沒有進入迴圈: 多空=-1的多進=1的這個迴圈?
如果有進入, TEST這個FLAG應該被改成了4,
但是驗證的結果-->TEST旗標永遠都是2, 不管我的游標如何移動, 從2008年到2013年都是如此?

請指點下, 謝謝



問題1:
"第2根K線是多空[1]" <== 不對
第2根K線應該是 [2] , 而不是 [1]
奇狐數列起點並非自零數起,而是自1數起

問題2:
前段程式
"多空" 這變數自頭到尾, 都不曾經是數列
故根本沒有 多空[n] 這種東西存在

問題3:
break 是跳離當前這層迴圈
不會再跑這層迴圈內的其他程式
註: 前段程式, 僅有一層迴圈
誤用 break, 當然後面的程序不會再被進行

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

註冊日期: Mar 2012
來  自: 台北
文章數量: 35

感謝版主的回覆, 我依照您的說明重新修改了原碼做測試, 仍然有問題

請版主協助看下我的觀念有沒有錯?
附上原碼及語句理解圖, 請看看對不對?
如果沒有錯, 為何不管游標如何移動, 結果仍然是不對?

修改內容:
1..我拿掉了 BREAK
2..拿掉了多空[N]的觀念, 把 多空 及 進出都當作一般的變數來用
3..檢查了我的迴圈關係.
執行的結果:迴圈永遠在TEST4,
但是這行明明有:這語句, 為何結果還是都不變?
多空:=多進[i]-(空進[i]-平空[i]);進出:=P[i];test:=4


P:EMA(C,5),colorffffff,linethick3;
A:=C>P;
X:=C>P+50;
S:=C<P;
Z:=C<P-50;
多進:A or barpos=0,COLORRED;
drawicon(A,L-2,4);
平多:X or barpos=0,COLORGREEN;
drawicon(X,H+5,11);
空進:S or barpos=0,COLORGREEN;
drawicon(S,H+2,5);
平空:Z or barpos=0,COLOR5500AA;
drawicon(Z,L-5,10);
進出:0,COLOR000000;
TEST:0,COLOR000000;
//[進出] 這變數值代表進出的點數.
多空:0,COLOR999900; //1.多 -1.空 0.無,是狀態旗標
利潤:0;
for i = 1 to datacount do begin

if 多空=0 then begin
多空:=多進[i]-空進[i];進出:=P[i];test:=0;end
else begin {多空<>0}
if 多空=1 then begin
if 平多[i]=1 then begin
多空:=(多進[i]-平多[i])-空進[i];進出:=P[i];test:=1;end;
else if 空進[i]=1 then begin
多空:=(多進[i]-平多[i])-空進[i];進出:=P[i];test:=2;end;end;

else begin
if 多空=-1 then begin
if 平空[i]=1 then begin
多空:=多進[i]-(空進[i]-平空[i]);進出:=P[i];test:=3;end;
else if 多進[i]=1 then begin
多空:=多進[i]-(空進[i]-平空[i]);進出:=P[i];test:=4;end;end;
else test:=5;
end;
end;
end;

P2372 附帶上了此圖片:

__________________
win365

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

註冊日期: Mar 2012
來  自: 台北
文章數量: 35

補充說明:前4根K線的變數關係

修改內容:
1..我拿掉了 BREAK
2..拿掉了多空[N]的觀念, 把 多空 及 進出都當作一般的變數來用
3..檢查了我的迴圈關係.
執行的結果:迴圈永遠在TEST4,
但是這行明明有:這語句, 為何結果還是都不變?
多空:=多進[i]-(空進[i]-平空[i]);進出:=P[i];test:=4

P2372 附帶上了此圖片:

__________________
win365

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

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

回覆: 補充說明:前4根K線的變數關係

引用:
最初由 P2372 發表
修改內容:
1..我拿掉了 BREAK
2..拿掉了多空[N]的觀念, 把 多空 及 進出都當作一般的變數來用
3..檢查了我的迴圈關係.
執行的結果:迴圈永遠在TEST4,
但是這行明明有:這語句, 為何結果還是都不變?
多空:=多進[i]-(空進[i]-平空[i]);進出:=P[i];test:=4



您程式中 test 並非是數列
故您十字游標如何移動, 它的值都不會改變

跑完迴圈後, test 存的是最終變化的數值
因為不是數列, 故未記錄過程中變化的數值

觀念建立不清, 就會很容易錯用

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

論壇跳轉:
主題評分:

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