3
ध्यान केंद्रित करना
1444
समर्थक

डिजिटल मुद्राओं के लिए उच्च आवृत्ति रणनीतियों का विस्तृत परिचय

में बनाया: 2023-03-10 10:09:13, को अपडेट: 2024-11-11 22:39:27
comments   13
hits   11535

डिजिटल मुद्राओं के लिए उच्च आवृत्ति रणनीतियों का विस्तृत परिचय

[TOC] मैंने 2020 में उच्च आवृत्ति रणनीतियों का परिचय देते हुए एक लेख लिखा था, https://www.fmz.com/digest-topic/6228. यद्यपि इसे काफी ध्यान मिला, फिर भी इसे गहराई से नहीं लिखा गया। दो वर्ष से अधिक समय बीत चुका है और बाजार बदल चुका है। उस लेख के प्रकाशित होने के बाद, मेरी उच्च आवृत्ति रणनीति लंबे समय तक लगातार पैसा बनाने में सक्षम थी, लेकिन लाभ धीरे-धीरे कम हो गया और एक बिंदु पर भी रुक गया। हाल के महीनों में, मैंने नवीनीकरण पर बहुत प्रयास किया है और अब मैं कुछ पैसे कमाने में सक्षम हूँ। यह लेख उच्च आवृत्ति रणनीतियों और कुछ सरलीकृत कोडों के लिए मेरे विचारों को अधिक विस्तार से पेश करेगा, जो चर्चा के लिए एक प्रारंभिक बिंदु के रूप में काम कर सकता है। संवाद करने और प्रतिक्रिया देने के लिए सभी का स्वागत है।

उच्च आवृत्ति व्यापार के लिए शर्तें

  • छूट पाने वाले खातों के लिए, उदाहरण के तौर पर Binance को लेते हुए, मौजूदा मेकर छूट 100,000 का 0.5% है। अगर दैनिक लेनदेन की मात्रा 100 मिलियन U है, तो छूट 5,000 U होगी। बेशक, लेने वाला शुल्क अभी भी वीआईपी दर पर आधारित है, इसलिए यदि रणनीति को ऑर्डर लेने की आवश्यकता नहीं है, तो वीआईपी स्तर का उच्च आवृत्ति रणनीतियों पर बहुत कम प्रभाव पड़ेगा। सामान्यतः, विभिन्न स्तरों के एक्सचेंजों में अलग-अलग छूट दरें होती हैं, तथा उच्चतर लेनदेन मात्रा बनाए रखने की आवश्यकता होती है। बहुत समय पहले, जब कुछ मुद्राओं के बाजार में बहुत उतार-चढ़ाव होता था, तब भी छूट के बिना भी लाभ होता था। आंतरिक परिसंचरण की तीव्रता के साथ, छूट ने लाभ का एक बड़ा हिस्सा बना लिया, और यहां तक ​​कि पूरी तरह से छूट पर निर्भर हो गए। उच्च आवृत्ति वाले व्यापारी शीर्ष दरें.

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

  • सही बाजार. हाई-फ़्रीक्वेंसी ट्रेडिंग को क्वांटिटेटिव ट्रेडिंग का रत्न माना जाता है। मेरा मानना ​​है कि कई प्रोग्रामेटिक ट्रेडर्स ने इसे आज़माया है, लेकिन ज़्यादातर लोग शायद इसलिए रुक जाते हैं क्योंकि वे पैसे नहीं कमा पाते और सुधार का कोई तरीका नहीं खोज पाते। इसका मुख्य कारण शायद यह है वे गलत रास्ता खोज रहे हैं। व्यापार बाजार। किसी रणनीति के प्रारंभिक चरण में, व्यक्ति को व्यापार करके पैसा कमाने के लिए अपेक्षाकृत आसान बाजारों की तलाश करनी चाहिए, ताकि लाभ हो और सुधार पर प्रतिक्रिया मिले, जो रणनीति की उन्नति के लिए अनुकूल होगी। यदि आप सबसे अधिक प्रतिस्पर्धी बाजार में शुरुआत करते हैं और कई संभावित प्रतिद्वंद्वियों के साथ प्रतिस्पर्धा करते हैं, तो आप चाहे कितनी भी कोशिश कर लें, पैसा खो देंगे और आप इसे और अधिक समय तक रोक नहीं पाएंगे। मैं नए सूचीबद्ध सतत अनुबंध ट्रेडिंग जोड़े की सलाह देता हूं। इस समय, इतने सारे प्रतिस्पर्धी नहीं हैं, खासकर जब ट्रेडिंग वॉल्यूम अपेक्षाकृत बड़ा है। यह पैसा बनाने का सबसे आसान समय है। बीटीसी और ईटीएच में सबसे अधिक ट्रेडिंग वॉल्यूम और सबसे अधिक सक्रिय लेनदेन होते हैं, लेकिन इनका अस्तित्व बनाये रखना भी सबसे कठिन होता है।

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

उच्च आवृत्ति सिद्धांत

उच्च आवृत्ति रणनीतियों के कई प्रकार हैं

  • उच्च आवृत्ति हेजिंग: इस एक्सचेंज या अन्य एक्सचेंजों के माध्यम से हेजिंग के अवसर खोजना, तथा लाभ प्राप्त करने के लिए पहले ऑर्डर लेने हेतु गति का लाभ उठाना
  • उच्च आवृत्ति रुझान, अल्पकालिक रुझानों से लाभ
  • बाजार निर्माता खरीद और बिक्री दोनों पक्षों पर ऑर्डर देते हैं, अपनी स्थिति को नियंत्रित करते हैं, और कमीशन अर्जित करके लाभ कमाते हैं।
  • ऐसे कई अन्य उदाहरण हैं, जिनका एक-एक करके वर्णन नहीं किया गया है।

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

रणनीति रूपरेखा

निम्नलिखित कोड Binance सतत अनुबंधों की बुनियादी वास्तुकला पर आधारित है, और मुख्य रूप से वेबसोकेट गहराई आदेश प्रवाह ट्रेडों बाजार की जानकारी और स्थिति की जानकारी की सदस्यता लेता है। चूँकि बाजार की जानकारी और खाता जानकारी अलग-अलग सब्सक्राइब की जाती है, इसलिए यह निर्धारित करने के लिए कि क्या नवीनतम जानकारी प्राप्त हुई है, read(-1) का लगातार उपयोग करना आवश्यक है। सीधे अनंत लूप से बचने और सिस्टम के बोझ को कम करने के लिए यहाँ EventLoop(1000) का उपयोग किया जाता है। EventLoop(1000) को तब तक अवरुद्ध रखा जाएगा जब तक कि wss या समवर्ती कार्य वापस नहीं आ जाते, 1000ms की समय-सीमा के साथ।

var datastream = null
var tickerstream = null
var update_listenKey_time = 0

function ConncetWss(){
    if (Date.now() - update_listenKey_time < 50*60*1000) {
        return
    }
    if(datastream || tickerstream){
        datastream.close()
        tickerstream.close()
    }
    //需要APIKEY
    let req = HttpQuery(Base+'/fapi/v1/listenKey', {method: 'POST',data: ''}, null, 'X-MBX-APIKEY:' + APIKEY) 
    let listenKey = JSON.parse(req).listenKey
    datastream = Dial("wss://fstream.binance.com/ws/" + listenKey + '|reconnect=true', 60)
    //Symbols是设定的交易对
    let trade_symbols_string = Symbols.toLowerCase().split(',')
    let wss_url = "wss://fstream.binance.com/stream?streams="+trade_symbols_string.join(Quote.toLowerCase()+"@aggTrade/")+Quote.toLowerCase()+"@aggTrade/"+trade_symbols_string.join(Quote.toLowerCase()+"@depth20@100ms/")+Quote.toLowerCase()+"@depth20@100ms"
    tickerstream = Dial(wss_url+"|reconnect=true", 60)
    update_listenKey_time = Date.now()
}

function ReadWss(){
    let data = datastream.read(-1)
    let ticker = tickerstream.read(-1)
    while(data){
        data = JSON.parse(data)
        if (data.e == 'ACCOUNT_UPDATE') {
            updateWsPosition(data)
        }
        if (data.e == 'ORDER_TRADE_UPDATE'){
            updateWsOrder(data)
        }        
        data = datastream.read(-1)
    }
    while(ticker){
        ticker = JSON.parse(ticker).data
        if(ticker.e == 'aggTrade'){
            updateWsTrades(ticker)
        }
        if(ticker.e == 'depthUpdate'){
            updateWsDepth(ticker)
        }
        ticker = tickerstream.read(-1)
    }
    makerOrder()
}

function main() {
    while(true){
        ConncetWss()
        ReadWss()
        worker()
        updateStatus()
        EventLoop(1000)
    }
}

रणनीति संकेतक

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

  • प्रत्येक लेनदेन की औसत लेनदेन मात्रा। लेनदेन की मात्रा 100ms के भीतर एक ही दिशा और कीमत के विभिन्न आदेशों का संग्रह है, जो खरीद और बिक्री के आदेशों के आकार को दर्शाता है। इस डेटा का वजन अधिक है। यह माना जा सकता है कि अगर खरीद आदेश की लेनदेन मात्रा बिक्री आदेश से अधिक है, तो क्रेता संचालित बाजार।
  • ऑर्डर आवृत्ति या ऑर्डर अंतराल भी लेनदेन डेटा पर आधारित है। पिछला औसत लेनदेन वॉल्यूम समय की अवधारणा पर विचार नहीं करता है और पूरी तरह से सटीक नहीं है। यदि एक दिशा में ऑर्डर वॉल्यूम औसतन छोटा है लेकिन आवृत्ति अधिक है, तो यह भी योगदान देता है इस दिशा की ताकत. औसत मात्रा*ऑर्डर आवृत्ति एक निश्चित अंतराल पर कुल मात्रा का प्रतिनिधित्व करती है और इसका उपयोग प्रत्यक्ष तुलना के लिए किया जा सकता है। ऑर्डर आगमन की घटनाएं पॉइसन वितरण के अनुरूप होती हैं, जिसका उपयोग किसी विशिष्ट समय अंतराल में आने वाले ऑर्डरों की कुल मात्रा का अनुमान लगाने और लंबित ऑर्डरों के स्थान के लिए संदर्भ प्रदान करने के लिए किया जा सकता है।
  • औसत बाजार प्रसार को समझना अपेक्षाकृत आसान है, जो कि बिक्री वाले को घटाकर खरीद वाले के बराबर होता है। अधिकांश मौजूदा बाज़ार मूल्यों में 1 टिक का मूल्य अंतर होता है। यदि मूल्य अंतर बड़ा हो जाता है, तो इसका मतलब अक्सर यह होता है कि बाज़ार में कोई प्रवृत्ति उभरी है।
  • औसत क्रय और विक्रय मूल्य की गणना प्रत्येक लेनदेन के मूल्यों का औसत निकालकर तथा उसकी नवीनतम कीमत से तुलना करके की जाती है। यदि नवीनतम खरीद आदेश मूल्य, औसत खरीद आदेश मूल्य से अधिक है, तो प्रारंभिक रूप से यह निर्धारित किया जा सकता है कि कोई सफलता प्राप्त हुई है।

रणनीति तर्क

अल्पकालिक रुझान निर्धारित करें

//bull代表短期看涨,bear短期看跌
let bull =  last_sell_price > avg_sell_price && last_buy_price > avg_buy_price &&
            avg_buy_amount / avg_buy_time > avg_sell_amount / avg_sell_time;
let bear =  last_sell_price < avg_sell_price && last_buy_price < avg_buy_price && 
            avg_buy_amount / avg_buy_time < avg_sell_amount / avg_sell_time;

यदि नवीनतम विक्रय मूल्य औसत विक्रय मूल्य से अधिक है, नवीनतम खरीद मूल्य औसत खरीद मूल्य से अधिक है, और निश्चित अंतराल खरीद आदेश मूल्य विक्रय आदेश मूल्य से अधिक है, तो इसे अल्पकालिक तेजी माना जाता है . इसके विपरीत, यह मंदी वाला है।

ऑर्डर मूल्य

function updatePrice(depth, bid_amount, ask_amount) {

    let buy_price = 0
    let sell_price = 0
    let acc_bid_amount = 0
    let acc_ask_amount = 0

    for (let i = 0; i < Math.min(depth.asks.length, depth.bids.length); i++) {
        acc_bid_amount += parseFloat(depth.bids[i][1])
        acc_ask_amount += parseFloat(depth.asks[i][1])
        if (acc_bid_amount > bid_amount  && buy_price == 0) {
            buy_price = parseFloat(depth.bids[i][0]) + tick_size
        }
        if (acc_ask_amount > ask_amount  && sell_price == 0) {
            sell_price = parseFloat(depth.asks[i][0]) - tick_size
        }
        if (buy_price > 0 && sell_price > 0) {
            break
        }
    }
    return [buy_price, sell_price]
}

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

ऑर्डर मात्रा

let buy_amount = Ratio * avg_sell_amount / avg_sell_time
let sell_amount = Ratio * avg_buy_amount / avg_buy_time

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

आदेश की शर्तें

if(bull && (sell_price-buy_price) > N * avg_diff) {
    trade('buy', buy_price, buy_amount)
}else if(position.amount < 0){
    trade('buy', buy_price, -position.amount)
}
if(bear && (sell_price-buy_price) >  N * avg_diff) {
    trade('sell', sell_price, sell_amount)
}else if(position.amount > 0){
    trade('sell', sell_price, position.amount)
}

उनमें से, avg_diff औसत बाजार मूल्य का अंतर है। एक खरीद आदेश केवल तभी रखा जाएगा जब बोली-पूछो प्रसार इस मूल्य के एक निश्चित गुणक से अधिक हो और प्रवृत्ति तेजी की हो। यदि आप एक छोटा ऑर्डर रखते हैं, तो स्थिति ऑर्डर को लंबे समय तक रोके रखने से बचने के लिए इस समय इसे भी बंद रखा जाएगा। यह सुनिश्चित करने के लिए कि लंबित ऑर्डर निष्पादित हो, आप केवल-निर्माता ऑर्डर दे सकते हैं। और आप Binance की कस्टम ऑर्डर आईडी का उपयोग कर सकते हैं, इसलिए आपको ऑर्डर वापस आने का इंतजार नहीं करना पड़ेगा।

समवर्ती वास्तुकला

var tasks = []
var jobs = []

function worker(){
    let new_jobs = []
    for(let i=0; i<tasks.length; i++){
        let task = tasks[i]
        jobs.push(exchange.Go.apply(this, task.param))
    }
    _.each(jobs, function(t){
        let ret = t.wait(-1)
        if(ret === undefined){
            new_jobs.push(t)//未返回的任务下次继续等待
        }
    })
    jobs = new_jobs
    tasks = []
}

/*
需要的任务参数写在param里
tasks.push({'type':'order','param': ["IO", "api", "POST","/fapi/v1/order",
        "symbol="+symbol+Quote+"&side="+side+"&type=LIMIT&timeInForce=GTX&quantity="+
        amount+"&price="+price+"&newClientOrderId=" + UUID() +"&timestamp="+Date.now()]})
*/

डेटा की निगरानी

  • विलंब। उच्च आवृत्ति रणनीतियों की गति के महत्व पर जोर दिया गया है। रणनीति में विभिन्न विलंबों की निगरानी और रिकॉर्ड किया जाना चाहिए, जैसे कि ऑर्डर देना, ऑर्डर रद्द करना, स्थिति वापसी, गहराई, ऑर्डर प्रवाह, स्थिति, समग्र चक्र, आदि। किसी भी असामान्य देरी की तुरंत जांच की जानी चाहिए और समग्र रणनीतिक देरी को कम करने के तरीके ढूंढे जाने चाहिए।
  • व्यापारिक मात्रा का अनुपात, सांख्यिकी कुल व्यापारिक मात्रा में व्यापारिक मात्रा का अनुपात दिखाती है। यदि अनुपात कम है, तो अभी भी सुधार की गुंजाइश है। चरम समय पर, रणनीतियों का कुल व्यापारिक मात्रा में 10% से अधिक हिस्सा होना संभव है।
  • समापन दर (प्रतिफल की सांख्यिकीय औसत समापन दर), यह निर्धारित करने के लिए सबसे महत्वपूर्ण संदर्भ है कि रणनीति प्रभावी है या नहीं।
  • कमीशन अनुपात कुल राजस्व में कमीशन का अनुपात है, जो रणनीति की कमीशन पर निर्भरता को दर्शाता है। एक्सचेंज में छूट के विभिन्न स्तर होते हैं, और यदि छूट एक स्तर अधिक हो तो कोई लाभहीन रणनीति लाभदायक बन सकती है।
  • असफल ऑर्डर का अनुपात। ऑर्डर केवल रखे और निष्पादित किए जाते हैं। ऑर्डर देने में देरी के कारण, उन्हें रखा नहीं जा सकता है। यदि यह अनुपात अधिक है, तो इसका मतलब है कि रणनीति की गति लाभप्रद नहीं है।
  • निष्पादित किए जाने वाले ऑर्डर का अनुपात। प्लेटफ़ॉर्म में अक्सर निष्पादन दर के लिए आवश्यकताएँ होती हैं। यदि यह बहुत कम है, तो इसका मतलब है कि रणनीति बहुत बार ऑर्डर रद्द करती है और इसे हल करने की आवश्यकता है।
  • खरीद और बिक्री आदेशों के बीच औसत दूरी। यह डेटा रणनीति आदेशों और बाजार मूल्य के बीच की दूरी को दर्शाता है। यह देखा जा सकता है कि उनमें से अधिकांश अभी भी खरीद और बिक्री की स्थिति पर कब्जा कर रहे हैं।

अन्य सुझाव

  • कई मुद्राओं का व्यापार करते समय, इस लेख में उच्च आवृत्ति रणनीति केवल एक एकल एक्सचेंज, एक एकल मुद्रा और एक एकल बाजार के बाजार को संदर्भित करती है। इसकी बहुत सी सीमाएँ हैं और यह अधिकांश मामलों में और अधिकांश मुद्राओं के लिए लाभहीन है। हालाँकि, यह यह अनुमान लगाना असंभव है कि भविष्य में कौन सी मुद्रा लाभदायक होगी, इसलिए आप एकाधिक या सभी मुद्राओं का व्यापार कर सकते हैं और किसी भी अवसर को नहीं चूक सकते। एक्सचेंज की आवृत्ति सीमा के अंतर्गत भी, एक रोबोट कई ट्रेडिंग जोड़े का व्यापार कर सकता है। बेशक, सबसे अच्छी गति के लिए, एक उप-खाता एक ट्रेडिंग जोड़ी का व्यापार कर सकता है, और एक सर्वर एक रोबोट से मेल खाता है, लेकिन लागत बहुत अधिक होगी .
  • वापसी की दर के आधार पर ऑर्डर की मात्रा और ऑर्डर की शर्तों का निर्धारण करें। कई मुद्राओं का व्यापार करने से प्रयोग की उच्च लागत आएगी। यदि निगरानी लाभदायक नहीं है, तो न्यूनतम ट्रेडिंग वॉल्यूम का उपयोग करें और ट्रेडिंग आवृत्ति को तब तक कम करें जब तक कि रणनीति गतिशील रूप से रिटर्न की सकारात्मक दर की निगरानी न करे, फिर लाभ बढ़ाने के लिए धीरे-धीरे ट्रेडिंग वॉल्यूम बढ़ाएँ।
  • अधिक जानकारी प्राप्त करें। उच्च आवृत्ति ट्रेडिंग की एक और विशेषता यह है कि यह बड़ी मात्रा में डेटा को संसाधित करता है और अधिक जानकारी का उपयोग करता है। किसी एक एक्सचेंज में किसी एक ट्रेडिंग जोड़ी की सभी बाजार जानकारी को संदर्भित किया जाना चाहिए, और सतत स्वैप स्पॉट डेटा के साथ-साथ अन्य एक्सचेंजों में ट्रेडिंग जोड़ी के डेटा या यहां तक ​​कि अन्य मुद्राओं के डेटा को भी संदर्भित कर सकते हैं। जितना अधिक डेटा, उतना ही अधिक बेहतर है। इससे जुड़े लाभ भी अधिक हैं। उदाहरण के लिए, Binance प्रतीक द्वारा सर्वोत्तम ऑर्डर जानकारी की सदस्यता ले सकता है, क्योंकि गहराई और ऑर्डर प्रवाह का सबसे छोटा धक्का 100ms है, केवल यह वास्तविक समय है, जो उच्च आवृत्ति रणनीतियों के लिए बहुत मूल्यवान है।
  • बिनेंस का सर्वर AWS टोक्यो में है, और अन्य एक्सचेंजों के सर्वर अलग हैं। कृपया विवरण के लिए एक्सचेंज के तकनीकी कर्मचारियों से परामर्श लें।
  • इस लेख में रणनीति कोड केवल एक सरलीकृत नमूना कोड है, जो कई थकाऊ लेकिन आवश्यक विवरणों को हटा देता है। उपयोग किए गए संकेतक केवल संदर्भ के लिए हैं और उन्हें सीधे उपयोग नहीं किया जाना चाहिए। उच्च आवृत्ति रणनीति को चलाते समय कई विवरणों पर ध्यान देने की आवश्यकता होती है, तथा इसे संशोधित करने और सुधारने के लिए धैर्य की आवश्यकता होती है।