چاند کے مراحل پر مبنی دو طرفہ تجارتی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-21 16:15:25
ٹیگز:

img

جائزہ

یہ حکمت عملی چاند کے مراحل کی بنیاد پر طویل اور مختصر دونوں تجارت کرتی ہے، نئے چاند پر طویل اور مکمل چاند پر مختصر جا رہی ہے.

حکمت عملی منطق

یہ حکمت عملی ایک کسٹم فنکشن کا استعمال کرتے ہوئے تاریخوں کی بنیاد پر چاند کے مراحل کا درست حساب لگاتی ہے۔ چاند کی عمر 15 سے کم ایک نیا چاند ہے ، اور 15 سے 30 کے درمیان ایک مکمل چاند ہے۔ یہ چاند کے مراحل کی بنیاد پر لمبے اور مختصر سگنل تیار کرتا ہے ، نئے چاندوں پر لمبی پوزیشنیں کھولتا ہے اور پورے چاندوں پر مختصر پوزیشنیں۔ یہ ریورس سگنل پر پوزیشنیں بند کرتا ہے - پورے چاندوں پر لمبی اور نئے چاندوں پر مختصر بندش۔

صارفین نئے چاند پر طویل ، پورے چاند پر مختصر یا اس کے برعکس انتخاب کرسکتے ہیں۔ بولین متغیرات اس وقت کھلے ہیں تو ٹریڈنگ کرتے ہیں۔ جب کوئی پوزیشن کھلی نہیں ہوتی ہے تو یہ نئی تجارت کھولتا ہے ، اور ریورس سگنلز پر موجودہ پوزیشنیں بند کرتا ہے۔ خرید اور فروخت مارکر بصری طور پر دکھائے جاتے ہیں۔

فوائد

  1. چاند کے دورانیے کے استعمال سے طویل مدتی رجحانات کو پکڑتا ہے
  2. حسب ضرورت ڈسپلے رنگ، بھرنے، وغیرہ
  3. دو طرفہ حکمت عملی کا انتخاب
  4. واضح کھلی/بند مارکر
  5. اصلاح کے لئے مرضی کے مطابق بیک ٹسٹ شروع وقت

خطرات

  1. طویل چاند کا دورانیہ قلیل مدتی حرکتوں کو پکڑنے میں ناکام رہتا ہے
  2. کوئی سٹاپ نقصان بھاری نقصان کی قیادت کر سکتے ہیں
  3. مقررہ سائیکل پیٹرن کی تشکیل کا شکار ہیں

خطرے کو کم کرنا:

  1. ملٹی ٹائم فریم ٹریڈنگ کے لئے دیگر مختصر سائیکل اشارے شامل کریں
  2. سٹاپ نقصان کو نافذ کریں
  3. نقصان کے اثرات کو محدود کرنے کے لئے پوزیشن سائزنگ کو بہتر بنائیں

اصلاح کی ہدایات

اسٹریٹیجی کو بہتر بنایا جاسکتا ہے:

  1. سگنلز کو فلٹر کرنے کے لئے مزید اشارے شامل کرنا اور استحکام کو بہتر بنانا
  2. نقصان کے اثرات کو بہتر بنانے اور کم کرنے کے لئے پوزیشن سائزنگ شامل کرنا
  3. نقصانات کو محدود کرنے کے لئے سٹاپ نقصان ماڈیول شامل کرنا
  4. کھلے / قریبی حالات کو بہتر بنانے کے لئے سلائڈنگ کو کم کرنے اور جیت کی شرح کو بہتر بنانے کے لئے

نتیجہ

یہ حکمت عملی چاند کے دوروں کی وقتا فوقتا کا فائدہ اٹھاتی ہے تاکہ نئے اور پورے چاند پر مبنی دو طرفہ تجارتی حکمت عملی کو نافذ کیا جاسکے۔ اس میں واضح سگنل ، اعلی تخصیص ، اور طویل مدتی رجحانات کو اچھی طرح سے پکڑتا ہے۔ لیکن نقصانات کو محدود کرنے میں ناکامی سے اہم خطرات پیدا ہوتے ہیں۔ حکمت عملی کو مزید بہتر بنانے کے لئے مختصر دورانیے کے اشارے کو جوڑنے اور پوزیشن سائزنگ اور اسٹاپ نقصانات کو شامل کرنے کی سفارش کی جاتی ہے۔


/*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


مزید