ट्रेंड रणनीति आम तौर पर बाजार की दिशा का न्याय करने के लिए विभिन्न संकेतकों का उपयोग करती है, और विभिन्न संकेतकों की तुलना के परिणामों का उपयोग ट्रेडिंग संकेतों के रूप में करती है। इस तरह, मापदंडों का उपयोग करना और संकेतकों की गणना करना अपरिहार्य है। अब जब मापदंडों का उपयोग किया जाता है, तो एक उपयुक्त स्थिति होगी। कुछ बाजारों में, रणनीति बहुत अच्छी तरह से प्रदर्शन करती है, लेकिन यदि आप दुर्भाग्यशाली हैं और बाजार की प्रवृत्ति वर्तमान मापदंडों के लिए बहुत प्रतिकूल है, तो रणनीति बहुत खराब प्रदर्शन कर सकती है। इसलिए, मैं मानता हूं कि रणनीति डिजाइन जितना सरल होगा, उतना बेहतर होगा। यह रणनीति अधिक मजबूत होगी। आज हम संकेतकों के बिना एक प्रवृत्ति रणनीति साझा करेंगे। रणनीति कोड बहुत सरल है, केवल 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
पैरामीटर द्वारा सेट।
इस प्रकार, रणनीति विजेताओं को खरीदने के लिए मूल्य परिवर्तनों का अनुसरण करती है।
बैकटेस्टिंग का समय लगभग एक वर्ष का होता है।
परिचालन परिणाम:
हाल ही में, कुछ उपयोगकर्ताओं ने कहा कि पायथन रणनीतियाँ कम हैं। बाद में, मैं पायथन में लिखी गई अधिक रणनीतियों को साझा करूंगा। रणनीति कोड भी बहुत सरल है, जो मात्रात्मक शुरुआती लोगों के लिए सीखने के लिए बहुत उपयुक्त है। रणनीतिक पता:https://www.fmz.com/strategy/181185
रणनीति केवल संदर्भ, सीखने और बैकटेस्टिंग के लिए है. यदि आप रुचि रखते हैं, तो आप इसे अनुकूलित और अपग्रेड कर सकते हैं.