返回列表 上一主題 發帖

請問什麼地方錯了

請問什麼地方錯了

Public i As Integer
Public m As Integer
Public n As Integer
Public B As Integer
Public S As Integer
Dim buyArray(99) As Single
Dim sellArray(99) As Single
Private Sub CommandButton1_Click()
B = 1
i = i + 1
        Sheets("sheet1").Cells(i, 1) = "買"
        Sheets("sheet1").Cells(i, 2) = Int((10 * Rnd) + 1)
m = m + 1
buyArray(m) = Sheets("sheet1").Cells(i, 2)
If B = S Then
    If m > n Then
    Sheets("sheet1").Cells(i, 3) = sellArray(n) - buyArray(n)
    S = 0
    Else
    Sheets("sheet1").Cells(i, 3) = sellArray(m) - buyArray(m)
    B = 0
    End If
   
End If


End Sub

Private Sub CommandButton2_Click()
S = 1
i = i + 1
        Sheets("sheet1").Cells(i, 1) = "賣"
        Sheets("sheet1").Cells(i, 2) = Int((10 * Rnd) + 1)
n = n + 1
sellArray(n) = Sheets("sheet1").Cells(i, 2)
If S = B Then
    If n > m Then
    Sheets("sheet1").Cells(i, 3) = sellArray(m) - buyArray(m)
    B = 0
    Else
    Sheets("sheet1").Cells(i, 3) = sellArray(n) - buyArray(n)
    S = 0
    End If
   
End If
End Sub

本帖最後由 cdkee 於 2010-9-27 15:40 編輯

用以上的程式,其中的結果...sample a)看不到有問題,sample b)問題出現在重複了上一個平倉的損益額!
sample a)
買 8
賣 6 -2
買 6
賣 3 -3
買 4
賣 8 4
買 1
賣 8 7
買 9
賣 8 -1

sample b)
買 8
買 6
買 6
賣 3 -5
買 4
賣 8 2
賣 1 -5
賣 8 4
賣 9 4
賣 8

TOP

本帖最後由 et5323 於 2010-9-27 15:40 編輯

能运行,没发现有什么问题的嘛.

TOP

每當全部的買或賣平倉了,之後新的一個買或賣,只要跟上一個買賣方向相同,就會出現了上一個平倉的損益額!

TOP

能运行,没发现有什么问题的嘛.
et5323 發表於 2010-9-27 15:38



    sample b)問題出現在重複了上一個平倉的損益額!

TOP

沒人看得到你的文件,自行除錯吧!

TOP

沒人看得到你的文件...
oobird 發表於 2010-9-27 22:20



    沒文件的,程式已寫在1#.

TOP

看不出來你的損益額是什麼,不過感覺你須要在產生亂數前加上Randomize

TOP

看不出來你的損益額是什麼,不過感覺你須要在產生亂數前加上Randomize
oobird 發表於 2010-9-27 22:56


損益額指一買一賣後的損益.
"要在產生亂數前加上Randomize"---版大可否有例子再說明?謝謝!

TOP

Sheets("sheet1").Cells(i, 1) = "買"
Randomize
        Sheets("sheet1").Cells(i, 2) = Int((10 * Rnd) + 1)

TOP

        靜思自在 : 慈悲沒有敵人,智慧不起煩惱。
返回列表 上一主題