Basandomi sul listato "approvato" ho provato a costruire due script, signal 1 e signal 2, ma, pur dando risultati diversi, sono ancora diversi dal risultato che vorrei ottenere. Il non essere un programmatore comporta inevitabilmente degli errori.
Dove stà il mio errore?
SIGNAL 1
BUY SCRIPT
INPUTS:@price(CLOSE), @MOperiods(12), @MOlowMark(99.8), @MOhighMark(101), @cycle1(7), @cycle2(6), @cycle3(10), @UOlowMark(45), @UOhighMark(65)
SET A = UltimateOscillator(@cycle1, @cycle2, @cycle3)
SET B = MomentumOscillator(@price, @MOperiods)
SET SignalLongA = CROSSOVER(A, @UOlowMark)
SET SignalShortA = CROSSOVER(@UOhighMark, A)
SET SignalA = SignalLongA - SignalShortA
SET PositionA = CHANGEIF (SignalA <> 0, SignalA)
SET SignalLongB = CROSSOVER(@MOhighMark, B)
SET SignalShortB = CROSSOVER(B, @MOlowMark)
SET SignalB = SignalLongB - SignalShortB
SET PositionB = CHANGEIF (SignalB <> 0, SignalB)
SignalA > 0 AND SignalB >0
SELL SCRIPT
SET A = UltimateOscillator(@cycle1, @cycle2, @cycle3)
SET B = MomentumOscillator(@price, @MOperiods)
SET SignalLongA = CROSSOVER(A, @UOlowMark)
SET SignalShortA = CROSSOVER(@UOhighMark, A)
SET SignalA = SignalLongA - SignalShortA
SET PositionA = CHANGEIF (SignalA <> 0, SignalA)
SET SignalLongB = CROSSOVER(@MOhighMark, B)
SET SignalShortB = CROSSOVER(B, @MOlowMark)
SET SignalB = SignalLongB - SignalShortB
SET PositionB = CHANGEIF (SignalB <> 0, SignalB)
SignalA < 0 AND SignalB <0
EXIT LONG SCRIPT
SET A = UltimateOscillator(@cycle1, @cycle2, @cycle3)
SET B = MomentumOscillator(@price, @MOperiods)
CROSSOVER(B, @MOlowMark) OR CROSSOVER(@UOhighMark, A)
EXIT SHORT SCRIPT
SET A = UltimateOscillator(@cycle1, @cycle2, @cycle3)
SET B = MomentumOscillator(@price, @MOperiods)
CROSSOVER(B, @UOlowMark) OR CROSSOVER(@MOhighMark, A)
SIGNAL 2
BUY SCRIPT
INPUTS:@price(CLOSE), @MOperiods(12), @MOlowMark(99.8), @MOhighMark(101), @cycle1(7), @cycle2(6), @cycle3(10), @UOlowMark(45), @UOhighMark(65)
SET A = UltimateOscillator(@cycle1, @cycle2, @cycle3)
SET B = MomentumOscillator(@price, @MOperiods)
SET SignalLongA = CROSSOVER(A, @UOlowMark)
SET SignalShortA = CROSSOVER(@UOhighMark, A)
SET SignalA = SignalLongA - SignalShortA
SET PositionA = CHANGEIF (SignalA <> 0, SignalA)
SET SignalLongB = CROSSOVER(@MOhighMark, B)
SET SignalShortB = CROSSOVER(B, @MOlowMark)
SET SignalB = SignalLongB - SignalShortB
SET PositionB = CHANGEIF (SignalB <> 0, SignalB)
PositionA > 0 AND PositionB >0
SELL SCRIPT
SET A = UltimateOscillator(@cycle1, @cycle2, @cycle3)
SET B = MomentumOscillator(@price, @MOperiods)
SET SignalLongA = CROSSOVER(A, @UOlowMark)
SET SignalShortA = CROSSOVER(@UOhighMark, A)
SET SignalA = SignalLongA - SignalShortA
SET PositionA = CHANGEIF (SignalA <> 0, SignalA)
SET SignalLongB = CROSSOVER(@MOhighMark, B)
SET SignalShortB = CROSSOVER(B, @MOlowMark)
SET SignalB = SignalLongB - SignalShortB
SET PositionB = CHANGEIF (SignalB <> 0, SignalB)
PositionA < 0 AND PositionB <0
EXIT LONG SCRIPT
SET A = UltimateOscillator(@cycle1, @cycle2, @cycle3)
SET B = MomentumOscillator(@price, @MOperiods)
CROSSOVER(B, @MOlowMark) OR CROSSOVER(@UOhighMark, A)
EXIT SHORT SCRIPT
SET A = UltimateOscillator(@cycle1, @cycle2, @cycle3)
SET B = MomentumOscillator(@price, @MOperiods)
CROSSOVER(B, @UOlowMark) OR CROSSOVER(@MOhighMark, A)