0

## 期貨當沖資料處裡疑問

20點獲利停利 20點虧損停損

open為買進價格

``````import pandas as pd

df = pd.DataFrame(df)

A = [0] * 300
for i in range(0,300):
A[i] = df.at[i, 'Open']
B = [0] * 300
for i in range(300):
B[i] = df.at[i, 'High']
C = [99999] * 300
for i in range(300):
C[i] = df.at[i, 'Low']
A0 ='A[0]+20 <= B:{}'.format(A[0]+20 <= B)
A00='A[0]-20 >= C：{}'.format(A[0]-20 >= C)

B = [0] * 300
for i in range(1,300):
B[i] = df.at[i, 'High']
C = [99999] * 300
for i in range(1,300):
C[i] = df.at[i, 'Low']
A1 ='A[1]+20 <= B：{}'.format(A[1]+20 <= B)
A11='A[1]-20 >= C：{}'.format(A[1]-20 >= C)

B = [0] * 300
for i in range(2,300):
B[i] = df.at[i, 'High']
C = [99999] * 300
for i in range(2,300):
C[i] = df.at[i, 'Low']
A2 ='A[2]+20 <= B：{}'.format(A[2]+20 <= B)
A22='A[2]-20 >= C：{}'.format(A[2]-20 >= C)

print(A0)

print(A00)

print(A1)

print(A11)

print(A2)

print(A22)
``````

A[0]來說A[0]+20 <= B在第6個時發生True 也就是8:51
A[0]-20 >= C在第38個時發生True

A[0]-20 >= C

B = [0] * 300
for i in range(1,300):
B[i] = df.at[i, 'High']

C = [99999] * 300
for i in range(1,300):
C[i] = df.at[i, 'Low']
A[1]+20 <= B
A[1]-20 >= C

``````A[0]+20 <= B:[False False False False False  True  True False False False False False
False False False False  True  True  True  True  True False False  True
True  True  True  True False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False  True  True  True False False False False False False
False False False False False  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True]
A[0]-20 >= C：[False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False  True  True False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False]
A[1]+20 <= B：[False False False False False  True False False False False False False
False False False False  True  True False False False False False False
True  True  True  True False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True]
A[1]-20 >= C：[False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False  True  True  True  True False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False]
A[2]+20 <= B：[False False False False False False False False False False False False
False False False False  True  True False False False False False False
False  True False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True
True  True  True  True  True  True  True  True  True  True  True  True]
A[2]-20 >= C：[False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False  True
True  True  True  True  True  True  True  True  True  True  True False
False  True  True False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False
False False False False False False False False False False False False]

``````
KYCPG iT邦新手 4 級 ‧ 2020-07-05 10:11:09 檢舉

If(????==????and???==):
Do something
elif (????==????):
Do another thing
Else
Not if and not elif Python will do this block

### 2 個回答

1
rogeryao
iT邦大師 1 級 ‧ 2020-07-05 18:56:20

``````rowmax = 300
for i in range(0, rowmax-2) :
for x in range(i + 1, rowmax -1) :
if df.at[x, 'High'] - df.at[i, 'Open'] >=20 :
print(df.at[x, 'Time'])
print('+')
break

elif df.at[i, 'Open'] - df.at[x, 'Low'] >=20 :
print(df.at[x, 'Time'])
print('-')
break
``````

Python 沒玩過 ,邏輯大致如上.

Alien iT邦新手 5 級 ‧ 2020-07-05 19:23:50 檢舉

``````08:46:00
+
08:47:00
+
08:48:00
+
08:49:00
+
08:50:00
-
08:51:00
-
08:52:00
-
08:53:00
-
08:54:00
-
08:55:00
-
08:56:00
-
08:57:00
+
08:58:00
+
08:59:00
+
09:00:00
+
09:01:00
-
09:02:00
-
09:03:00
-
09:04:00
-
09:05:00
-
09:06:00
-
09:07:00
-
09:08:00
+
09:09:00
-
09:10:00
-
09:11:00
-
09:12:00
-
09:13:00
-
09:14:00
-
09:15:00
-
09:16:00
-
09:17:00
-
09:18:00
-
09:19:00
-
09:20:00
-
09:21:00
+
09:22:00
+
09:23:00
+
09:24:00
+
09:25:00
+
09:26:00
+
09:27:00
+
09:28:00
+
09:29:00
+
09:30:00
+
09:31:00
+
09:32:00
+
09:33:00
+
09:34:00
+
09:35:00
+
09:36:00
+
09:37:00
+
09:38:00
+
09:39:00
+
09:40:00
+
09:41:00
+
09:42:00
+
09:43:00
+
09:44:00
+
09:45:00
+
09:46:00
+
09:47:00
+
09:48:00
+
09:49:00
+
09:50:00
+
09:51:00
+
09:52:00
+
09:53:00
+
09:54:00
+
09:55:00
+
09:56:00
+
09:57:00
+
09:58:00
+
09:59:00
+
10:00:00
+
10:01:00
+
10:02:00
+
10:03:00
+
10:04:00
+
10:05:00
+
10:06:00
+
10:07:00
+
10:08:00
+
10:09:00
+
10:10:00
+
10:11:00
+
10:12:00
+
10:13:00
+
10:14:00
+
10:15:00
+
10:16:00
+
10:17:00
+
10:18:00
+
10:19:00
+
10:20:00
+
10:21:00
+
10:22:00
+
10:23:00
+
10:24:00
+
10:25:00
+
10:26:00
+
10:27:00
+
10:28:00
+
10:29:00
+
10:30:00
+
10:31:00
+
10:32:00
+
10:33:00
+
10:34:00
+
10:35:00
+
10:36:00
+
10:37:00
+
10:38:00
+
10:39:00
+
10:40:00
+
10:42:00
+
10:43:00
+
10:44:00
+
10:45:00
+
10:46:00
+
10:47:00
+
10:48:00
+
10:49:00
+
10:50:00
+
10:51:00
+
10:52:00
+
10:53:00
+
10:54:00
+
10:55:00
+
10:56:00
+
10:57:00
+
10:58:00
+
10:59:00
+
11:00:00
+
12:13:00
-
12:15:00
-
12:16:00
-
12:17:00
-
12:18:00
-
12:19:00
-
12:20:00
-
12:21:00
-
12:22:00
-
12:23:00
-
12:24:00
-
12:25:00
-
12:26:00
-
12:34:00
-
12:35:00
-
12:36:00
-
12:37:00
-
12:38:00
-
12:39:00
-
12:40:00
-
12:41:00
-
12:42:00
-
``````
rogeryao iT邦大師 1 級 ‧ 2020-07-05 19:25:24 檢舉

Alien iT邦新手 5 級 ‧ 2020-07-05 19:34:22 檢舉

``````
08:51:00
+
08:51:00
+
09:02:00
+
09:02:00
+
09:20:00
-
09:17:00
-
09:20:00
-
09:20:00
-
09:20:00
-
09:20:00
-
09:20:00
-
09:02:00
+
09:02:00
+
09:03:00
+
09:03:00
+
09:20:00
-
09:20:00
-
09:08:00
-
09:20:00
-
09:17:00
-
09:20:00
-
09:20:00
-
09:11:00
+
09:20:00
-
09:20:00
-
09:17:00
-
09:20:00
-
09:17:00
-
09:20:00
-
09:20:00
-
09:20:00
-
09:20:00
-
09:23:00
-
09:21:00
-
09:23:00
-
09:48:00
+
09:43:00
+
09:43:00
+
09:37:00
+
09:42:00
+
09:43:00
+
09:48:00
+
09:43:00
+
09:48:00
+
09:43:00
+
09:48:00
+
09:43:00
+
09:48:00
+
09:49:00
+
09:48:00
+
09:48:00
+
09:49:00
+
09:49:00
+
09:49:00
+
09:49:00
+
09:49:00
+
09:49:00
+
09:49:00
+
10:05:00
+
09:49:00
+
10:03:00
+
10:04:00
+
10:04:00
+
10:05:00
+
10:22:00
+
10:22:00
+
10:08:00
+
10:05:00
+
10:05:00
+
10:08:00
+
10:05:00
+
10:05:00
+
10:05:00
+
10:05:00
+
10:05:00
+
10:08:00
+
10:08:00
+
10:08:00
+
10:22:00
+
10:24:00
+
10:32:00
+
10:32:00
+
10:39:00
+
10:39:00
+
10:32:00
+
10:32:00
+
10:32:00
+
10:32:00
+
10:32:00
+
10:36:00
+
10:32:00
+
10:32:00
+
10:36:00
+
10:32:00
+
10:39:00
+
10:39:00
+
10:39:00
+
11:01:00
+
11:10:00
+
10:40:00
+
10:40:00
+
10:40:00
+
11:01:00
+
11:10:00
+
11:18:00
+
11:14:00
+
11:18:00
+
11:40:00
+
11:18:00
+
11:18:00
+
11:18:00
+
11:39:00
+
11:40:00
+
11:54:00
+
12:16:00
+
12:15:00
+
12:15:00
+
11:40:00
+
11:40:00
+
11:40:00
+
12:15:00
+
11:40:00
+
11:14:00
+
11:18:00
+
11:18:00
+
11:54:00
+
12:16:00
+
12:16:00
+
12:16:00
+
12:16:00
+
12:15:00
+
12:15:00
+
12:15:00
+
12:15:00
+
13:31:00
-
13:31:00
-
13:10:00
-
13:20:00
-
13:10:00
-
13:20:00
-
13:20:00
-
13:20:00
-
13:31:00
-
13:31:00
-
13:20:00
-
13:31:00
-
13:31:00
-
13:20:00
-
13:20:00
-
13:20:00
-
13:20:00
-
13:20:00
-
13:20:00
-
13:20:00
-
13:20:00
-
13:20:00
-

``````
Alien iT邦新手 5 級 ‧ 2020-07-05 19:42:22 檢舉

QQ

0

iT邦新手 3 級 ‧ 2020-07-05 06:29:09

Alien iT邦新手 5 級 ‧ 2020-07-05 14:41:08 檢舉

Alien iT邦新手 5 級 ‧ 2020-07-05 15:05:18 檢舉

10020點時

9980時

high 那分鐘最高價
low 那分鐘最低價
close 那分鐘收盤價
volume 成交量

``````import pandas as pd
import numpy as np

df = pd.read_excel("Excel的名稱.xlsx", usecols = ["Date", "High", "Low"])

"在最後新增一行名為Boolean"

for i in range(len(df)):
if "第 i 格的High" > "第 i 格的Low":
"填入Boolean:True"
elif "第 i 格的High" < "第 i 格的Low":
"填入Boolean:False"
else:
"平倉"

print(df)
``````
Alien iT邦新手 5 級 ‧ 2020-07-05 17:31:57 檢舉