Originariamente Scritto da
Denis Moretto
Ciao Fabio,
ora ho aggiornato il forum affinchè si possano allegare i file relativi a beeTrader.
Ti ricordo però che c'è anche la funzione di incollare il codice di EasyScript formattandolo come se fossi nell'editor.
Ti basta utilizzare il tasto E (come da immagine qui di seguito) che hai sulla barra degli strumenti dell'editor del forum.
Grazie Denis! Vedo che sei sempre sul pezzo!
Incollo anche il codice per chi vuole discutere eventuali modifiche
BUY SCRIPT
# REQUIRED_BARS is used to adjust how many periods will be used to initialize calculations. Default value is 50 periods.
# Un-comment and edit the line below to set your own value.
# SET REQUIRED_BARS = 50
INPUTS: @price(CLOSE), @fastPeriods(100), @slowPeriods(350), @matype(SIMPLE), @exitTemp(2500), @Amp(28), @entryBars(9)
INPUTS: @MaxStd(30), @LRSignalExit(600), @LRexitBars(10) @SlopeEntryPeriod(100), @SlopeExitPeriod(600), @STDperiods(60)
INPUTS: @STOP(600), @TAKE(200)
SET STOP_LOSS = @STOP
SET TAKE_PROFIT = @TAKE
SET REQUIRED_BARS = 600
SET fast = MovingAverage(@price, @fastPeriods, @matype)
SET slow = MovingAverage(@price, @slowPeriods, @matype)
SET STD = StandardDeviations(@price, @STDperiods, 1, @matype)
SET StdMod = IF(STD > @MaxStd, 10, STD)
SET TodayUP = TODAYOPEN() + @Amp + StdMod
SET TodayDown = TODAYOPEN() - @Amp - StdMod
SET LrSlope = LinearRegressionSlope(CLOSE, @SlopeEntryPeriod)
SET SlopeExit = LinearRegressionSlope(CLOSE, @SlopeExitPeriod)
SET CrossUP = CROSSOVER(CLOSE, TodayUP)
SET ContCrossUP = LASTIF(CrossUP)
SET BUY = ContCrossUP = @entryBars AND CLOSE > TodayUP AND fast > slow AND REF(LrSlope, 1) < LrSlope
# AND TIME > 200 AND TIME < 1030
BUY
SELL SCRIPT
SET fast = MovingAverage(@price, @fastPeriods, @matype)
SET slow = MovingAverage(@price, @slowPeriods, @matype)
SET STD = StandardDeviations(@price, @STDperiods, 1, @matype)
SET StdMod = IF(STD > @MaxStd, 10, STD)
SET TodayUP = TODAYOPEN() + @Amp + StdMod
SET TodayDown = TODAYOPEN() - @Amp - StdMod
SET LrSlope = LinearRegressionSlope(CLOSE, @SlopeEntryPeriod)
SET SlopeExit = LinearRegressionSlope(CLOSE, @SlopeExitPeriod)
SET CrossDown = CROSSOVER(TodayDown, CLOSE)
SET ContCrossDown = LASTIF(CrossDown)
SET SELL = ContCrossDown = @entryBars AND CLOSE < TodayDown AND slow > fast AND REF(LrSlope, 1) > LrSlope
# AND TIME > 200 AND TIME < 1030
SELL
EXIT BUY
SET fast = MovingAverage(@price, @fastPeriods, @matype)
SET slow = MovingAverage(@price, @slowPeriods, @matype)
SET STD = StandardDeviations(@price, @STDperiods, 1, @matype)
SET StdMod = IF(STD > @MaxStd, 10, STD)
SET TodayUP = TODAYOPEN() + @Amp + StdMod
SET TodayDown = TODAYOPEN() - @Amp - StdMod
SET LrSlope = LinearRegressionSlope(CLOSE, @SlopeEntryPeriod)
SET SlopeExit = LinearRegressionSlope(CLOSE, @SlopeExitPeriod)
SET CrossUP = CROSSOVER(CLOSE, TodayUP)
SET ContCrossUP = LASTIF(CrossUP)
SET BUY = ContCrossUP = @entryBars AND CLOSE > TodayUP AND fast > slow AND REF(LrSlope, 1) < LrSlope
# AND TIME > 200 AND TIME < 1030
SET ContaBUY = LASTIF(BUY)
SET SignalLine = LR(CLOSE, @LRSignalExit)
# Usiamo il LASTIF che misura il numero di barre da quando la SignalLine è verde
SET barre = LASTIF(SignalLine > REF(SignalLine, 1))
# barre > 3 significa che le ultime 2 barre la SignalLine e' stata verde ed anche
# la Slope della SignalLine corrente è negativa
SET ExitLong = barre > @LRexitBars AND SlopeExit < 0
ContaBUY > @exitTemp AND ExitLong
EXIT SHORT
SET fast = MovingAverage(@price, @fastPeriods, @matype)
SET slow = MovingAverage(@price, @slowPeriods, @matype)
SET STD = StandardDeviations(@price, @STDperiods, 1, @matype)
SET StdMod = IF(STD > @MaxStd, 10, STD)
SET TodayUP = TODAYOPEN() + @Amp + StdMod
SET TodayDown = TODAYOPEN() - @Amp - StdMod
SET LrSlope = LinearRegressionSlope(CLOSE, @SlopeEntryPeriod)
SET SlopeExit = LinearRegressionSlope(CLOSE, @SlopeExitPeriod)
SET CrossDown = CROSSOVER(TodayDown, CLOSE)
SET ContCrossDown = LASTIF(CrossDown)
SET SELL = ContCrossDown = @entryBars AND CLOSE < TodayDown AND slow > fast AND REF(LrSlope, 1) > LrSlope
# AND TIME > 200 AND TIME < 1030
SET ContaSELL = LASTIF(SELL)
SET SignalLine = LR(CLOSE, @LRSignalExit)
# Usiamo il LASTIF che misura il numero di barre da quando la SignalLine è verde
SET barre = LASTIF(SignalLine < REF(SignalLine, 1))
# barre > 3 significa che le ultime 2 barre la SignalLine e' stata verde ed anche
# la Slope della SignalLine corrente è negativa
SET ExitShort = barre > @LRexitBars AND SlopeExit > 0
ContaSELL > @exitTemp AND ExitShort