पायथन संस्करण के विजेताओं को खरीदने के लिए रणनीति

लेखक:लिडिया, बनाया गयाः 2022-12-22 22:04:41, अद्यतन किया गयाः 2023-09-20 09:22:41

img

पायथन संस्करण के विजेताओं को खरीदने के लिए रणनीति

ट्रेंड रणनीति आम तौर पर बाजार की दिशा का न्याय करने के लिए विभिन्न संकेतकों का उपयोग करती है, और विभिन्न संकेतकों की तुलना के परिणामों का उपयोग ट्रेडिंग संकेतों के रूप में करती है। इस तरह, मापदंडों का उपयोग करना और संकेतकों की गणना करना अपरिहार्य है। अब जब मापदंडों का उपयोग किया जाता है, तो एक उपयुक्त स्थिति होगी। कुछ बाजारों में, रणनीति बहुत अच्छी तरह से प्रदर्शन करती है, लेकिन यदि आप दुर्भाग्यशाली हैं और बाजार की प्रवृत्ति वर्तमान मापदंडों के लिए बहुत प्रतिकूल है, तो रणनीति बहुत खराब प्रदर्शन कर सकती है। इसलिए, मैं मानता हूं कि रणनीति डिजाइन जितना सरल होगा, उतना बेहतर होगा। यह रणनीति अधिक मजबूत होगी। आज हम संकेतकों के बिना एक प्रवृत्ति रणनीति साझा करेंगे। रणनीति कोड बहुत सरल है, केवल 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:", ticker, "\n", "Account information:", 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पैरामीटर द्वारा सेट।

इस प्रकार, रणनीति विजेताओं को खरीदने के लिए मूल्य परिवर्तनों का अनुसरण करती है।

बैकटेस्ट

बैकटेस्टिंग का समय लगभग एक वर्ष का होता है।

img

परिचालन परिणाम:

img img img

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

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


संबंधित

अधिक