
رجحان کی حکمت عملییں عام طور پر مارکیٹ کی سمت کا تعین کرنے کے لیے مختلف اشارے استعمال کرتی ہیں، اور مختلف اشارے کے عددی موازنہ کے نتائج کو تجارتی سگنل کے طور پر استعمال کرتی ہیں۔ یہ لامحالہ پیرامیٹرز کے استعمال اور اشارے کے حساب کتاب کا باعث بنے گا۔ چونکہ پیرامیٹرز کا استعمال کیا جاتا ہے، وہاں فٹنگ ہوگی. حکمت عملی مارکیٹ کے بعض حالات میں بہت اچھی کارکردگی کا مظاہرہ کرتی ہے، لیکن اگر آپ بدقسمت ہیں اور مارکیٹ کا رجحان موجودہ پیرامیٹرز کے لیے بہت غیر دوستانہ ہے، تو حکمت عملی بہت خراب کارکردگی کا مظاہرہ کر سکتی ہے۔ لہذا، میری رائے میں، حکمت عملی کا ڈیزائن ہر ممکن حد تک آسان ہونا چاہئے، اور ایسی حکمت عملی زیادہ مضبوط ہوگی۔ آج ہم ایک رجحان کی حکمت عملی کا اشتراک کریں گے جو اشارے استعمال نہیں کرتی ہے۔ حکمت عملی کوڈ بہت آسان ہے، صرف 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
حکمت عملی صرف حوالہ، بیک ٹیسٹنگ اور جانچ کے لیے ہے، اگر آپ دلچسپی رکھتے ہیں، تو آپ اسے بہتر اور اپ گریڈ کر سکتے ہیں۔