
یہ حکمت عملی ایک زیادہ پیچیدہ متحرک توڑنے کی حکمت عملی ہے ، جس میں متعدد تکنیکی اشارے شامل ہیں جن کا فیصلہ کرنے کے لئے ، مختلف سمتوں اور مراحل میں متعدد بار بار داخل ہونے کے لئے ، تاکہ سودے بازی کے مقصد کو حاصل کیا جاسکے۔
اس حکمت عملی میں بنیادی طور پر متحرک اشارے MACD ، اوورلوڈ اوورلوڈ اشارے RSI اور بُلین بینڈ کو مل کر کثیر سمت کا فیصلہ کیا جاتا ہے۔ جب MACD لائن 0 سے زیادہ اور RSI اوورلوڈ لائن سے کم ہوتا ہے تو کثیر سر سگنل ہوتا ہے ، اور جب MACD لائن 0 سے کم اور RSI اوورلوڈ لائن سے زیادہ ہوتا ہے تو خالی سر سگنل ہوتا ہے۔
عملی طور پر ، حکمت عملی پہلے MACD لائن اور RSI کی کارکردگی کا اندازہ لگاتی ہے تاکہ بنیادی باتوں کی تصدیق کی جاسکے۔ اس کے بعد ، بلین بینڈ کو ٹریک کرنے اور ٹریک کرنے کے ل break ، مختلف تعداد میں بیچوں میں پوزیشنیں بنائیں۔ کثیر مرحلے میں ، بلین بینڈ کو ٹریک کرنے کے قریب آہستہ آہستہ زیادہ پوزیشنیں لگائی جائیں گی ، اور پوزیشنوں میں اضافے کی شرح زیادہ سے زیادہ ہوگی۔ خالی مرحلے میں ، بلین بینڈ کو ٹریک کرنے کے قریب آہستہ آہستہ خالی ہوجائیں گے ، اور خالی ہونے کی مقدار بھی آہستہ آہستہ بڑھ جائے گی۔ اس طرح مختلف سمتوں اور مختلف قیمتوں پر بیچوں میں سود کی تقسیم کے ذریعہ ، زیادہ سے زیادہ جمع منافع حاصل کیا جاسکتا ہے۔
اس کے علاوہ ، اس حکمت عملی کو اعلی ترین اور کم ترین قیمتوں کی نگرانی کے ساتھ مل کر اسٹاپ اور اسٹاپ اسٹاپ کا انتظام کیا جاتا ہے تاکہ احکامات کو مناسب طریقے سے منظم کیا جاسکے۔ مجموعی طور پر ، اس حکمت عملی میں متعدد تجزیاتی ٹولز کا استعمال کیا گیا ہے ، جس میں بیچوں کو بیچوں میں چلانے سے بہتر منافع حاصل کیا جاسکتا ہے۔
برن بینڈ اپ اور ڈاون ٹریک بریکنگ 100 فیصد قابل اعتماد تجارتی سگنل نہیں ہے ، اور اس میں جعلی سگنل کا خطرہ ہوسکتا ہے۔ تصدیق کے ل other دوسرے اشارے شامل کرنے پر غور کیا جاسکتا ہے ، جیسے K لائن کی شکل ، ٹرانزیکشن کی مقدار وغیرہ۔
آہستہ آہستہ پوزیشنوں کو مارکیٹ کی رفتار کو درست طریقے سے کنٹرول کرنے کی ضرورت ہوتی ہے ، اگر تیزی سے تبدیلی کی صورت میں زیادہ نقصان کا سبب بن سکتا ہے۔ پوزیشنوں کی تعداد کو مناسب طریقے سے کم کیا جاسکتا ہے ، یا زیادہ نرمی سے روکنے کا مقام طے کیا جاسکتا ہے۔
تجارت کی اقسام کی لیکویڈیٹی پر توجہ دینے کی ضرورت ہے۔ کم لیکویڈیٹی والی اقسام کے لئے بڑی تعداد میں کھیپ میں سودے بازی کا استعمال نہیں کرنا چاہئے۔
پیمائش کے اعداد و شمار کو فکسڈ ڈسک کے برابر نہیں ہے ، فکسڈ ڈسک میں فیس ، سلائڈ پوائنٹس اور دیگر اخراجات کو بھی مدنظر رکھنا ہوگا۔ مناسب طور پر اسٹاپ نقصان کی حد کو چھوڑنے کے لئے گنجائش رکھی جاسکتی ہے۔
مختلف پیرامیٹرز کے مجموعے کی جانچ کی جاسکتی ہے ، جیسے برن بینڈ کی مدت ، معیاری فاصلے کا ضرب ، آر ایس آئی پیرامیٹرز وغیرہ ، بہترین پیرامیٹرز کی تلاش میں۔
اس کے علاوہ، آپ کو فکسڈ فریکشن، کیلی معیار، اور دیگر فنڈز کے انتظام کی حکمت عملیوں کو تلاش کرنے کے قابل ہو جائے گا.
پیرامیٹرز کی متحرک اصلاح جو مشین لرننگ جیسے طریقوں کے ساتھ مل کر ہوسکتی ہے۔
مزید اعداد و شمار کے ذرائع کو متعارف کرایا جا سکتا ہے، جیسے کہ متن کے جذبات کا تجزیہ، سماجی اعداد و شمار اور دیگر، جو مارکیٹ کے حالات کا اندازہ لگانے میں معاون ثابت ہوسکتے ہیں۔
مستقبل کی قیمتوں میں وقت کے فرق کو تلاش کرنے کے لئے ، منافع کی جگہ کو مزید بڑھانے کے لئے سودے بازی کی جاسکتی ہے۔
اس حکمت عملی میں متعدد تکنیکی اشارے کا جامع استعمال کیا گیا ہے ، اس میں بیچوں میں سودے بازی کا طریقہ استعمال کیا گیا ہے ، اور اسٹاپ نقصان کو روکنے کے لئے اسٹاپ مینجمنٹ رسک کا تعین کیا گیا ہے۔ یہ ایک مکمل رجحان سے باخبر رہنے کی حکمت عملی ہے۔ تاہم ، احتیاط کے غلط سگنل اور تیزی سے ایڈجسٹمنٹ کے خطرات کی ضرورت ہے۔ مناسب ایڈجسٹمنٹ پیرامیٹرز اور فنڈ مینجمنٹ کے طریقوں سے زیادہ مستحکم اضافی آمدنی حاصل کی جاسکتی ہے۔ اگر مشین لرننگ جیسے ذرائع کے ساتھ مزید متحرک اصلاح کی جائے تو اس حکمت عملی کی کارکردگی میں بھی بہتری کی گنجائش ہے ، جو طویل مدتی نگرانی اور جمع کرنے کے قابل ہے۔
/*backtest
start: 2022-10-11 00:00:00
end: 2023-10-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title="Incremental Order size +", shorttitle="Strategy", overlay=true, default_qty_value=1, pyramiding=10)
//Heiken Ashi
isHA = input(false, "HA Candles", bool)
//MACD
fastLength = 12
slowlength = 26
MACDLength = 9
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
//Bollinger Bands Exponential
src = open
len = 18
e = ema(src,len)
evar = (src - e)*(src - e)
evar2 = (sum(evar,len))/len
std = sqrt(evar2)
Multiplier = input(3, minval = 0.01, title = "# of STDEV's")
upband = e + (Multiplier * std)
dnband = e - (Multiplier * std)
//EMA
ema3 = ema(close, 3)
//RSIplot
length = 45
overSold = 90
overBought = 10
price = close
vrsi = rsi(price, length)
notna = not na(vrsi)
macdlong = crossover(delta, 0)
macdshort = crossunder(delta, 0)
rsilong = notna and crossover(vrsi, overSold)
rsishort = notna and crossunder(vrsi, overBought)
lentt = input(14, "Pivot Length")
//The length defines how many periods a high or low must hold to be a "relevant pivot"
h = highest(lentt)
//The highest high over the length
h1 = dev(h, lentt) ? na : h
//h1 is a pivot of h if it holds for the full length
hpivot = fixnan(h1)
//creates a series which is equal to the last pivot
l = lowest(lentt)
l1 = dev(l, lentt) ? na : l
lpivot = fixnan(l1)
//repeated for lows
last_hpivot = h1 ? time : nz(last_hpivot[1])
last_lpivot = l1 ? time : nz(last_lpivot[1])
long_time = last_hpivot > last_lpivot ? 0:1
//FIBS
z = input(100, "Z-Index")
p_offset= 2
transp = 60
a=(lowest(z)+highest(z))/2
b=lowest(z)
c=highest(z)
fibonacci = input(0, "Fibonacci") / 100
//Fib Calls
fib0 = (((hpivot - lpivot)* fibonacci) + lpivot)
fib1 = (((hpivot - lpivot)*.21) + lpivot)
fib2 = (((hpivot - lpivot)*.3) + lpivot)
fib3 = (((hpivot - lpivot)*.5) + lpivot)
fib4 = (((hpivot - lpivot)*.62) + lpivot)
fib5 = (((hpivot - lpivot)*.7) + lpivot)
fib6 = (((hpivot - lpivot)* 1.00) + lpivot)
fib7 = (((hpivot - lpivot)* 1.27) + lpivot)
fib8 = (((hpivot - lpivot)* 2) + lpivot)
fib9 = (((hpivot - lpivot)* -.27) + lpivot)
fib10 = (((hpivot - lpivot)* -1) + lpivot)
//Heiken Ashi Candles
data2 = isHA ? heikenashi(syminfo.tickerid) : syminfo.tickerid
res5 = input("5", "Resolution")
//HT Fibs
hfib0 = security(data2, res5, fib0[1])
hfib1 = security(data2, res5, fib1[1])
hfib2 = security(data2, res5, fib2[1])
hfib3 = security(data2, res5, fib3[1])
hfib4 = security(data2, res5, fib4[1])
hfib5 = security(data2, res5, fib5[1])
hfib6 = security(data2, res5, fib6[1])
hfib7 = security(data2, res5, fib7[1])
hfib8 = security(data2, res5, fib8[1])
hfib9 = security(data2, res5, fib9[1])
hfib10 = security(data2, res5, fib10[1])
vrsiup = vrsi > vrsi[1] and vrsi[1] > vrsi[2]
vrsidown = vrsi < vrsi[1] and vrsi[1] < vrsi[2]
long = cross(close, fib0) and delta > 0 and vrsi < overSold and vrsiup
short = cross(close, fib6) and delta < 0 and vrsi > overBought and vrsidown
// long2 = cross(close, fib0) and delta > 0 and vrsi < overSold and vrsiup
// short2 = cross(close, fib6) and delta < 0 and vrsi > overBought and vrsidown
// long = cross(close, fib0) and delta > 0 and vrsi < overSold and vrsiup
// short = cross(close, fib6) and delta < 0 and vrsi > overBought and vrsidown
// long = cross(close, fib0) and delta > 0 and vrsi < overSold and vrsiup
// short = cross(close, fib6) and delta < 0 and vrsi > overBought and vrsidown
// long = cross(close, fib0) and delta > 0 and vrsi < overSold and vrsiup
// short = cross(close, fib6) and delta < 0 and vrsi > overBought and vrsidown
// long = cross(close, fib0) and delta > 0 and vrsi < overSold and vrsiup
// short = cross(close, fib6) and delta < 0 and vrsi > overBought and vrsidown
// long = cross(close, fib0) and delta > 0 and vrsi < overSold and vrsiup
// short = cross(close, fib6) and delta < 0 and vrsi > overBought and vrsidown
// long = cross(close, fib0) and delta > 0 and vrsi < overSold and vrsiup
// short = cross(close, fib6) and delta < 0 and vrsi > overBought and vrsidown
// long = cross(close, fib0) and delta > 0 and vrsi < overSold and vrsiup
// short = cross(close, fib6) and delta < 0 and vrsi > overBought and vrsidown
reverseOpens = input(false, "Reverse Orders", bool)
if (reverseOpens)
tmplong = long
long := short
short := tmplong
//Strategy
ts = input(99999, "TS")
tp = input(30, "TP")
sl = input(10, "SL")
last_long = long ? time : nz(last_long[1])
last_short = short ? time : nz(last_short[1])
in_long = last_long > last_short
in_short = last_short > last_long
long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)
last_open_long = long ? open : nz(last_open_long[1])
last_open_short = short ? open : nz(last_open_short[1])
last_open_long_signal = long_signal ? open : nz(last_open_long_signal[1])
last_open_short_signal = short_signal ? open : nz(last_open_short_signal[1])
last_high = not in_long ? na : in_long and (na(last_high[1]) or high > nz(last_high[1])) ? high : nz(last_high[1])
last_low = not in_short ? na : in_short and (na(last_low[1]) or low < nz(last_low[1])) ? low : nz(last_low[1])
long_ts = not na(last_high) and high <= (last_high - ts) and high >= last_open_long_signal
short_ts = not na(last_low) and low >= (last_low + ts) and low <= last_open_short_signal
long_tp = high >= (last_open_long + tp) and long[1] == 0
short_tp = low <= (last_open_short - tp) and short[1] == 0
long_sl = low <= (last_open_long - sl) and long[1] == 0
short_sl = high >= (last_open_short + sl) and short[1] == 0
last_hfib_long = long_signal ? fib1 : nz(last_hfib_long[1])
last_hfib_short = short_signal ? fib5 : nz(last_hfib_short[1])
last_fib7 = long ? fib7 : nz(last_fib7[1])
last_fib10 = long ? fib10 : nz(last_fib10[1])
last_fib8 = short ? fib8 : nz(last_fib8[1])
last_fib9 = short ? fib9 : nz(last_fib9[1])
last_long_signal = long_signal ? time : nz(last_long_signal[1])
last_short_signal = short_signal ? time : nz(last_short_signal[1])
last_long_tp = long_tp ? time : nz(last_long_tp[1])
last_short_tp = short_tp ? time : nz(last_short_tp[1])
last_long_ts = long_ts ? time : nz(last_long_ts[1])
last_short_ts = short_ts ? time : nz(last_short_ts[1])
long_ts_signal = crossover(last_long_ts, last_long_signal)
short_ts_signal = crossover(last_short_ts, last_short_signal)
last_long_sl = long_sl ? time : nz(last_long_sl[1])
last_short_sl = short_sl ? time : nz(last_short_sl[1])
long_tp_signal = crossover(last_long_tp, last_long)
short_tp_signal = crossover(last_short_tp, last_short)
long_sl_signal = crossover(last_long_sl, last_long)
short_sl_signal = crossover(last_short_sl, last_short)
last_long_tp_signal = long_tp_signal ? time : nz(last_long_tp_signal[1])
last_short_tp_signal = short_tp_signal ? time : nz(last_short_tp_signal[1])
last_long_sl_signal = long_sl_signal ? time : nz(last_long_sl_signal[1])
last_short_sl_signal = short_sl_signal ? time : nz(last_short_sl_signal[1])
last_long_ts_signal = long_ts_signal ? time : nz(last_long_ts_signal[1])
last_short_ts_signal = short_ts_signal ? time : nz(last_short_ts_signal[1])
true_long_signal = long_signal and last_long_sl_signal > last_long_signal[1] or long_signal and last_long_tp_signal > last_long_signal[1] or long_signal and last_long_ts_signal > last_long_signal[1]
true_short_signal = short_signal and last_short_sl_signal > last_short_signal[1] or short_signal and last_short_tp_signal > last_short_signal[1] or short_signal and last_short_ts_signal > last_short_signal[1]
// strategy.entry("BLUE", strategy.long, when=long)
// strategy.entry("RED", strategy.short, when=short)
g = delta > 0 and vrsi < overSold and vrsiup
r = delta < 0 and vrsi > overBought and vrsidown
long1 = cross(close, fib1) and g and last_long_signal[1] > last_short_signal// and last_long_signal > long
short1 = cross(close, fib5) and r and last_short_signal[1] > last_long_signal// and last_short_signal > short
last_long1 = long1 ? time : nz(last_long1[1])
last_short1 = short1 ? time : nz(last_short1[1])
last_open_long1 = long1 ? open : nz(last_open_long1[1])
last_open_short1 = short1 ? open : nz(last_open_short1[1])
long1_signal = crossover(last_long1, last_long_signal)
short1_signal = crossover(last_short1, last_short_signal)
last_long1_signal = long1_signal ? time : nz(last_long1_signal[1])
last_short1_signal = short1_signal ? time : nz(last_short1_signal[1])
long2 = cross(close, fib2) and g and last_long1_signal > last_long_signal[1] and long1_signal == 0 and last_long_signal[1] > last_short_signal
short2 = cross(close, fib4) and r and last_short1_signal > last_short_signal[1] and short1_signal == 0 and last_short_signal[1] > last_long_signal
last_long2 = long2 ? time : nz(last_long2[1])
last_short2 = short2 ? time : nz(last_short2[1])
last_open_short2 = short2 ? open : nz(last_open_short2[1])
long2_signal = crossover(last_long2, last_long1_signal) and long1_signal==0
short2_signal = crossover(last_short2, last_short1_signal) and short1_signal==0
last_long2_signal = long2_signal ? time : nz(last_long2_signal[1])
last_short2_signal = short2_signal ? time : nz(last_short2_signal[1])
//Trade 4
long3 = cross(close, fib3) and g and last_long1_signal > last_long_signal[1] and long1_signal == 0 and last_long_signal[1] > last_short_signal
short3 = cross(close, fib3) and r and last_short1_signal > last_short_signal[1] and short1_signal == 0 and last_short_signal[1] > last_long_signal
last_long3 = long3 ? time : nz(last_long3[1])
last_short3 = short3 ? time : nz(last_short3[1])
last_open_short3 = short3 ? open : nz(last_open_short3[1])
long3_signal = crossover(last_long3, last_long2_signal) and long2_signal==0
short3_signal = crossover(last_short3, last_short2_signal) and short2_signal==0
last_long3_signal = long3_signal ? time : nz(last_long3_signal[1])
last_short3_signal = short3_signal ? time : nz(last_short3_signal[1])
//Trade 5
long4 = long and last_long1_signal > last_long_signal[1] and long1_signal == 0 and last_long_signal[1] > last_short_signal
short4 = short and last_short1_signal > last_short_signal[1] and short1_signal == 0 and last_short_signal[1] > last_long_signal
last_long4 = long4 ? time : nz(last_long4[1])
last_short4 = short4 ? time : nz(last_short4[1])
long4_signal = crossover(last_long4, last_long3_signal) and long2_signal==0 and long3_signal==0
short4_signal = crossover(last_short4, last_short3_signal) and short2_signal==0 and short3_signal==0
last_long4_signal = long4_signal ? time : nz(last_long4_signal[1])
last_short4_signal = short4_signal ? time : nz(last_short4_signal[1])
//Trade 6
long5 = long and last_long1_signal > last_long_signal[1] and long1_signal == 0 and last_long_signal[1] > last_short_signal
short5 = short and last_short1_signal > last_short_signal[1] and short1_signal == 0 and last_short_signal[1] > last_long_signal
last_long5 = long5 ? time : nz(last_long5[1])
last_short5 = short5 ? time : nz(last_short5[1])
long5_signal = crossover(last_long5, last_long4_signal) and long3_signal==0 and long4_signal==0
short5_signal = crossover(last_short5, last_short4_signal) and short3_signal==0 and short4_signal==0
last_long5_signal = long5_signal ? time : nz(last_long5_signal[1])
last_short5_signal = short5_signal ? time : nz(last_short5_signal[1])
//Trade 7
long6 = long and last_long1_signal > last_long_signal[1] and long1_signal == 0 and last_long_signal[1] > last_short_signal
short6 = short and last_short1_signal > last_short_signal[1] and short1_signal == 0 and last_short_signal[1] > last_long_signal
last_long6 = long6 ? time : nz(last_long6[1])
last_short6 = short6 ? time : nz(last_short6[1])
long6_signal = crossover(last_long6, last_long5_signal) and long2_signal==0 and long4_signal==0 and long5_signal==0
short6_signal = crossover(last_short6, last_short5_signal) and short2_signal==0 and short4_signal==0 and short5_signal==0
last_long6_signal = long6_signal ? time : nz(last_long6_signal[1])
last_short6_signal = short6_signal ? time : nz(last_short6_signal[1])
//Trade 8
long7 = long and last_long1_signal > last_long_signal[1] and long1_signal == 0 and last_long_signal[1] > last_short_signal
short7 = short and last_short1_signal > last_short_signal[1] and short1_signal == 0 and last_short_signal[1] > last_long_signal
last_long7 = long7 ? time : nz(last_long7[1])
last_short7 = short7 ? time : nz(last_short7[1])
long7_signal = crossover(last_long7, last_long6_signal) and long2_signal==0 and long4_signal==0 and long5_signal==0 and long6_signal==0
short7_signal = crossover(last_short7, last_short6_signal) and short2_signal==0 and short4_signal==0 and short5_signal==0 and short6_signal==0
last_long7_signal = long7_signal ? time : nz(last_long7_signal[1])
last_short7_signal = short7_signal ? time : nz(last_short7_signal[1])
//Trade 9
long8 = long and last_long1_signal > last_long_signal[1] and long1_signal == 0 and last_long_signal[1] > last_short_signal
short8 = short and last_short1_signal > last_short_signal[1] and short1_signal == 0 and last_short_signal[1] > last_long_signal
last_long8 = long8 ? time : nz(last_long8[1])
last_short8 = short8 ? time : nz(last_short8[1])
long8_signal = crossover(last_long8, last_long7_signal) and long2_signal==0 and long4_signal==0 and long5_signal==0 and long6_signal==0 and long7_signal==0
short8_signal = crossover(last_short8, last_short7_signal) and short2_signal==0 and short4_signal==0 and short5_signal==0 and short6_signal==0 and short7_signal==0
last_long8_signal = long8_signal ? time : nz(last_long8_signal[1])
last_short8_signal = short8_signal ? time : nz(last_short8_signal[1])
//Trade 10
long9 = long and last_long1_signal > last_long_signal[1] and long1_signal == 0 and last_long_signal[1] > last_short_signal
short9 = short and last_short1_signal > last_short_signal[1] and short1_signal == 0 and last_short_signal[1] > last_long_signal
last_long9 = long9 ? time : nz(last_long9[1])
last_short9 = short9 ? time : nz(last_short9[1])
long9_signal = crossover(last_long9, last_long8_signal) and long2_signal==0 and long4_signal==0 and long5_signal==0 and long6_signal==0 and long7_signal==0 and long8_signal==0
short9_signal = crossover(last_short9, last_short8_signal) and short2_signal==0 and short4_signal==0 and short5_signal==0 and short6_signal==0 and short7_signal==0 and short8_signal==0
last_long9_signal = long9_signal ? time : nz(last_long9_signal[1])
last_short9_signal = short9_signal ? time : nz(last_short9_signal[1])
strategy.entry("Long", strategy.long, qty=1, when=long_signal)
strategy.entry("Short", strategy.short, qty=1, when=short_signal)
strategy.entry("Long", strategy.long, qty=2, when=long1_signal)
strategy.entry("Short1", strategy.short, qty=2, when=short1_signal)
strategy.entry("Long", strategy.long, qty=4, when=long2_signal)
strategy.entry("Short2", strategy.short, qty=4, when=short2_signal)
strategy.entry("Long", strategy.long, qty=8, when=long3_signal)
strategy.entry("Short3", strategy.short, qty=8, when=short3_signal)
strategy.entry("Long", strategy.long, qty=5, when=long4_signal)
strategy.entry("Short", strategy.short, qty=5, when=short4_signal)
strategy.entry("Long", strategy.long, qty=6, when=long5_signal)
strategy.entry("Short", strategy.short, qty=6, when=short5_signal)
strategy.entry("Long", strategy.long, qty=7, when=long6_signal)
strategy.entry("Short", strategy.short, qty=7, when=short6_signal)
strategy.entry("Long", strategy.long, qty=8, when=long7_signal)
strategy.entry("Short", strategy.short, qty=8, when=short7_signal)
strategy.entry("Long", strategy.long, qty=9, when=long8_signal)
strategy.entry("Short", strategy.short, qty=9, when=short8_signal)
strategy.entry("Long", strategy.long, qty=10, when=long9_signal)
strategy.entry("Short", strategy.short, qty=10, when=short9_signal)
short1_tp = low <= (last_open_short1 - tp) and short1[1] == 0
short2_tp = low <= (last_open_short2 - tp) and short2[1] == 0
short3_tp = low <= (last_open_short3 - tp) and short3[1] == 0
short1_sl = high >= (last_open_short1 + sl) and short1[1] == 0
short2_sl = high >= (last_open_short2 + sl) and short2[1] == 0
short3_sl = high >= (last_open_short3 + sl) and short3[1] == 0
close_long = cross(close, fib6)
close_short = cross(close, fib0)
// strategy.close("Long", when=close_long)
// strategy.close("Long", when=long_tp)
// strategy.close("Long", when=long_sl)
// strategy.close("Short", when=long_signal)
// strategy.close("Short1", when=long_signal)
// strategy.close("Short2", when=long_signal)
// strategy.close("Short3", when=long_signal)
strategy.close("Short", when=short_tp)
strategy.close("Short1", when=short1_tp)
strategy.close("Short2", when=short2_tp)
strategy.close("Short3", when=short3_tp)
strategy.close("Short", when=short_sl)
strategy.close("Short1", when=short1_sl)
strategy.close("Short2", when=short2_sl)
strategy.close("Short3", when=short3_sl)