Định nghĩa mp():
vị trí = trao đổi.Getposition ((()
if len ((position) == 0:
trả về 0
Đối với i trong phạm vi ((len)) vị trí):
if (positions[i][Type] == PD_LONG) hoặc (positions[i][Type] == PD_LONG_YD):
trả về 1
elif (vị trí[i][Type] == PD_SHORT) hoặc (vị trí[i][Type] == PD_SHORT_YD):
trả về -1
defin main (():
exchange.SetContractType ((MA109)
trong khi True:
records=exchange.GetRecords ((()
nếu len (đăng ký) < 50: tiếp tục
close = records[len(records) - 1].close
vị trí = mp()
trên = TA. cao nhất (đăng ký, 50, cao nhất)
thấp hơn = TA.Lowest ((đăng ký, 50, Low)
trung tâm = (cao + thấp) / 2
obj = ext.NewPositionManager()
Nếu các vị trí > 0 và đóng < giữa:
Obj.CoverAll ((()
Nếu các vị trí < 0 và đóng > giữa:
Obj.CoverAll ((()
if vị trí == 0:
Nếu gần > trên:
Obj.0penlong ((MA109,1)
elif close < thấp hơn:
Obj.0penshort ((MA109,1)