fine940621 發表於 16-1-26 23:02

請教寫法

想請問各位大大

若以5分鐘K線

要找出開盤後,前5根K棒的最高價跟最低價,程式可以怎麼表達呢?

煩請大大們幫忙,感恩。

沒房子的阿捨 發表於 16-1-28 18:37

fine940621 發表於 16-1-28 01:59
感謝blj0511大大及阿捨大大的解釋。

我是知道說當D>D成立時,回傳1,不成立時回傳VALUE1,但我想知道的 ...

假設想要找出當天到站的客運第5台好了~並拿一個叫VALUE1的盒子丟豆子在裡面來計算車次,
首先要定義, 甚麼樣的條件算第一台車:
計算的邏輯是, 當這班客運與上一班的發車日期不同時(假設是本班車1/27 6:00與上一班車1/26 22:30), 則算今天第一班車
所以當天第一台車, VALUE1盒子就會清空並只放1顆豆子
第二台車時, VALUE1盒子就會加1顆豆子, 總共為2顆豆子.....
第三台車時, VALUE1盒子就會加1顆豆子, 總共為3顆豆子.....
.........一直加總, 當天有幾台車, VALUE1就會有幾顆豆子.

if D<>D then VALUE1=1 else VALUE1=VALUE1+1;
今天8:50第一根K棒, 與前一根昨天13:45的K棒日期不同-->所以定義為第一根K棒, 將VALUE1清空只留1顆豆子
今天8:55第二根K棒, 與前一根今天8:50的K棒日期相同-> 在VALUE1中加一顆豆子, 總共為2顆豆子.
今天9:00第三根K棒, 與前一根今天8:55的K棒日期相同-> 在VALUE1中加一顆豆子, 總共為3顆豆子.
所以只要看VALUE1盒子中有幾顆豆子,就知道目前是第幾根K棒

另外我猜你可能只是搞不清楚語法:
在VALUE1盒子中加一顆豆子, 在MC程式中寫法為 VALUE1=VALUE1+1


曾永政 發表於 16-1-28 07:33

本帖最後由 曾永政 於 16-1-28 07:35 編輯

blj0511 發表於 16-1-27 18:23
Value1= iff( D>D, 1, Value1+1);
用一般寫法就是


其實,那是三元運算子的形式
習慣了之後,簡短的描述改用三元運算子去寫,我感覺程式的易讀性反而比較高

blj0511 發表於 16-1-27 18:23

fine940621 發表於 16-1-27 17:29
想請問一下,
Value1+1的意思是回傳=D>D嗎?
有點不是很了解,

Value1= iff( D>D, 1, Value1+1);
用一般寫法就是

if D>D then begin
   Value1=1;
end else begin
   Value1=Value1+1;
end;

您大概就可以了解iff那三個欄位的作用

所以我討厭寫簡寫

沒房子的阿捨 發表於 16-1-27 14:47

huagei 發表於 16-1-27 13:49
阿捨大大

HH是最高的意思嗎?


HH是隨便取的一個變數名稱, LL也是

iff是MC的程式語法, 是簡單的傳回數值判斷式
大致上是 iff(條件, 若條件成立, 若條件不成立)
ex: c = iff(a>b,1,2)
等同於if a>b then c=1 else c=2;
若a大於b, 則c=1,否則c=2

你有沒有想好的策略呢? 要不要試試把策略邏輯先寫出來, 思考看看如何寫成程式
也可以請網友幫忙把策略邏輯寫範例程式, 然後你再研究與修改這些程式,
這樣學習會比較快哦



沒房子的阿捨 發表於 16-1-27 01:24

Value1= iff( D>D, 1, Value1+1);

if Value1=5 then begin
HH=highest(h,5);
LL=lowest(l,5);
end;

huagei 發表於 16-1-27 13:49

沒房子的阿捨 發表於 16-1-27 01:24
Value1= iff( D>D, 1, Value1+1);

if Value1=5 then begin


阿捨大大

HH是最高的意思嗎?
iff 是什麼意思?

huagei 發表於 16-1-27 16:22

沒房子的阿捨 發表於 16-1-27 14:47
HH是隨便取的一個變數名稱, LL也是

iff是MC的程式語法, 是簡單的傳回數值判斷式


阿捨 大大

原來 iff 是個意思… 謝謝您哦。 我明白了。

好的,我會想想我策略邏輯,再請教大家。

因為,我從來沒寫過程式…這幾天才開始學,   所以很多問題,如果問得太膚淺,希望多多包函。。。^_^

fine940621 發表於 16-1-27 17:29

沒房子的阿捨 發表於 16-1-27 01:24
Value1= iff( D>D, 1, Value1+1);

if Value1=5 then begin


想請問一下,
Value1+1的意思是回傳=D>D嗎?
有點不是很了解,
另外就是今日的K線表示是用數字來呈現嗎?

沒房子的阿捨 發表於 16-1-27 22:24

fine940621 發表於 16-1-27 17:29
想請問一下,
Value1+1的意思是回傳=D>D嗎?
有點不是很了解,


Value1= iff( D>D, 1, Value1+1); 這一行的作用與以下寫法相同:

if D<>D then VALUE1=1 else VALUE=VALUE+1;


fine940621 發表於 16-1-28 01:59

感謝blj0511大大及阿捨大大的解釋。

我是知道說當D>D成立時,回傳1,不成立時回傳VALUE1,但我想知道的是,為什麼不成立時要寫VALUE1+1這樣,這個我想了好久,還是沒有答案。

另外就是開整後的K線表示是用數字來呈現嗎?
如第一根K棒=1,第二根K棒=2這樣。

fine940621 發表於 16-1-28 10:11

曾永政 發表於 16-1-28 07:33
其實,那是三元運算子的形式
習慣了之後,簡短的描述改用三元運算子去寫,我感覺程式的易讀性反而比較高
...

那就是說「當X成立時傳回一個Y值,不成立時傳回一個Z值,X、Y、Z值依我的需求來決定。」,是這樣的感覺嗎?感覺腦袋有點打結,哈哈哈{:4_140:}



fine940621 發表於 16-1-28 10:11

曾永政 發表於 16-1-28 07:33
其實,那是三元運算子的形式
習慣了之後,簡短的描述改用三元運算子去寫,我感覺程式的易讀性反而比較高
...

那就是說「當X成立時傳回一個Y值,不成立時傳回一個Z值,X、Y、Z值依我的需求來決定。」,是這樣的感覺嗎?感覺腦袋有點打結,哈哈哈{:4_140:}



blj0511 發表於 16-1-28 10:35

fine940621 發表於 16-1-28 01:59
感謝blj0511大大及阿捨大大的解釋。

我是知道說當D>D成立時,回傳1,不成立時回傳VALUE1,但我想知道的 ...

這邊主要是要計算今天開始已經出現幾根K棒,value1是指今天已經出現幾根K棒
D>D時value=1,因為已經隔天了,代表示開盤第一根K棒,所以value1=1

當出現第二根時,因為那時D已經=D,所以不成立,因此要加計一根K,所以value1=value1+1=2

後面就一直加下去

沒房子的阿捨 發表於 16-1-28 17:38

fine940621 發表於 16-1-28 10:11
那就是說「當X成立時傳回一個Y值,不成立時傳回一個Z值,X、Y、Z值依我的需求來決定。」,是這樣的感覺嗎 ...

這是很平常的...每天都在做決定阿....XD

如果我身上有超過30元, 那就買麵包, 否則就買包子.......
如果我趕時間, 就坐計程車, 否則就搭公車......
如果持有的是學生票, 就打7折, 否則就不打折....

頁: [1] 2
查看完整版本: 請教寫法