def mp():
Posisi = pertukaran.Getposisi ((()
jika len ((posisi) == 0:
kembali 0
untuk i dalam rentang ((len)) posisi):
jika (posisi[i][Type] == PD_LONG) atau (posisi[i][Type] == PD_LONG_YD):
kembali 1
elif (posisi[i][Type] == PD_SHORT) atau (posisi[i][Type] == PD_SHORT_YD):
kembali -1
Definisi utama:
exchange.SetContractType ((MA109)
sementara True:
records=exchange.GetRecords ((()
jika len (rekaman) < 50: lanjutkan
close = catatan[len(catatan) - 1].close
posisi = mp()
atas = TA. tertinggi ((rekor, 50, tinggi)
lebih rendah = TA.Terendah ((rekor, 50, Low)
tengah = (atas + bawah) / 2
obj = ext.NewPositionManager()
Jika posisi > 0 dan close < tengah:
obj.CoverAll ((()
jika posisi < 0 dan close > tengah:
obj.CoverAll ((()
jika posisi == 0:
jika dekat > atas:
obj.0penlong ((MA109,1)
elif dekat < bawah:
obj.0penshort ((MA109,1)