到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 指標公式 > 問題交流 > 自定義數據無法輸入單數
  上一主題   下一主題
作者
主題 發表新主題    回覆主題
seychen
中級會員

註冊日期: Feb 2009
來  自:
文章數量: 67

自定義數據無法輸入單數

我在自定義數據管理中,新建一個單值數值。但每次我輸入單數時,畫面即會將之加一或減一的自動改成偶數。請問我該怎麼辦?

例如在下圖中,我輸入20210515 會變成 20210516

seychen 附帶上了此圖片:

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

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

引用:
最初由 seychen 發表
我在自定義數據管理中,新建一個單值數值。但每次我輸入單數時,畫面即會將之加一或減一的自動改成偶數。請問我該怎麼辦?

例如在下圖中,我輸入20210515 會變成 20210516



並非是無法輸入單數!
這部分的數據是採用單精度儲存(有效位數僅七位數)
您輸入的值已達8位數了,最後一位並非有效值
故會有此現象,是正常的~~

您把年份轉換為民國年月日,就不會有此困擾!

奇狐內建的日期函數
之所以採用1900年以來的年月日來表示,也是因為這個原因~
例如:700101 代表 19700101

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

註冊日期: Feb 2009
來  自:
文章數量: 67

引用:
最初由 cgjj 發表
並非是無法輸入單數!
這部分的數據是採用單精度儲存(有效位數僅七位數)
您輸入的值已達8位數了,最後一位並非有效值
故會有此現象,是正常的~~

您把年份轉換為民國年月日,就不會有此困擾!

奇狐內建的日期函數
之所以採用1900年以來的年月日來表示,也是因為這個原因~
例如:700101 代表 19700101



謝謝! 我用西元後兩碼,共六位數,此問題解決了。但另有一問題,就是 171031 於程式執行後,變成 1032,而十月份根本就不會有 32 號。
我的程式如下,且附上幾張程式執行的畫面。


庫存日期:if(LBOUND(selfdata('庫存-日期'))=0, 0, selfdata('庫存-日期'));
date1:=numtostr(庫存日期,0);
date2:=strtonum(date1);
庫存日期:=date2;

IF 庫存日期<>0 THEN BEGIN
庫存日期:=庫存日期+20000000;
//現金股利
DYM:=year;
CASHF:=0;
MaxRecNo:=DIVDISX('');
StNo:=MaxRecNo;
for i=StNo downto 1 do begin
//取出數值
CshDivDate:=DIVDISX('','CshDivDate',i)+19000000; //除息日期
CashDiv:=DIVDISX('','CashDiv',i); //現金股利(元)

date1:=numtostr(date,0);
date2:=strtonum(date1)+19000000;
if CshDivDate > 庫存日期 and CshDivDate <= date2 and 庫存日期<>0 then begin
CashF:=Cashf+CashDiv ;
end;
end;

進價:if(LBOUND(selfdata('庫存-進價'))=0, 0, selfdata('庫存-進價'));
現金股利: CashF;
成本: 進價-現金股利;
股數:if(LBOUND(selfdata('庫存-股數'))=0, 0, selfdata('庫存-股數'));

adate:=year*10000+month*100+day;
BP:=ref(barpos, barslast(庫存日期=adate));
BPBAR:=barpos;

EOLDATE:=庫存日期-FLOOR(庫存日期/100)*100+90/22*30;
MONTHADD:=FLOOR(EOLDATE/30);
EOLDATE:= EOLDATE-MONTHADD*30;

EOLMONTH:=FLOOR((庫存日期-FLOOR(庫存日期/10000)*10000)/100);
YEARADD:=FLOOR((EOLMONTH+MONTHADD)/12);
EOLMONTH:= EOLMONTH+MONTHADD-YEARADD*12;

EOLYEAR:= FLOOR(庫存日期/10000)+YEARADD;

EOL: EOLYEAR*10000+EOLMONTH*100+EOLDATE;

收盤價格: C;
損益: (C-成本)*股數;
損益率: 損益/(成本*股數)*100;
END;

附件: datebuy.pdf
此文件已被下載 99 次。

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

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

引用:
最初由 seychen 發表
謝謝! 我用西元後兩碼,共六位數,此問題解決了。但另有一問題,就是 171031 於程式執行後,變成 1032,而十月份根本就不會有 32 號。
我的程式如下,且附上幾張程式執行的畫面。


庫存日期:if(LBOUND(selfdata('庫存-日期'))=0, 0, selfdata('庫存-日期'));
date1:=numtostr(庫存日期,0);
date2:=strtonum(date1);
庫存日期:=date2;

IF 庫存日期<>0 THEN BEGIN
庫存日期:=庫存日期+20000000;
//現金股利
DYM:=year;
CASHF:=0;
MaxRecNo:=DIVDISX('');
StNo:=MaxRecNo;
for i=StNo downto 1 do begin
//取出數值
CshDivDate:=DIVDISX('','CshDivDate',i)+19000000; //除息日期
CashDiv:=DIVDISX('','CashDiv',i); //現金股利(元)

date1:=numtostr(date,0);
date2:=strtonum(date1)+19000000;
if CshDivDate > 庫存日期 and CshDivDate <= date2 and 庫存日期<>0 then begin
CashF:=Cashf+CashDiv ;
end;
end;

進價:if(LBOUND(selfdata('庫存-進價'))=0, 0, selfdata('庫存-進價'));
現金股利: CashF;
成本: 進價-現金股利;
股數:if(LBOUND(selfdata('庫存-股數'))=0, 0, selfdata('庫存-股數'));

adate:=year*10000+month*100+day;
BP:=ref(barpos, barslast(庫存日期=adate));
BPBAR:=barpos;

EOLDATE:=庫存日期-FLOOR(庫存日期/100)*100+90/22*30;
MONTHADD:=FLOOR(EOLDATE/30);
EOLDATE:= EOLDATE-MONTHADD*30;

EOLMONTH:=FLOOR((庫存日期-FLOOR(庫存日期/10000)*10000)/100);
YEARADD:=FLOOR((EOLMONTH+MONTHADD)/12);
EOLMONTH:= EOLMONTH+MONTHADD-YEARADD*12;

EOLYEAR:= FLOOR(庫存日期/10000)+YEARADD;

EOL: EOLYEAR*10000+EOLMONTH*100+EOLDATE;

收盤價格: C;
損益: (C-成本)*股數;
損益率: 損益/(成本*股數)*100;
END;



問題的根本原因是相同的!
(公式計算時也是採單精度)

例如以下這兩個式子,都是超過7位數了,也會面臨精度問題!
庫存日期:=庫存日期+20000000;
strtonum(date1)+19000000;

其他部分請自行一併檢查~~

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

註冊日期: Feb 2009
來  自:
文章數量: 67

引用:
最初由 cgjj 發表
問題的根本原因是相同的!
(公式計算時也是採單精度)

例如以下這兩個式子,都是超過7位數了,也會面臨精度問題!
庫存日期:=庫存日期+20000000;
strtonum(date1)+19000000;

其他部分請自行一併檢查~~



可以了,謝謝

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

註冊日期: Feb 2009
來  自:
文章數量: 67

還有一個自定義數據長期造成我一些小困擾的問題。那就是這些數據會隨著時間增長自己長大並複製如附圖。這些數據我都只有輸入一筆。

seychen 附帶上了此圖片:

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

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

引用:
最初由 seychen 發表
還有一個自定義數據長期造成我一些小困擾的問題。那就是這些數據會隨著時間增長自己長大並複製如附圖。這些數據我都只有輸入一筆。


謝謝通報!
這個的問題我再請工程師查修一下。

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

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

手邊的最新測試版本,已經修正這個問題,近期會發佈軟體更新。

最新的 Chiefox.exe 已經先發送短訊給您了

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

註冊日期: Feb 2009
來  自:
文章數量: 67

引用:
最初由 cgjj 發表
手邊的最新測試版本,已經修正這個問題,近期會發佈軟體更新。

最新的 Chiefox.exe 已經先發送短訊給您了




Thanks

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

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

已發佈修正後的軟體更新,請見:
http://www.chiefox.com.tw/bbs/showt...&threadid=23102

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

註冊日期: Feb 2009
來  自:
文章數量: 67

引用:
最初由 cgjj 發表
已發佈修正後的軟體更新,請見:
http://www.chiefox.com.tw/bbs/showt...&threadid=23102




另外 可否依照股票代號 sorting?

seychen 附帶上了此圖片:

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

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

引用:
最初由 seychen 發表
另外 可否依照股票代號 sorting?


您這需求我先記下,未來再支持。
其實在數據列表用公式跑出結果,觀看上會更加便利。

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

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

引用:
最初由 seychen 發表
另外 可否依照股票代號 sorting?


手邊的最新測試版本,已經支持按股票代號排序,近期就會發佈軟體升級更新

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

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

引用:
最初由 cgjj 發表
手邊的最新測試版本,已經支持按股票代號排序,近期就會發佈軟體升級更新


已發佈軟體升級更新,請見:
http://www.chiefox.com.tw/bbs/showt...&threadid=23525

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

論壇跳轉:
主題評分:

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