請教寫法
想請問各位大大若以5分鐘K線
要找出開盤後,前5根K棒的最高價跟最低價,程式可以怎麼表達呢?
煩請大大們幫忙,感恩。
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:35 編輯
blj0511 發表於 16-1-27 18:23
Value1= iff( D>D, 1, Value1+1);
用一般寫法就是
其實,那是三元運算子的形式
習慣了之後,簡短的描述改用三元運算子去寫,我感覺程式的易讀性反而比較高
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那三個欄位的作用
所以我討厭寫簡寫
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
你有沒有想好的策略呢? 要不要試試把策略邏輯先寫出來, 思考看看如何寫成程式
也可以請網友幫忙把策略邏輯寫範例程式, 然後你再研究與修改這些程式,
這樣學習會比較快哦
Value1= iff( D>D, 1, Value1+1);
if Value1=5 then begin
HH=highest(h,5);
LL=lowest(l,5);
end; 沒房子的阿捨 發表於 16-1-27 01:24
Value1= iff( D>D, 1, Value1+1);
if Value1=5 then begin
阿捨大大
HH是最高的意思嗎?
iff 是什麼意思?
沒房子的阿捨 發表於 16-1-27 14:47
HH是隨便取的一個變數名稱, LL也是
iff是MC的程式語法, 是簡單的傳回數值判斷式
阿捨 大大
原來 iff 是個意思… 謝謝您哦。 我明白了。
好的,我會想想我策略邏輯,再請教大家。
因為,我從來沒寫過程式…這幾天才開始學, 所以很多問題,如果問得太膚淺,希望多多包函。。。^_^
沒房子的阿捨 發表於 16-1-27 01:24
Value1= iff( D>D, 1, Value1+1);
if Value1=5 then begin
想請問一下,
Value1+1的意思是回傳=D>D嗎?
有點不是很了解,
另外就是今日的K線表示是用數字來呈現嗎?
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;
感謝blj0511大大及阿捨大大的解釋。
我是知道說當D>D成立時,回傳1,不成立時回傳VALUE1,但我想知道的是,為什麼不成立時要寫VALUE1+1這樣,這個我想了好久,還是沒有答案。
另外就是開整後的K線表示是用數字來呈現嗎?
如第一根K棒=1,第二根K棒=2這樣。 曾永政 發表於 16-1-28 07:33
其實,那是三元運算子的形式
習慣了之後,簡短的描述改用三元運算子去寫,我感覺程式的易讀性反而比較高
...
那就是說「當X成立時傳回一個Y值,不成立時傳回一個Z值,X、Y、Z值依我的需求來決定。」,是這樣的感覺嗎?感覺腦袋有點打結,哈哈哈{:4_140:}
曾永政 發表於 16-1-28 07:33
其實,那是三元運算子的形式
習慣了之後,簡短的描述改用三元運算子去寫,我感覺程式的易讀性反而比較高
...
那就是說「當X成立時傳回一個Y值,不成立時傳回一個Z值,X、Y、Z值依我的需求來決定。」,是這樣的感覺嗎?感覺腦袋有點打結,哈哈哈{:4_140:}
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
後面就一直加下去
fine940621 發表於 16-1-28 10:11
那就是說「當X成立時傳回一個Y值,不成立時傳回一個Z值,X、Y、Z值依我的需求來決定。」,是這樣的感覺嗎 ...
這是很平常的...每天都在做決定阿....XD
如果我身上有超過30元, 那就買麵包, 否則就買包子.......
如果我趕時間, 就坐計程車, 否則就搭公車......
如果持有的是學生票, 就打7折, 否則就不打折....
頁:
[1]
2