Как закрыть сделку в конце дня или при X прибыли выше предыдущего максимума? - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь собрать сосновый скрипт для трейдинга, и я почти закончил с этим, но я не уверен, как заставить его закрыть сделку в конце дня (23:59 PM).) ИЛИ когда текущая цена равна максимуму свечи предыдущего дня (максимум [1] + X пунктов на дневных свечах).

Вот что у меня получилось:

//@version=2
strategy("Previous Day High and Low Breakout Strategy", overlay=true)
D_High = security(tickerid, 'D', high[1]) 
D_Low = security(tickerid, 'D', low[1]) 
D_Close =  security(tickerid, 'D', close[1]) 
D_Open =  security(tickerid, 'D', open[1]) 

// Go Long - if prev day high is broken and stop loss prev day low
// Go Short - if prev day low is broken and stop loss prev day high
plot(isintraday ? D_High : na, title="Daily High",style=line, color=blue,linewidth=2) 
plot(isintraday ? D_Low : na, title="Daily Low",style=line, color=red,linewidth=2) 

signal =crossover(high,D_High) ? true : crossover(D_Low,low) ? false : signal[1]

longCondition = signal
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = signal != true
if (shortCondition)
    strategy.entry("Short", strategy.short)

1 Ответ

0 голосов
/ 23 сентября 2019

Выход с предыдущим high выглядит следующим образом:

//@version=4
strategy("My Strategy", overlay=true)

DESIRED_PROFIT_TICKS = 5

exitPrice = 0.0
exitPrice := exitPrice[1]

longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)
    exitPrice := (high[1] - close) / syminfo.mintick + DESIRED_PROFIT_TICKS

strategy.exit("ExitId", "My Long Entry Id", profit = exitPrice)

Но я сомневаюсь, что есть способ выйти в конце дня, потому что вы не можете быть уверены, что эта сделка последняя или противоположная- мы пропускаем эти сделки и надеемся через некоторое время выйти, но есть шанс, что к концу дня сделок не будет.

...