
গ্রিড কৌশল এবং মার্টিন কৌশল, যে কৌশলগুলি বাজারকে ওঠানামা করতে পছন্দ করে, একই ধরনের কৌশলগুলি ETH চুক্তির বাজারে কিছু সময়ের জন্য পরীক্ষা করা হয়েছে। আমি প্রায়ই FMZ.COM-এ নতুন এবং পুরানো খেলোয়াড়দের সাথে চ্যাট করি এবং অভিজ্ঞতা শেয়ার করি। এই ধরণের কৌশল সম্পর্কে আমি দৃঢ়ভাবে একমত যা একজন বন্ধু বলেছেন। অর্থাৎ, মুদ্রার বৃত্তে চুক্তি করার সময়, ছোট হওয়ার চেয়ে দীর্ঘ যাওয়ার ঝুঁকি কিছুটা কম। বা সহজভাবে বলতে গেলে, সবচেয়ে খারাপ পতন শূন্য, এবং উত্থান সীমাহীন।
তাহলে মার্টিনস এবং গ্রিডের মতো কৌশলগুলি কি কেবল দীর্ঘ হয়, ছোট নয়, এবং নীচের ঝুঁকি কেনার জন্য একটি দীর্ঘ ব্যবধান বন্টন আছে, যা দ্বিপাক্ষিক কৌশলগুলি করার চেয়ে ভাল? এই ধারণাটি ভাল শোনাচ্ছে, কিন্তু কেউ জানে না যে এটি প্রকৃত যুদ্ধে দাঁড়াতে পারে কিনা। কিন্তু অন্তত আমরা সহজভাবে এই ধারণা ব্যাকটেস্ট করতে পারেন. তাই আমাদের আজকের নিবন্ধের বিষয় রয়েছে - একটি চুক্তি দর কষাকষি শিকারের কৌশল ডিজাইন করা।
এই ধারণাটি বাস্তবায়নের কোডটি সত্যিই সহজ, প্লাটফর্মের নমনীয়তা, ইন্টারফেস এনক্যাপসুলেশন, শক্তিশালী ব্যাকটেস্টিং সিস্টেম ইত্যাদির জন্য ধন্যবাদ। সম্পূর্ণ কোড শুধুমাত্র 60 লাইন লাগে (কোড লেখার মানগুলির জন্য, অনেক জিনিস যা সংক্ষিপ্ত করা যায় না)।
কৌশলটির নকশাটি যুক্তির শুরুতে প্রারম্ভিক মূল্য অনুসারে, যদি দাম কমতে থাকে তবে ক্রয় অর্ডার দেওয়া চালিয়ে যান। তারপর অবস্থান মূল্যে যোগ করা একটি নির্দিষ্ট লাভ মার্জিনের উপর ভিত্তি করে একটি সমাপনী আদেশ দিন এবং অবস্থানটি বন্ধ হওয়ার জন্য অপেক্ষা করুন। যদি অবস্থানটি বন্ধ করা হয়, তবে উপরের যুক্তিটি প্রাথমিক মূল্য হিসাবে বর্তমান মূল্য ব্যবহার করে পুনরাবৃত্তি করা হবে। কৌশল সংক্ষিপ্ত অবস্থান ধরে না, শুধুমাত্র দীর্ঘ অবস্থান.
কৌশল সোর্স কোড:
function cancelAll() {
while (true) {
var orders = _C(exchange.GetOrders)
if (orders.length == 0) {
break
}
for (var i = 0 ; i < orders.length ; i++) {
exchange.CancelOrder(orders[i].Id, orders[i])
Sleep(interval)
}
}
}
function getLong(arr, kind) {
var ret = null
for (var i = 0 ; i < arr.length ; i++) {
if (arr[i].Type == (kind == "pos" ? PD_LONG : ORDER_TYPE_BUY)) {
ret = arr[i]
}
}
return ret
}
function pendingBidOrders(firstPrice) {
var index = 0
var amount = baseAmount
while (true) {
var pos = _C(exchange.GetPosition)
var price = firstPrice - index * baseSpacing
amount *= ratio
index++
exchange.SetDirection("buy")
exchange.Buy(price, amount)
if (pos.length != 0) {
var longPos = getLong(pos, "pos")
if (longPos) {
exchange.SetDirection("closebuy")
exchange.Sell(longPos.Price + profitTarget, longPos.Amount)
}
}
while (true) {
Sleep(interval)
if (!getLong(_C(exchange.GetOrders), "orders")) {
cancelAll()
break
}
if (!getLong(_C(exchange.GetPosition), "pos")) {
cancelAll()
return
}
}
}
}
function main() {
exchange.SetContractType(symbol)
while (true) {
pendingBidOrders(_C(exchange.GetTicker).Last)
}
}
পরামিতি নকশা এছাড়াও খুব সহজ:

এই কয়েকটি মাত্র পরামিতি আছে।
শুধু ব্যাকটেস্ট সময় পরিসীমা সেট করুন:

ব্যাকটেস্ট রান:


এটি দেখতে অনেকটা গ্রিড বা মার্টিন ধরণের কৌশলের মতো~। নতুন শিক্ষার্থীরা যারা সবেমাত্র শিখতে শুরু করেছে তারা কি দীর্ঘ কৌশল নিয়ে ভীত এবং সহজেই নিরুৎসাহিত হয়? কৌশলগুলির একটি সংক্ষিপ্ত এবং সংক্ষিপ্ত ভূমিকা আরও উপযুক্ত, যা কৌশলগত ধারণাগুলি হজম করা এবং যৌক্তিক নকশা শেখা সহজ করে তোলে।
কৌশল কোড শুধুমাত্র শেখার এবং গবেষণার জন্য।