
یہ حکمت عملی چاند کے مرحلے کی تبدیلیوں پر مبنی ہے، نئے چاند پر زیادہ کام کریں، اور مکمل چاند پر خالی کریں، دو طرفہ تجارت کو لاگو کریں.
اس حکمت عملی میں ماہ کے مرحلے کا حساب لگانے کے لئے اپنی مرضی کے مطابق فنکشن کا استعمال کیا گیا ہے ، جس کی وجہ سے تاریخ کے مطابق ماہ کے مرحلے کی عمر کا درست حساب لگایا جاسکتا ہے۔ 15 سال سے کم عمر کا نیا مہینہ ہے ، 15 سال سے زیادہ عمر اور 30 سال سے کم عمر کا پورا مہینہ ہے۔ حکمت عملی ماہ کے مرحلے کے مطابق زیادہ کالے سگنل دیتی ہے ، نئے مہینے میں زیادہ پوزیشن کھولتی ہے ، پورے مہینے میں خالی پوزیشن کھولتی ہے ، اور اس کے برعکس ، مکمل مہینے میں زیادہ پوزیشن ، نئے مہینے میں خالی پوزیشن۔
صارفین کو دو حکمت عملیوں کا انتخاب کرنے کی اجازت ہے۔ حکمت عملی بول متغیر کا استعمال کرتے ہوئے اس بات کا سراغ لگاتی ہے کہ آیا اس وقت پوزیشن موجود ہے یا نہیں۔ جب سگنل ظاہر ہونے سے پہلے کوئی پوزیشن نہیں ہوتی ہے تو نئی پوزیشن کھولیں ، جب سگنل الٹ جاتا ہے تو موجودہ پوزیشن کو برابر کریں۔ حکمت عملی بصری طور پر خرید و فروخت کے نشانات دکھاتی ہے۔
خطرے سے نمٹنے کے طریقے:
یہ حکمت عملی مندرجہ ذیل پہلوؤں سے بہتر ہو سکتی ہے:
اس حکمت عملی میں چاند کے مرحلے کے دورانیہ کے قوانین کا استعمال کیا گیا ہے ، جس میں نئے چاند اور مکمل چاند کی بنیاد پر دو طرفہ تجارتی حکمت عملی کا اطلاق ہوتا ہے۔ حکمت عملی واضح ، مرضی کے مطابق دکھاتی ہے ، جو لمبی لائن رجحانات کو پکڑنے کے لئے موزوں ہے۔ لیکن نقصان کو محدود کرنے کی عدم موجودگی اور زیادہ خطرہ کی وجہ سے ، دیگر قلیل مدتی اشارے کے ساتھ مل کر استعمال کرنے کی سفارش کی جاتی ہے ، اور مزید اصلاح کے ل position پوزیشن اور اسٹاپ نقصان کے انتظام کے ماڈیول کو شامل کیا گیا ہے۔
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// ---------------------------© paaax----------------------------
// ---------------- Author1: Pascal Simon (paaax) ----------------
// -------------------- www.pascal-simon.de ---------------------
// ---------------- www.tradingview.com/u/paaax/-----------------
// Source: https://gist.github.com/L-A/3497902#file-moonobject-js
// -------------------------© astropark--------------------------
// --------------- Author2: Astropark (astropark) ---------------
// -------------- https://bit.ly/astroparktrading ---------------
// -------------- www.tradingview.com/u/astropark/---------------
// @version=4
strategy(title="[astropark] Moon Phases [strategy]", overlay=true, pyramiding = 10, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 100000, currency = currency.USD, commission_value = 0.1)
// INPUT --- {
newMoonColor = input(color.black, "New Moon Color")
fullMoonColor = input(color.white, "Full Moon Color")
fillBackground = input(true, "Fill Background?")
newMoonBackgroundColor = input(#fffff0aa, "New Moon Background Color")
fullMoonBackgroundColor = input(#aaaaaaaa, "Full Moon Background Color")
//} --- INPUT
// FUNCTION --- {
normalize(_v) =>
x = _v
x := x - floor(x)
if x < 0
x := x + 1
x
calcPhase(_year, _month, _day) =>
int y = na
int m = na
float k1 = na
float k2 = na
float k3 = na
float jd = na
float ip = na
y := _year - floor((12 - _month) / 10)
m := _month + 9
if m >= 12
m := m - 12
k1 := floor(365.25 * (y + 4712))
k2 := floor(30.6 * m + 0.5)
k3 := floor(floor((y / 100) + 49) * 0.75) - 38
jd := k1 + k2 + _day + 59
if jd > 2299160
jd := jd - k3
ip := normalize((jd - 2451550.1) / 29.530588853)
age = ip * 29.53
//} --- FUNCTION
// INIT --- {
age = calcPhase(year, month, dayofmonth)
moon =
floor(age)[1] > floor(age) ? 1 :
floor(age)[1] < 15 and floor(age) >= 15 ? -1 : na
//} --- INIT
// PLOT --- {
plotshape(
moon==1,
"Full Moon",
shape.circle,
location.top,
color.new(newMoonColor, 20),
size=size.normal
)
plotshape(
moon==-1,
"New Moon",
shape.circle,
location.bottom,
color.new(fullMoonColor, 20),
size=size.normal
)
var color col = na
if moon == 1 and fillBackground
col := fullMoonBackgroundColor
if moon == -1 and fillBackground
col := newMoonBackgroundColor
bgcolor(col, title="Moon Phase", transp=10)
//} --- PLOT
// STRATEGY --- {
strategy = input("buy on new moon, sell on full moon", options=["buy on new moon, sell on full moon","sell on new moon, buy on full moon"])
longCond = strategy == "buy on new moon, sell on full moon" ? moon == -1 : moon == 1
shortCond = strategy == "buy on new moon, sell on full moon" ? moon == 1 : moon == -1
weAreInLongTrade = false
weAreInShortTrade = false
weAreInLongTrade := (longCond or weAreInLongTrade[1]) and shortCond == false
weAreInShortTrade := (shortCond or weAreInShortTrade[1]) and longCond == false
buySignal = longCond and weAreInLongTrade[1] == false
sellSignal = shortCond and weAreInShortTrade[1] == false
showBuySellSignals = input(defval=true, title = "Show Buy/Sell Signals")
longEnabled = input(true, title="Long enabled")
shortEnabled = input(true, title="Short enabled")
analysisStartYear = input(2017, "Backtesting From Year", minval=1980)
analysisStartMonth = input(1, "And Month", minval=1, maxval=12)
analysisStartDay = input(1, "And Day", minval=1, maxval=31)
analysisStartHour = input(0, "And Hour", minval=0, maxval=23)
analysisStartMinute = input(0, "And Minute", minval=0, maxval=59)
analyzeFromTimestamp = timestamp(analysisStartYear, analysisStartMonth, analysisStartDay, analysisStartHour, analysisStartMinute)
plotshape(showBuySellSignals and buySignal, title="Buy Label", text="Buy", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)
plotshape(showBuySellSignals and sellSignal, title="Sell Label", text="Sell", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)
strategy.entry("long", strategy.long, when = time > analyzeFromTimestamp and buySignal and longEnabled)
strategy.entry("short", strategy.short, when = time > analyzeFromTimestamp and sellSignal and shortEnabled)
strategy.close("long", when = sellSignal)
strategy.close("short", when = buySignal)
//} --- STRATEGY