Type/to search
0
Follow
2
Followers
میں مکمل پوزیشن کی بندش کیسے شامل کر سکتا ہوں؟
Help
Created 2022-05-16 23:37:41  
 3
 1300

/*

// پیرامیٹرز
// var IsMarketOrder = false
// var QuotePrecision = 2
// var BasePrecision = 2

// مستقبل کے پیرامیٹرز
//var Ct = "swap"

عالمی متغیرات
var BUY = "buy"
var SELL = "sell"
var LONG = "long"
var SHORT = "short"
var COVER_LONG = "cover_long" // کُھلتا ہے -1
var COVER_SHORT = "cover_short" // خالی -1
var COVER_LONG1 = "cover_long1" // پینٹو -2
var COVER_SHORT1 = "cover_short1" // خالی-2
var COVER_LONG2 = "cover_long2" // پینٹو -3
var COVER_SHORT2 = "cover_short2" // خالی جگہ -3

var SPK = "spk"
var BPK = "bpk"
var Ct = "swap"

function main() {
// اگر ضرورت نہ ہو تو خالی لاگ کو حذف کیا جاسکتا ہے
LogReset(1)

// 设置精度 exchange.SetPrecision(QuotePrecision, BasePrecision) // 识别期货还是现货 var eType =1 var eName = exchange.GetName() var patt = /Futures_/ if (patt.test(eName)) { Log("添加的交易所为期货交易所:", eName, "#FF0000") eType = 1 if (Ct =="") { throw "Ct 合约设置为空" } else { Log(exchange.SetContractType(Ct), "设置合约:", Ct, "#FF0000") } } else { Log("添加的交易所为现货交易所:", eName, "#32CD32") } var lastMsg = "" var acc = _C(exchange.GetAccount) while(true) { var cmd = GetCommand() if (cmd) { // 检测交互命令 lastMsg = "命令:" + cmd + "时间:" + _D() var arr = cmd.split(":") if (arr.length != 2) { Log("cmd信息有误:", cmd, "#FF0000") continue } var action = arr[0] //var amount = parseFloat(arr[1]) var amount =0.10 //开单数 var amount1 =0.3 //第一止盈 var amount2 =0.5 //第二止盈 var amount3 =0.2 //第三止盈 if (eType == 0) { if (action == BUY) { var buyInfo = IsMarketOrder ? exchange.Buy(-1, amount) : $.Buy(amount) Log("buyInfo:", buyInfo) } else if (action == SELL) { var sellInfo = IsMarketOrder ? exchange.Sell(-1, amount) : $.Sell(amount) Log("sellInfo:", sellInfo) } else { Log("现货交易所不支持!", "#FF0000") } } else if (eType == 1) { var tradeInfo = null var ticker = _C(exchange.GetTicker) if (action == LONG) { exchange.SetDirection("buy") tradeInfo = IsMarketOrder ? exchange.Buy(-1, amount) : exchange.Buy(ticker.Sell, amount) } else if (action == SHORT) { exchange.SetDirection("sell") tradeInfo = IsMarketOrder ? exchange.Sell(-1, amount) : exchange.Sell(ticker.Buy, amount) } else if (action == COVER_LONG) { exchange.SetDirection("closebuy") tradeInfo = IsMarketOrder ? exchange.Sell(-1, amount1) : exchange.Sell(ticker.Buy, amount1) } else if (action == COVER_LONG1) { exchange.SetDirection("closebuy") tradeInfo = IsMarketOrder ? exchange.Sell(-1, amount2) : exchange.Sell(ticker.Buy, amount2) } else if (action == COVER_LONG2) { exchange.SetDirection("closebuy") tradeInfo = IsMarketOrder ? exchange.Sell(-1, amount3) : exchange.Sell(ticker.Buy, amount3) } else if (action == COVER_SHORT) { exchange.SetDirection("closesell") tradeInfo = IsMarketOrder ? exchange.Buy(-1, amount1) : exchange.Buy(ticker.Sell, amount1) } else if (action == COVER_SHORT1) { exchange.SetDirection("closesell") tradeInfo = IsMarketOrder ? exchange.Buy(-1, amount2) : exchange.Buy(ticker.Sell, amount2) } else if (action == COVER_SHORT2) { exchange.SetDirection("closesell") tradeInfo = IsMarketOrder ? exchange.Buy(-1, amount3) : exchange.Buy(ticker.Sell, amount3) } else if (action == SPK) { // 卖出平多仓,卖出开空仓 exchange.SetDirection("closebuy") var tradeInfo1 = IsMarketOrder ? exchange.Sell(-1, amount) : exchange.Sell(ticker.Buy, amount) exchange.SetDirection("sell") var tradeInfo2 = IsMarketOrder ? exchange.Sell(-1, amount) : exchange.Sell(ticker.Buy, amount) tradeInfo = [tradeInfo1, tradeInfo2] } else if (action == BPK) { // 买入平空仓,买入开多仓 exchange.SetDirection("closesell") var tradeInfo1 = IsMarketOrder ? exchange.Buy(-1, amount) : exchange.Buy(ticker.Sell, amount) exchange.SetDirection("buy") var tradeInfo2 = IsMarketOrder ? exchange.Buy(-1, amount) : exchange.Buy(ticker.Sell, amount) tradeInfo = [tradeInfo1, tradeInfo2] } else { Log("期货交易所不支持!", "#FF0000") } if (tradeInfo) { Log("tradeInfo:", tradeInfo) } } else { throw "eType error, eType:" + eType } acc = _C(exchange.GetAccount) } var tbl = { type : "table", title : "状态信息", cols : ["数据"], rows : [] } tbl.rows.push([JSON.stringify(acc)]) LogStatus(_D(), eName, "上次接收到的命令:", lastMsg, "\n", "`" + JSON.stringify(tbl) + "`") Sleep(1000) }

}

اگر آپ کو لگتا ہے کہ آپ کے اسٹاک میں کچھ اضافی ہے تو ، آپ کو اس کے بارے میں مزید معلومات حاصل کرنے کی ضرورت ہوگی۔

Related Recommendations
Comment
All comments (3)

    我的全平方式就是获取当前持仓数量,然后平仓的时候参数中数量就是持仓数量就可以了。

    4 years ago

    方便告诉一下怎么写吗

    4 years ago
    4 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)