def mp ((():
포지션 = 교환.포지션을 얻는다 (Getposition)
if len ((positions) == 0:
반환 0
i 범위 (i) 의 위치 (i):
if (positions[i][Type] == PD_LONG) 또는 (positions[i][Type] == PD_LONG_YD):
반환 1
elif (positions[i][Type] == PD_SHORT) 또는 (positions[i][Type] == PD_SHORT_YD):
반환 -1
def main (():
교환.SetContractType ((MA109)
while True: while True: while True:
기록=교환.GetRecords()
만약 len (기록) < 50: 계속하세요
close = 기록[len(기록) - 1].close
위치 = mp()
상위 = TA.최고 (기록, 50, 최고)
최하위, 50명, 최하위
중간 = (올라 + 아래) / 2
obj = ext.NewPositionManager (()
포지션 > 0과 클로즈 < 중간에 있는 경우:
OBJ.CoverAll (모든 것을 포함)
포지션이 < 0이고 닫는 포지션이 > 중간에 있는 경우:
OBJ.CoverAll (모든 것을 포함)
if 위치 == 0:
닫는 경우 > 위쪽:
OBJ.0penlong ((MA109,1)
elif close < 아래쪽:
OBJ.0penshort ((MA109,1)