یہ حکمت عملی بنیادی طور پر مارکیٹ کے رجحانات اور اتار چڑھاؤ کو پکڑنے کے لئے چلنے والے اوسط اور بولنگر بینڈ کا استعمال کرتی ہے۔ اس میں تین مختلف قسم کے چلنے والے اوسط استعمال ہوتے ہیں: سادہ چلنے والا اوسط (ایس ایم اے) ، وزن والا چلنے والا اوسط (ڈبلیو ایم اے) ، اور نمایاں چلنے والا اوسط (ای ایم اے) ۔ اسی وقت ، یہ قیمت چینلز کو طے کرنے کے لئے بولنگر بینڈ کا استعمال کرتا ہے ، جس میں اوپری اور نچلی بینڈ کھلنے اور بند ہونے والی پوزیشنوں کے لئے سگنل کے طور پر کام کرتے ہیں۔ جب قیمت اوپری بولنگر بینڈ کو توڑتی ہے تو ، یہ ایک مختصر پوزیشن کھولتی ہے۔ جب یہ نچلی بینڈ کو توڑتی ہے تو ، یہ ایک لمبی پوزیشن کھولتی ہے۔ یہ وسیع بولنگر بینڈ کو اسٹاپ نقصان کی سطح کے طور پر بھی طے کرتی ہے ، جب قیمت ان بینڈوں کو توڑتی ہے تو پوزیشنوں کو بند کرتی ہے۔ مجموعی طور پر ، یہ حکمت عملی اس وقت پوزیشنوں کو فوری طور پر قائم کرنے کی
مرینا پارفینوفا اسکول پروجیکٹ بوٹ ایک مقداری تجارتی حکمت عملی ہے جو حرکت پذیر اوسط اور بولنگر بینڈ پر مبنی ہے۔ یہ بولنگر بینڈ اسٹاپ نقصان لائنوں کے ذریعہ ڈراؤونگ کو کنٹرول کرتے ہوئے مارکیٹ کے رجحانات کو پکڑ کر منافع کمانے کی کوشش کرتا ہے۔ حکمت عملی کا منطق آسان اور سیدھا ہے ، جس میں وسیع پیمانے پر ایپلی کیشنز ہیں ، اور پیرامیٹرز کو مارکیٹ کی خصوصیات کے مطابق لچکدار طریقے سے ایڈجسٹ کیا جاسکتا ہے۔ تاہم ، عملی اطلاق میں ، اب بھی ضمنی بازاروں ، انتہائی حالات ، پیرامیٹر کی اصلاح وغیرہ جیسے امور پر توجہ دینے کی ضرورت ہے ، اور دارالحکومت اور پوزیشن مینجمنٹ کے قوانین کو مزید بہتر بنانا ضروری ہے۔ مجموعی طور پر ، یہ حکمت عملی ایک بنیادی مقداری تجارتی فریم ورک کی حیثیت رکھ سکتی ہے ، جسے مسلسل بہتر بنایا جاسکتا ہے اور زیادہ مضبوط تجارتی نتائج حاصل کرنے کے لئے بہتر بنایا جاسکتا ہے۔
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy ("Marina Parfenova School Project Bot", overlay = true) sma(price, n) => result = 0.0 for i = 0 to n - 1 result := result + price [i] / n result wma(price, n) => result = 0.0 sum_weight = 0.0 weight = 0.0 for i = 0 to n - 1 weight := n - 1 result := result + price [i]*weight sum_weight := sum_weight + weight result/sum_weight ema(price, n) => result = 0.0 alpha = 2/(n + 1) prevResult = price if (na(result[1]) == false) prevResult := result[1] result := alpha * price + (1 - alpha) * prevResult /// Настройки n_slow = input.int(50, "Период медленной скользящей средней", step=5) n_fast = input.int(4, "Период быстрой скользящей средней") n_deviation = input.int(30, "Период среднеквадратического отклонения", step=5) k_deviation_open = input.float(1.2, "Коэффициент ширины коридора покупки", step=0.1) k_deviation_close = input.float(1.6, "Коэффициент ширины коридора продажи", step=0.1) // ----- Линии индикаторов ----- // Медленная скользящая sma = sma(close, n_slow) plot(sma, color=#d3d3d3) // Линии Боллинджера, обозначающие коридор цены bollinger_open = k_deviation_open * ta.stdev(close, n_deviation) open_short_line = sma + bollinger_open plot(open_short_line, color=#ec8383) open_long_line = sma - bollinger_open plot(open_long_line, color=#6dd86d) bollinger_close = k_deviation_close * ta.stdev(close, n_deviation) close_short_line = sma + bollinger_close plot(close_short_line, color=#e3e3e3) close_long_line = sma - bollinger_close plot(close_long_line, color=#e3e3e3) // Быстрая скользящая ema = ema(close, n_fast) plot(ema, color = color.aqua, linewidth = 2) // ----- Сигналы для запуска стратегии ----- // если ema пересекает линию open_short сверху вниз - сигнал на создание ордера в short if(ema[1] >= open_short_line[1] and ema < open_short_line) strategy.entry("short", strategy.short) // если ema пересекает линию open_long снизу вверх - сигнал на создание ордера в long if(ema[1] <= open_long_line[1] and ema > open_long_line) strategy.entry("long", strategy.long) // если свеча пересекает верхнюю линию коридора продажи - закрываем все long-ордера if (high >= close_short_line) strategy.close("long") // если свеча пересекает нижнюю линию коридора продажи - закрываем все short-ордера if (low <= close_long_line) strategy.close("short")