问题描述
这里有我的代码(我简化了代码,但规则相同),我想在特定的会话/时间(一天一次输入,并且价格长期高于EMA而短期低于EMA)输入。
//@version=4
strategy("My strategy",precision=0,overlay = true,pyramiding = 10)
/////////SESSION////////////
input = input("1700-1600")
t1 = time(timeframe.period,input)
time_calc = na(t1) ? na : color.navy
bgcolor(time_calc,title="Session time")
openn = barssince(t1)
src = input(close)
aaa = valuewhen(openn!=openn[1],src,0)
col2 = aaa == aaa[1] ? color.yellow : na
plot(aaa,color = col2)
/////////EMA50////////////
ema50 = ema(close,50)
plot(ema50)
/////////POSITIONS////////////
long = ((openn < openn[1]) and close > ema50)
short = ((openn < openn[1]) and close < ema50)
plotshape(long,title="Buy Label",text="Buy",location=location.belowbar,style=shape.labelup,size=size.tiny,color=color.green,textcolor=color.white,transp=0)
plotshape(short,title="Sell Label",text="Sell",location=location.abovebar,style=shape.labeldown,color=color.red,transp=0)
///// PREV DAY H/L /////////////
prev_day_high = security(syminfo.tickerid,"D",high[1],lookahead=true)
prev_day_low = security(syminfo.tickerid,low[1],lookahead=true)
target = (prev_day_high - prev_day_low)/2
target_up = aaa + target
target_down = aaa - target
plot(target_up,color= target_up == target_up[1] ? color.yellow :na)
plot(target_down,color = target_down == target_down[1] ? color.yellow :na)
////////STRATEGY//////////////
pnl = target *100000
strategy.entry(id = "Long",long = true,when = long)
strategy.exit("Exit Long",from_entry = "Long",profit = pnl,loss = pnl)
strategy.entry(id = "Short",long = false,when = short)
strategy.exit("Exit Short",from_entry = "Short",loss = pnl)
我希望目标(TP和SL)保持固定的距离(前一天高点的一半减去前一天低点的一半),一切正常,除了这些出口
如果在下一个会话开始之前未达到目标,则TP / SL将使用新的目标点进行更新,并且两个条目将同时退出。
我需要的是每个条目在被命中之前都有自己的目标,而在新的会话开始时不对其进行更新。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)