اس حکمت عملی کا بنیادی خیال ایشیائی سیشن کے اعلی اور کم پوائنٹس کو بریک آؤٹ پوائنٹس کے طور پر استعمال کرنا ہے۔ یورپی اور امریکی مارکیٹوں کے کھلنے کے چند گھنٹوں کے اندر ، اگر قیمت ایشیائی سیشن کے اعلی سے اوپر ٹوٹ جاتی ہے تو ، یہ لمبی ہوجاتی ہے۔ اگر یہ ایشیائی سیشن کے کم سے نیچے ٹوٹ جاتا ہے تو ، یہ مختصر ہوجاتا ہے۔ نقصان کو روکنے اور منافع حاصل کرنے کو خطرہ پر قابو پانے کے لئے ترتیب دیا گیا ہے۔ یہ حکمت عملی صرف ایک دن میں ایک ہی تجارت کھولتی ہے ، جس میں زیادہ سے زیادہ 100,000 بیک وقت پوزیشنیں ہوتی ہیں۔
یہ حکمت عملی ایشیائی سیشن کے اعلی اور کم پوائنٹس کو ٹریڈنگ کے لئے بریک آؤٹ پوائنٹس کے طور پر استعمال کرتی ہے اور یورپی اور امریکی مارکیٹوں میں واضح رجحانات والی اقسام پر استعمال کے لئے موزوں ہے۔ تاہم ، فکسڈ پوائنٹ اسٹاپ نقصان اور منافع اور معیاری بریک آؤٹ انٹری کے طریقوں میں بھی کچھ حدود ہیں۔ کچھ متحرک اور رجحان پر مبنی اشارے متعارف کرانے سے ، حکمت عملی کو بہتر نتائج حاصل کرنے کے لئے بہتر بنایا جاسکتا ہے۔
/*backtest start: 2024-02-27 00:00:00 end: 2024-03-28 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Asia Session", overlay=true) var hourSessionStart = input(19, "Asia session start hour", minval=0, maxval=23) var hourSessionStop = input(1, "Asia session end hour", minval=0, maxval=23) var offsetHours = input(3, "Offset hours after Asia session end") var float hi = na var float lo = na var float plotHi = na var float plotLo = na var bool inSession = na var bool enteringSession = na var bool exitingSession = na inSession := (hour >= hourSessionStart or hour < hourSessionStop) enteringSession := inSession and not inSession[1] exitingSession := not inSession and inSession[1] if enteringSession plotLo := na plotHi := na if inSession lo := min(low, nz(lo, 1.0e23)) hi := max(high, nz(hi)) if exitingSession plotLo := lo plotHi := hi lo := na hi := na bgcolor(inSession ? color.blue : na) plot(plotLo, "Asia session Low", color.red, style=plot.style_linebr) plot(plotHi, "Asia session High", color.green, style=plot.style_linebr) // Implementazione delle condizioni di entrata var float asiaSessionLow = na var float asiaSessionHigh = na var int maxTrades = 100000 // Impostiamo il massimo numero di operazioni contemporanee var int tradesOpened = 0 // Variabile per tenere traccia del numero di operazioni aperte var bool tradeOpened = false var bool operationClosed = false // Nuova variabile per tenere traccia dello stato di chiusura dell'operazione // Calcolo del range asiatico if (inSession) asiaSessionLow := lo asiaSessionHigh := hi // Apertura di un solo trade al giorno if (enteringSession) tradeOpened := false // Condizioni di entrata var float stopLoss = 300 * syminfo.mintick var float takeProfit = 300 * syminfo.mintick if (not tradeOpened and not operationClosed and close < asiaSessionLow and tradesOpened < maxTrades and hour >= hourSessionStop + offsetHours) strategy.entry("Buy", strategy.long) tradeOpened := true tradesOpened := tradesOpened + 1 // Incrementiamo il contatore delle operazioni aperte if (not tradeOpened and not operationClosed and close > asiaSessionHigh and tradesOpened < maxTrades and hour >= hourSessionStop + offsetHours) strategy.entry("Sell", strategy.short) tradeOpened := true tradesOpened := tradesOpened + 1 // Incrementiamo il contatore delle operazioni aperte // Impostazione dello stop loss e del take profit strategy.exit("Stop Loss / Take Profit", "Buy", stop=close - stopLoss, limit=close + takeProfit) strategy.exit("Stop Loss / Take Profit", "Sell", stop=close + stopLoss, limit=close - takeProfit)