4
ध्यान केंद्रित करना
1271
समर्थक

ऊपर का पीछा करने और नीचे बेचने की रणनीति का पायथन संस्करण

में बनाया: 2020-01-11 14:49:08, को अपडेट: 2024-12-12 20:57:43
comments   6
hits   7100

ऊपर का पीछा करने और नीचे बेचने की रणनीति का पायथन संस्करण

ऊपर का पीछा करने और नीचे बेचने की रणनीति का पायथन संस्करण

प्रवृत्ति रणनीतियाँ आम तौर पर बाजार की दिशा निर्धारित करने के लिए विभिन्न संकेतकों का उपयोग करती हैं, और विभिन्न संकेतकों के संख्यात्मक तुलना परिणामों को व्यापारिक संकेतों के रूप में उपयोग करती हैं। इससे अनिवार्यतः मापदंडों के उपयोग और संकेतकों की गणना की आवश्यकता होगी। चूंकि पैरामीटर्स का उपयोग किया गया है, इसलिए फिटिंग होगी। यह रणनीति कुछ बाजार स्थितियों में बहुत अच्छा प्रदर्शन करती है, लेकिन यदि आप बदकिस्मत हैं और बाजार का रुझान वर्तमान मापदंडों के अनुकूल नहीं है, तो यह रणनीति बहुत खराब प्रदर्शन कर सकती है। इसलिए, मेरी राय में, रणनीति का डिज़ाइन यथासंभव सरल होना चाहिए, और ऐसी रणनीति अधिक मजबूत होगी। आज हम एक प्रवृत्ति रणनीति साझा करेंगे जो संकेतक का उपयोग नहीं करती है। रणनीति कोड बहुत सरल है, केवल 40 पंक्तियाँ।

रणनीति कोड:

import time

basePrice = -1
ratio = 0.05
acc = _C(exchange.GetAccount)
lastCancelAll = 0
minStocks = 0.01

def CancelAll():
    while True : 
        orders = _C(exchange.GetOrders)
        for i in range(len(orders)) :
            exchange.CancelOrder(orders[i]["Id"], orders[i])
        if len(orders) == 0 :
            break
        Sleep(1000)

def main():
    global basePrice, acc, lastCancelAll
    exchange.SetPrecision(2, 3)
    while True:
        ticker = _C(exchange.GetTicker)
        if basePrice == -1 :
            basePrice = ticker.Last
        if ticker.Last - basePrice > 0 and (ticker.Last - basePrice) / basePrice > ratio :
            acc = _C(exchange.GetAccount)
            if acc.Balance * ratio / ticker.Last > minStocks :
                exchange.Buy(ticker.Last, acc.Balance * ratio / ticker.Last)
                basePrice = ticker.Last
        if ticker.Last - basePrice < 0 and (basePrice - ticker.Last) / basePrice > ratio : 
            acc = _C(exchange.GetAccount)
            if acc.Stocks * ratio > minStocks :
                exchange.Sell(ticker.Last, acc.Stocks * ratio)
                basePrice = ticker.Last
        ts = time.time()
        if ts - lastCancelAll > 60 * 5 :
            CancelAll()
            lastCancelAll = ts 
        LogStatus(_D(), "\n", "行情信息:", ticker, "\n", "账户信息:", acc)
        Sleep(500)

रणनीति का सरल विश्लेषण

रणनीति का सिद्धांत बहुत सरल है। यह किसी भी संकेतक का उपयोग नहीं करता है, लेकिन केवल वर्तमान मूल्य को ट्रेडिंग ट्रिगर्स के आधार के रूप में उपयोग करता है, और केवल एक मुख्य पैरामीटर हैratioकिसी स्थिति को खोलने की ट्रिगरिंग को नियंत्रित करता है।

लंबा ट्रिगर:

if ticker.Last - basePrice > 0 and (ticker.Last - basePrice) / basePrice > ratio

आधार मूल्य से तुलना करने के लिए वर्तमान मूल्य का उपयोग करें। जब वर्तमान मूल्य आधार मूल्य से अधिक हो, और मूल्य अधिक होratio * 100 %, लंबित ऑर्डर सक्रिय हो जाता है और एक लंबा ऑर्डर रखा जाता है। ऑर्डर देने के बाद, आधार मूल्य को वर्तमान मूल्य में अपडेट कर दिया जाता है।

लघु आदेश ट्रिगर:

if ticker.Last - basePrice < 0 and (basePrice - ticker.Last) / basePrice > ratio

शॉर्ट सेलिंग का सिद्धांत एक जैसा है। बेस प्राइस से तुलना करने के लिए मौजूदा कीमत का इस्तेमाल करें। जब मौजूदा कीमत बेस प्राइस से कम हो और कीमत उससे ज़्यादा होratio * 100 %, लंबित ऑर्डर सक्रिय हो जाता है और एक छोटा ऑर्डर रखा जाता है। ऑर्डर देने के बाद, आधार मूल्य को वर्तमान मूल्य में अपडेट कर दिया जाता है।

प्रत्येक ऑर्डर के लिए ऑर्डर वॉल्यूम उपलब्ध फंड का मूल्य है।ratio * 100 %。 जब तक कि गणना की गई ऑर्डर मात्रा मापदंडों में निर्धारित न्यूनतम लेनदेन मात्रा से कम न होminStocksअन्यथा ऑर्डर दें.

इससे रणनीति के तहत मूल्य परिवर्तनों का अनुसरण करने, उच्च स्तर का पीछा करने और निम्न स्तर पर बेचने की अनुमति मिलती है।

बैकटेस्टिंग

बैकटेस्टिंग अवधि लगभग एक वर्ष है। ऊपर का पीछा करने और नीचे बेचने की रणनीति का पायथन संस्करण

ऑपरेशन परिणाम: ऊपर का पीछा करने और नीचे बेचने की रणनीति का पायथन संस्करण

ऊपर का पीछा करने और नीचे बेचने की रणनीति का पायथन संस्करण

हाल ही में, कुछ उपयोगकर्ताओं ने कहा कि पायथन में अपेक्षाकृत कम रणनीतियाँ हैं। मैं भविष्य में पायथन में लिखी गई अधिक रणनीतियाँ साझा करूँगा। रणनीति कोड भी बहुत सरल है, जो शुरुआती लोगों के लिए सीखने के लिए बहुत उपयुक्त है। रणनीति पता: https://www.fmz.com/strategy/181185

यह रणनीति केवल संदर्भ, बैकटेस्टिंग और परीक्षण के लिए है। यदि आप रुचि रखते हैं, तो आप इसे अनुकूलित और अपग्रेड कर सकते हैं।