फिक्स्ड ग्रिड ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2023-11-16 17:09:45
टैगः

img

अवलोकन

यह रणनीति प्रत्येक ग्रिड परत के बीच प्रारंभिक मूल्य और प्रतिशत निर्धारित करके फिक्स्ड ग्रिड ट्रेडिंग दृष्टिकोण को अपनाती है। फिर यह कम-खरीद-उच्च-बिक्री ग्रिड ट्रेडिंग रणनीति को लागू करने के लिए प्रतिशत के आधार पर 10 फिक्स्ड खरीद और बिक्री मूल्य की गणना करती है।

रणनीति तर्क

यह रणनीति सबसे पहले प्रारंभिक मूल्य मूल्य और ग्रिड दूरी प्रतिशत ग्रिड प्रतिशत निर्धारित करती है। फिर यह प्रारंभिक मूल्य और प्रतिशत के आधार पर खरीद और बिक्री की 10 परतों की गणना करती है।

खरीद मूल्य सूत्रः

b1 = स्प्रिस-(स्प्रिस*p1)

b2=स्प्रिस-(स्प्रिस*p2)

b3=स्प्रिस-(स्प्रिस*p3)

जहां p1~p10 प्रतिशत हैं, जो ग्रिड प्रतिशत के आधार पर परत-दर-स्तर गणना की जाती है।

बिक्री मूल्य सूत्रः

s1=b1+(स्प्रिस*p1)

s2=b2+(स्प्रिस*p1)

s3=b3+(स्प्रेस*p1)

खरीद शर्त तब ट्रिगर होती है जब बंद मूल्य खरीद मूल्य से कम होता है:

यदि (close

strategy.entry ((b1, strategy.long, when=(close

इसी प्रकार, जब बंद मूल्य बिक्री मूल्य से अधिक होता है तो बेचने की स्थिति ट्रिगर होती हैः

यदि (close>s1)

strategy.exit("b1", जब=(close>s1))

इससे कम खरीद-बिक्री-बिक्री की ग्रिड ट्रेडिंग रणनीति लागू होती है।

लाभ

फिक्स्ड ग्रिड रणनीति के निम्नलिखित फायदे हैंः

  1. बाजार के समय के बिना ऑटो कम-खरीद-उच्च-बिक्री प्राप्त करता है, व्यापारिक कठिनाई को कम करता है।

  2. उचित ग्रिड दूरी निर्धारित करने से जोखिम को प्रभावी ढंग से नियंत्रित किया जा सकता है और पीछा करने से बचा जा सकता है।

  3. लाभदायक चाहे बाजार ऊपर या नीचे जाए।

  4. विभिन्न बाजार स्थितियों के लिए ग्रिड पैरामीटर को समायोजित करने के लिए लचीलापन।

  5. ग्रिड परतों को जोड़कर स्थिति आकार को बढ़ाना।

  6. स्टॉप लॉस को शामिल करने से चरम बाजार की घटनाओं में भारी नुकसान से बचा जा सकता है।

जोखिम

इस रणनीति में कुछ जोखिम भी हैं:

  1. ट्रेडिंग शुल्क सीमाबद्ध बाजार के दौरान लाभ को खा जाता है।

  2. गलत शुरुआती मूल्य और ग्रिड सेटिंग्स से नुकसान होता है।

  3. चरम घटनाओं के दौरान मूल्य अंतर हानि का कारण बन सकता है।

  4. यांत्रिक व्यापार में ऑर्डर सम्मिलन का जोखिम होता है।

  5. एकाग्र घटनाएं नुकसान को बढ़ा सकती हैं।

समाधान:

  1. लाभ > शुल्क सुनिश्चित करने के लिए ग्रिड पैरामीटर का अनुकूलन करें।

  2. इष्टतम प्रारंभ मूल्य और ग्रिड दूरी खोजने के लिए बैकटेस्ट।

  3. जोखिमों को नियंत्रित करने के लिए स्टॉप लॉस जोड़ें।

  4. सम्मिलन से बचने के लिए आदेश मूल्य को आराम दें।

  5. अधिकतम हानि को सीमित करने के लिए जोखिम नियंत्रण सेट करें.

सुधार

इस रणनीति को निम्नलिखित तरीकों से बढ़ाया जा सकता हैः

  1. अस्थिरता के आधार पर ग्रिड दूरी को गतिशील रूप से समायोजित करें।

  2. गतिशील रूप से प्रारंभ मूल्य निर्धारित करने के लिए मूल्य सीमा की गणना करें.

  3. मूल्य की भविष्यवाणी करने और ग्रिड को समायोजित करने के लिए एमएल मॉडल जोड़ें।

  4. ऐतिहासिक स्टॉप लॉस बिंदुओं के आधार पर स्टॉप लॉस का अनुकूलन करें।

  5. लाभ स्तर के आधार पर स्थिति आकार शामिल करें।

  6. पूंजी उपयोग को अधिकतम करने के लिए स्थिति प्रबंधन को अनुकूलित करें।

  7. प्रभाव लागत को कम करने के लिए TWAP का उपयोग करके निष्पादन में सुधार।

निष्कर्ष

यह रणनीति शुरुआती मूल्य और ग्रिड प्रतिशत के आधार पर खरीद और बिक्री की कीमतों को निर्धारित करके फिक्स्ड ग्रिड ट्रेडिंग को लागू करती है, ऑटो कम-खरीद-उच्च-बिक्री प्राप्त करती है। लाभ लॉक और हानि नियंत्रण के लिए मापदंडों, गतिशील समायोजन और स्टॉप लॉस को अनुकूलित करके जोखिमों का प्रबंधन करना महत्वपूर्ण है। उन्नत एमएल और मनी मैनेजमेंट तकनीकों को शामिल करने से रणनीति लाभप्रदता और जीत दर में और सुधार हो सकता है।


/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
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/
// © Lionkind

//@version=5
strategy("Grid HW", overlay = true, margin_long = 1, margin_short = 1)

// Fix 35k price as starting point and 1% as a distance

sprice=input(40500,"Starting price")
gridpercent=input(1,"Percent")

// calculate the % of the 10 layers 

p1=((gridpercent*1)/100)
p2=((gridpercent*2)/100)
p3=((gridpercent*3)/100)
p4=((gridpercent*4)/100)
p5=((gridpercent*5)/100)
p6=((gridpercent*6)/100)
p7=((gridpercent*7)/100)
p8=((gridpercent*8)/100)
p9=((gridpercent*9)/100)
p10=((gridpercent*10)/100)

//set buy prices 

b1=sprice-(sprice*p1)
b2=sprice-(sprice*p2)
b3=sprice-(sprice*p3)
b4=sprice-(sprice*p4)
b5=sprice-(sprice*p5)
b6=sprice-(sprice*p6)
b7=sprice-(sprice*p7)
b8=sprice-(sprice*p8)
b9=sprice-(sprice*p9)
b10=sprice-(sprice*p10)

//set sell prices

s1=b1+(sprice*p1)
s2=b2+(sprice*p1)
s3=b3+(sprice*p1)
s4=b4+(sprice*p1)
s5=b5+(sprice*p1)
s6=b6+(sprice*p1)
s7=b7+(sprice*p1)
s8=b8+(sprice*p1)
s9=b9+(sprice*p1)
s10=b10+(sprice*p1)

//Long conditions

lc1=close<b1
lc2=close<b2
lc3=close<b3
lc4=close<b4
lc5=close<b5
lc6=close<b6
lc7=close<b7
lc8=close<b8
lc9=close<b9
lc10=close<b10

//exit conditions
ec1=close>s1
ec2=close>s2
ec3=close>s3
ec4=close>s4
ec5=close>s5
ec6=close>s6
ec7=close>s7
ec8=close>s8
ec9=close>s9
ec10=close>s10

//long orders
if (lc1)
    strategy.entry("b1", strategy.long, when=(lc1))
    
if (lc2)
    strategy.entry("b2", strategy.long, when=(lc2))
    
if (lc3)
    strategy.entry("b3", strategy.long, when=(lc3))    
if (lc4)
    strategy.entry("b4", strategy.long, when=(lc4))    
if (lc5)
    strategy.entry("b5", strategy.long, when=(lc5))
if (lc6)
    strategy.entry("b6", strategy.long, when=(lc6))
if (lc7)
    strategy.entry("b7", strategy.long, when=(lc7))    
if (lc8)
    strategy.entry("b8", strategy.long, when=(lc8))    
if (lc9)
    strategy.entry("b9", strategy.long, when=(lc9))    
if (lc10)
    strategy.entry("b10", strategy.long, when=(lc10))
    
//exit orders   
if (ec1)
    strategy.exit("b1", when=(ec1), limit=1)
if (ec2)
    strategy.exit("b2", when=(ec2), limit=1)
if (ec3)
    strategy.exit("b3", when=(ec3), limit=1)
if (ec4)
    strategy.exit("b4", when=(ec4), limit=1)
if (ec5)
    strategy.exit("b5", when=(ec5), limit=1)
if (ec6)
    strategy.exit("b6", when=(ec6), limit=1)
if (ec7)
    strategy.exit("b7", when=(ec7), limit=1)
if (ec8)
    strategy.exit("b8", when=(ec8), limit=1)
if (ec9)
    strategy.exit("b9", when=(ec9), limit=1)
if (ec10)
    strategy.exit("b10", when=(ec10), limit=1)
    

plot(b1,color=color.green)
plot(s1, color=color.red)
plot(b2, color=color.purple)

अधिक