Definition von mp (():
Positionen = Austausch.Getposition (()
wenn len ((Positionen) == 0:
Rückkehr 0
für i im Bereich ((Len ((Positionen):
wenn (Positionen[i][Type] == PD_LONG) oder (Positionen[i][Type] == PD_LONG_YD):
Rückgabe 1
elif (Positionen[i][Type] == PD_SHORT) oder (Positionen[i][Type] == PD_SHORT_YD):
Rückgabe -1
Definition von Haupt:
Auswechselung.SetContractType ((MA109)
während True:
Aufzeichnungen=Austausch.GetRecords()
wenn len ((Aufzeichnungen) < 50: weiter
Schließen = Aufzeichnungen[len(Aufzeichnungen) - 1].schließen
Positionen = mp()
oben = TA.Höchste (Verzeichnisse, 50, Höchste)
Niedrigere = TA.Niedrigste (Aufzeichnungen, 50, Niedrigere)
Mittel = (oben + unten) / 2
Obj = ext.NewPositionManager (siehe unten)
wenn die Positionen > 0 und close < middle sind:
Obj.AbdeckungAlle
wenn die Positionen < 0 und schließen > Mitte:
Obj.AbdeckungAlle
wenn Positionen == 0:
wenn nahe > ober:
Obj.0penlong ((MA109,1)
elif schließen < niedriger:
obj.0penshort ((MA109,1)