1
پر توجہ دیں
0
پیروکار

نقلی بیک ٹیسٹ کے منافع کا جائزہ یہ ہے کہ صرف فروخت ہوتی ہے لیکن خریداری نہیں ہوتی۔

میں تخلیق کیا: 2020-12-07 23:24:34, تازہ کاری:
comments   2
hits   1050

نقلی بیک ٹیسٹ کے منافع کا جائزہ یہ ہے کہ صرف فروخت ہوتی ہے لیکن خریداری نہیں ہوتی۔

نقلی بیک ٹیسٹ کے منافع کا جائزہ یہ ہے کہ صرف فروخت ہوتی ہے لیکن خریداری نہیں ہوتی۔

جیسا کہ اس تصویر میں دکھایا گیا ہے ، جب میں نے کرنسی کی نقد تجارت کی جانچ کی تو ، میں نے پایا کہ آمدنی کے جائزے کے چارٹ میں خریداری کو خالی ہولڈنگ سمجھا جاتا ہے ، بغیر کسی اعدادوشمار کے فروخت کیا جاتا ہے ، اور مجھے نہیں معلوم کہ کون سا دیوتا اس کی نشاندہی کرسکتا ہے۔ اس کے علاوہ،exchange.GetPosition()اس کے علاوہ، یہ بھی کہا گیا ہے کہ اس طرح کے طریقوں کی حمایت نہیں کی جاتی ہے. کوڈ درج ذیل ہے:

/*backtest
start: 2020-05-01 00:00:00
end: 2020-12-03 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Huobi","currency":"BTC_USDT"}]
*/

var times = 0;
var lasttime = null;
var hasPosition = false; //持仓数量

function main() {
    Log("strategy started.");
    while(true){
        var records = _C(exchange.GetRecords, PERIOD_D1);
            records = records.slice(-20);
        var {Time} = records[records.length - 1];
        if(lasttime != Time){
            lasttime = Time;
            var fast = TA.MA(records, 5);
            var slow = TA.MA(records, 20);
            
            var lastFast1 = fast[fast.length - 2];
            var lastSlow1 = slow[slow.length - 2];
            var lastFast2 = fast[fast.length - 3];
            var lastSlow2 = slow[slow.length - 3];
            
            if(lastFast2 < lastSlow2 && lastFast1 > lastSlow1 && !hasPosition){
                //当前为金叉
                //$.Buy(0.001);
                exchange.Buy(-1, 0.01);
                hasPosition = true;
            }
            if(lastFast2 > lastSlow2 && lastFast1 < lastSlow1 && hasPosition){
                //当前为死叉
                exchange.Sell(-1, 0.01);
                hasPosition = false;
            }
        }
    }
}

function init() {
    const account = _C(exchange.GetAccount);
    Log('strategy inted.', exchange.GetName(), account);
}