Die Ressourcen sind geladen. Beförderung...

bybit swap dauerhafte Verlagerung

Schriftsteller:Gulishiduan_ Hochfrequenz-Sortierung, Datum: 2020-05-07 22:20:01
Tags:

// jüngst hat ein Freund reagiert hat einen kleinen Bug, zuerst Testnetz. ==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== // ein neues Konto zu erstellen, bitte benutzen Sie meinen Registrierungslink:https://www.bytick.com/zh-CN/register/?affiliate_id=7586&language=en&group_id=0&group_type=2Der Link bietet eine Vielzahl von Strategien für die Verbindung von Drittanbietern. // Grundprinzip: Wenn die k-Linie weiter nach oben geht, wird die Position bis zur höchsten Position erhöht.//

// Long: Nicht geeignet für den Leerlauf, aber nicht für eine dauerhafte Erhöhung der Positionen im Fall.// /jo short: Nicht geeignet für den Multi-Head-Markt, aber nicht dauerhaft im Aufstieg.

// Beachten Sie die Schwerpunkte, mehrere Bereiche können auch mit zwei Konten eröffnet werden.

// Weixin:ying5737 / Weixin:ying5737 // müssen eigene Pairing-Börsen / simulierte Konten vorprüfung.

Das ist die Tagesstrahl-Ebene, oder die Umkreisungs-Ebene, die wir als Beispiel für die Tagesstrahl verwenden. // Detektion von ma5ma10, wenn der Schlusskurs der K-Linie oberhalb von ma5, ma10 liegt und ma5 nach oben geht (beurteilt als Schlusskurs der K-Linie von gestern> der fünfte K-Schlusskurs der vorherigen Zahl), dann öffnen Sie täglich einen Hang-Order oder kaufen Sie direkt 500u, halten Sie an, halten Sie an. // Aufstockung, wenn zwei Kegelstränge in der Aufstockung auftreten, dann 500u aufstockung am dritten Tag kaufen. Jede zwei Kegelstränge ist separat statistisch.

// Verkauft, K-Linie Dreilähte unter Lager 1000 u.;; ((oder K-Linie Vier-Lähte unter Lager 2000 u)) Das ist ein Kreislauf. // Strategie läuft, 13 Tage ((oder 21 Tage), automatisch stoppt, platziert oder löscht Positionen und Aufträge. // maximal 5000 u größer als die Position, nur weniger als die Position.

Bild oben:

https://wx1.sinaimg.cn/mw1024/c5775633ly1gbsjvtrgnhj20m80dmmxy.jpg https://wx1.sinaimg.cn/mw1024/c5775633ly1gbsjvty48uj21hc0u077o.jpg https://wx2.sinaimg.cn/mw1024/c5775633ly1gbsjvu4iipj20lr0h775f.jpg

Einseitige Trendstrategie der Mittelfrequenz

Überwachungsvariablen

  1. Schneller Ma
  2. Langsamer MA
  3. Abschlusspreis

Konfigurationsparameter

  1. Einmalige EinzahlungAmount
  2. Einmalige Lagerminderung CloseAmount
  3. Maximal gehalten Max Position

Mehr tun

Voraussetzungen

  1. Die K-Linie schließt mit einem Preis, der größer ist als der schnelle MA und der langsame MA.
  2. und schnell auf den Ma gehen (beurteilen, dass der Schlusspreis der K-Linie gestern größer ist als der Schlusspreis der fünften K-Linie in der vorherigen Zahl)

Nachfolgend

  1. Der Präsident der Kommission, der Präsident der Kommission
  2. Zwei Negativzüge, das heißt, zwei Negativzüge werden 2*Amount unterteilt.
  3. Normalerweise wird der Betrag geöffnet.

Einschränkungen

  1. Höchstgehalt größer als MaxPosition wird nicht gebucht

Aussteigen

  1. Nach dem Laufen der N-Wurzel-K-Linie verlassen

Leere Arbeit

Voraussetzungen

  1. K-Linie schließt weniger als schnelle MA und langsame MA
  2. und schnelle MA-Oberläufe (beurteilt als Gestern k Linie Schlusskurs kleiner als die vorherige Zahl N (Schnelle MA-Zyklus) Wurzel k Schlusskurs)

Nachfolgend

  1. Die Verteidigung der Menschenrechte in China
  2. Zwei Verbindungen, zusätzliche Summe. Das heißt, zwei Verbindungen werden auf 2*Amount gesetzt.
  3. Normalerweise wird der Betrag geöffnet.

Einschränkungen

  1. Höchstgehalt größer als MaxPosition wird nicht gebucht

Aussteigen

  1. Nach dem Laufen der N-Wurzel-K-Linie verlassen

Hinweis

  1. Das Programm wird jedes Mal, wenn es auf das Konto kommt, die Informationen über die Lagerbestände als Strategie verwenden.
  2. Bitte binden Sie fmz WeChat, das Programm wird Wichtiges, um WeChat zu schieben

Parameter

  1. Schnelle MA-Zyklen
  2. Langsamer MA-Zyklus
  3. Abstand zwischen den Anfragen (ms)
  4. Mehrfachoptionen
  5. Hebelgröße: 0 für den gesamten Lagermodus
  6. Vertragstyp: fmex unterstützt derzeit nur Swaps, die nur mit Swaps ausgefüllt werden können.
  7. Einmalige Verringerung der Lagermenge.
  8. Höchstgehalt u
  9. Die API-Basisadresse kann als https://api.fmex.com oder https://api.testnet.fmex.com festgelegt werden.
  10. Die Anzahl der K-Linien, die die Strategie beendet. Normalerweise beendet sie sich, nachdem sie mehrere K-Linien ausgeführt hat.
  11. Die Strategie besteht darin, sich selbst zu entscheiden, ob man bei einem Ausstieg aus dem Geschäft aussortiert wird.
  12. Ob eine Interaktion erforderlich ist. ■ Die Politik tritt normal aus, wenn die Bedingungen für den Ausstieg erfüllt sind. ■ Wenn eine Interaktion erforderlich ist, wartet sie auf Befehle wie eine manuelle Intervention. ■ Wenn nicht, tritt das Programm direkt aus.
  13. Ob man ein Kaufgeschenk nimmt. Auswählen, dann ist das Kaufgeschenk ein Marktpreisgeschenk, nicht auswählen, dann ist es ein Hanggeschenk, dann hängt das Kaufgeschenk an dem Kaufgeschenk und das Verkaufsgeschenk an dem Verkaufgeschenk.
  14. Kontinuierliche Sonnenlicht (K-Linien) ⇒ Abnahme-Signale, z. B. Überstunden, Kontinuierliche Sonnenlicht, Abnahme
  15. Kontinuierliche K-Linienzahl (mehrfach, kontinuierliche K-Linienzahl) ─ Kontinuierliche K-Linienzahl (mehrfach, kontinuierliche K-Linienzahl)
  16. Ich bin der Ansicht, dass es sich um eine sehr schwierige Frage handelt.

Interaktion

Interaktion ist nur möglich,是否需要交互Wirksam Interaktionen werden durchgeführt, wenn die Strategie normalerweise aussteigt.

  1. Weiter. Weiter ist eine Politik, die die gleichen Parameter wieder ausführt.
  2. Haltet. Strategie: Haltet, aussteigen.
  3. Die Strategie des Wechselkurses ist, dass der Wechselkurs nach einer Erschütterung oder einem Trend weiterläuft. Der Wechselkurs ist eine Erweiterung des Wechselkurses, der nach einer Erschütterung oder einem Trend weiterläuft.


/*联系微信:ying5737(策略讨论,支持付费编写)
# 中频单边趋势策略
## 监测变量
1. 快MA
2. 慢MA
3. 收盘价
## 配置参数
1. 单次下单量Amount
2. 单次减仓量CloseAmount
3. 最大持仓量MaxPosition
## 做多
### 必要条件
1. k线收盘价大于快MA与慢MA
2. 且快MA上行(判断为昨日k线收盘价大于往前数第5根k收盘价)
### 下单
1. 三连阳,减仓CloseAmount
2. 两连阴,加仓Amount。也就是出现两连阴会下单2*Amount
3. 正常情况,开单Amount
### 限制
1. 最大持仓量大于MaxPosition则不开单
### 退出
1. 运行N根K线之后退出

## 做空
### 必要条件
1. k线收盘价小于快MA与慢MA
2. 且快MA下行(判断为昨日k线收盘价小于往前数第N(快MA5周期)根k收盘价)
### 下单
1. 三连阴,减仓CloseAmount
2. 两连阳,加仓Amount。也就是出现两连阴会下单2*Amount
3. 正常情况,开单Amount
### 限制
1. 最大持仓量大于MaxPosition则不开单
### 退出
1. 运行N根K线之后退出
## 注意事项
1. 程序会每次会获取账户的持仓信息做为策略的持仓量
2. 请绑定fmz微信,程序会重要的地方推送微信
## 参数
1. 快MA周期
2. 慢MA周期	
3. 轮询间隔(ms)	
4. 多空选择
5. 杠杆大小: 0表示全仓模式
6. 合约类型: 目前fmex只支持swap,只能填写swap。回测时可用OKEx回测,此处可设置为this_week, this_month等
7. 单次减仓量。达到减仓条件时,一次减仓量
8. 最大持仓(u)
9. API基地址。可设置为https://api.fmex.com,或测试网https://api.testnet.fmex.com
10. 策略K数退出. 策略运行多少个K线后正常退出
11. 策略主动退出时是否清仓。
12. 是否需要交互。策略在满足退出条件后,正常退出时。如果需要交互,则会等待人工干预等命令。如果不需要,则程序直接退出了
13. 是否吃单。勾选,则下单是市价单,不勾选,则是挂单,买单挂在买一,卖单挂在卖一
14. 连续阳(阴)K线数(做多时,连续阳线)。减仓信号,如做多时,连续阳线,减仓
15. 连续阴(阳)K线数(做多时,连续阴线)。连续阴(阳)K线数(做多时,连续阴线)	
16. 是否是震荡行情。勾选是震荡行情
## 交互
**交互只有在`是否需要交互`时有效**
**交互是在策略正常退出时进行交互**
1. 继续。继续是策略复位,重新运行相同的参数
2. 停止。策略停止退出
3. 切换策略行情后继续.切换行情为震荡或趋势后继续运行,是交互1'继续'的一种扩展
*/
////////////////// params ////////////////////////
//var fastMaPeriod = 5
//var slowMaPeriod = 10
//var direction = 做多|做空
//var interval = 1000
//var amount = 500
//var maxHoldAmount = 5000
//var closeAmount = 1000
//var runNBars = 13
//var marginLevel = 0
//var contractType = 'swap'
//var enableCommand = false
//var isTaker = true
//var maxOppositeDirKNum = 2
//var maxSameDirKNum = 3
//var isShock = false
////////////////// variable ////////////////////////

var makeLong = direction == 0 ? true:false
var startTime = null
var holdAmount = 0
var lastBar = null
var yinxianCnt = 0
var yangxianCnt = 0
var lastClose = 0
var last5thClose = 0
var fastMa = []
var slowMa = []
var barCnt = 0
var localIsShock = false
////////////////////////////////////////////////
var PreBarTime = 0
var isFirst = true

function PlotMA_Kline(records){
    $.PlotRecords(records, 'K')
    if(fastMa.length == 0) {
        fastMa = TA.MA(records, fastMaPeriod)
    }
    if(slowMa.length == 0) {
        slowMa = TA.MA(records, slowMaPeriod)
    }
    if(isFirst){
        $.PlotFlag(records[records.length - 1].Time, 'Start', 'STR')
        for(var i = records.length - 1; i >= 0; i--){
            if(fastMa[i] !== null){
                $.PlotLine('ma'+fastMaPeriod, fastMa[i], records[i].Time)
            }
            if(slowMa[i] !== null){
                $.PlotLine('ma'+slowMaPeriod, slowMa[i], records[i].Time)
            }
        }
        PreBarTime = records[records.length - 1].Time
        isFirst = false
    } else {
        if(PreBarTime !== records[records.length - 1].Time){
            $.PlotLine('ma'+fastMaPeriod, fastMa[fastMa.length - 2], records[fastMa.length - 2].Time)
            $.PlotLine('ma'+slowMaPeriod, slowMa[slowMa.length - 2], records[slowMa.length - 2].Time)
            PreBarTime = records[records.length - 1].Time
        }
        $.PlotLine('ma'+fastMaPeriod, fastMa[fastMa.length - 1], records[fastMa.length - 1].Time)
        $.PlotLine('ma'+slowMaPeriod, slowMa[slowMa.length - 1], records[slowMa.length - 1].Time)
}
}

function init () {
    if (fastMaPeriod > slowMaPeriod) {
        throw '快MA周期 > 慢MA周期, 请检查设置'
    }
    Log('快MA周期	    :'  + fastMaPeriod)
    Log('慢MA周期	    :' + slowMaPeriod)
    Log('轮询间隔(ms)   :' + interval)
    Log('是否是震荡策略  :' + (isShock?'是':'否'))
    Log('多空选择	    :' + (direction == 0 ? '多':'空'))
    Log('杠杆大小	    :' + (marginLevel == 0 ? '全仓':marginLevel))
    Log('连续阳(阴)K线数(做多时,连续阳线)数   :' + maxSameDirKNum)
    Log('连续阴(阳)K线数(做多时,连续阴线)   :' + maxOppositeDirKNum)
    Log('运行多少根K后退出   :' + runNBars)
    startTime = new Date()
    localIsShock = isShock
}

function onexit() {
    Log('退出')
}

function onerror() {
    Log('出错退出')
}

function openLong(ex, openAmount) {
    if (holdAmount + openAmount <= maxHoldAmount) {
        Log('已持仓: ' + holdAmount + ', 加仓:' + openAmount)
        ex.SetDirection('buy')
        if(isTaker) {
            ex.Buy(-1, openAmount, '吃单')
            holdAmount += openAmount
        } else {
            var ticker = _C(ex.GetTicker)
            if(ticker == null) {
                return false
            }
            ex.Buy(ticker.Buy, openAmount, '挂单')
        }
        return true
    } else {
        Log('持仓('+holdAmount+') 过多,不加仓')
        return false
    }
}

function closeLong(ex, closeAmount) {
    if (holdAmount >= closeAmount) {
        Log('已持仓: ' + holdAmount + ', 减仓:' + closeAmount)
        ex.SetDirection('closebuy')
        ex.Sell(-1, closeAmount)
        holdAmount -= closeAmount
        return true
    } else {
        Log('持仓('+holdAmount+') 过少,不减仓')
        return false
    }
}

function openShort(ex, openAmount) {
    if (holdAmount + openAmount <= maxHoldAmount) {
        Log('已持仓: ' + holdAmount + ', 加仓:' + openAmount)
        ex.SetDirection('sell')
        if(isTaker) {
            ex.Sell(-1, openAmount, '吃单')
            holdAmount += openAmount
        } else {
            var ticker = _C(ex.GetTicker)
            if(ticker == null) {
                return false
            }
            ex.Sell(ticker.Sell, openAmount, '挂单')
        }
        return true
    } else {
        Log('持仓('+holdAmount+') 过多,不加仓')
        return false
    }
}

function closeShort(ex, closeAmount) {
    if (holdAmount >= closeAmount) {
        Log('已持仓: ' + holdAmount + ', 减仓:' + closeAmount)
        ex.SetDirection('closesell')
        ex.Buy(-1, closeAmount)
        holdAmount -= closeAmount
        return true
    } else {
        Log('持仓('+holdAmount+') 过少,不减仓')
        return false
    }
}

function cancelOrders(ex) {
    Log('取消所有挂单')
    while(true) {
        var orders = _C(ex.GetOrders)
        if (orders.length == 0) {
            break
        }
        for(var i = 0; i < orders.length;i++) {
            ex.CancelOrder(orders[i].Id)
        }
    }
}

function updatePosition(ex) {
    var pos = ex.GetPosition()
    if(typeof(pos) === 'undefined' || pos === null || 
        pos.length == 0 || typeof(pos[0].Type) == 'undefined'  || typeof(pos[0].Amount) == 'undefined' ) {
        return
    }
    Log('仓位信息:' + (pos[0].Type == 0?'多仓,   ':'空仓,  ') + JSON.stringify(pos))
    if(pos.length>0){
        holdAmount = pos[0].Amount
        // if(pos[0].Type == 0){ //多仓
        //     ordersInfo.pos = pos[0].Amount
        // }else{
        //     ordersInfo.pos = -pos[0].Amount
        // }
    }
}

function longStrategy(ex, records) {
    var lastSecondBar = records[records.length-2]

    if ((   lastSecondBar.Close > fastMa[fastMa.length - 2] && 
            lastSecondBar.Close > slowMa[slowMa.length - 2] && 
            lastSecondBar.Close > records[records.length - 2 - fastMaPeriod].Close
        ) || localIsShock){
            var openAmount = amount
            if (lastSecondBar.Close < lastSecondBar.Open) {
                yinxianCnt += 1
                yangxianCnt = 0
            } else if (lastSecondBar.Close > lastSecondBar.Open){
                yinxianCnt = 0
                yangxianCnt += 1
            } else {
                yangxianCnt = 0
                yinxianCnt = 0
            }

            if (yinxianCnt >= maxOppositeDirKNum) {
                Log('两连阴')
                openAmount += amount
                yinxianCnt = 0
            }

            if (yangxianCnt >= maxSameDirKNum) {
                Log('三连阳')
                yangxianCnt = 0
                Log('准备减仓')
                if(closeLong(ex, closeAmount)){
                    $.PlotFlag(records[records.length - 1].Time, 'closeLong', 'CL')
                }
            } else {
                Log('准备开仓')
                if(localIsShock) {
                    openAmount -= amount
                }
                if(openLong(ex, openAmount)){
                    $.PlotFlag(records[records.length - 1].Time, 'openLong', 'OL')
                }
            }
    }
}

function shortStrategy(ex, records) {
    var lastSecondBar = records[records.length-2]

    if ((   lastSecondBar.Close < fastMa[fastMa.length - 2] && 
            lastSecondBar.Close < slowMa[slowMa.length - 2] && 
            lastSecondBar.Close < records[records.length - 2 - fastMaPeriod].Close
        ) || localIsShock){
            var openAmount = amount
            if (lastSecondBar.Close < lastSecondBar.Open) {
                yinxianCnt += 1
                yangxianCnt = 0
            } else if (lastSecondBar.Close > lastSecondBar.Open){
                yinxianCnt = 0
                yangxianCnt += 1
            } else {
                yangxianCnt = 0
                yinxianCnt = 0
            }

            if (yangxianCnt >= maxOppositeDirKNum) {
                Log('两连阳')
                yangxianCnt = 0
                openAmount += amount
            } 

            if (yinxianCnt >= maxSameDirKNum) {
                Log('三连阴')
                yinxianCnt = 0
                Log('准备减仓')
                if(closeShort(ex, closeAmount)){
                    $.PlotFlag(records[records.length - 1].Time, 'closeShort', 'CS')
                }
            } else {
                Log('准备开仓')
                if(localIsShock) {
                    openAmount -= amount
                }
                if(openShort(ex, openAmount)){
                    $.PlotFlag(records[records.length - 1].Time, 'openShort', 'OS')
                }
            }
    }
}

function onBar (ex) {
    var records = _C(ex.GetRecords)
    if (records === null || records.length < slowMaPeriod) {
        return 
    }
    if (lastBar == null) {
        lastBar = records[records.length-1]
    }
    
    if (lastBar.Time == records[records.length-1].Time) {
        return
    }
    lastBar = records[records.length-1]
    updatePosition(ex)
    PlotMA_Kline(records)
    barCnt += 1

    var lastSecondBar = records[records.length-2]
    fastMa = TA.MA(records, fastMaPeriod)
    slowMa = TA.MA(records, slowMaPeriod)
    lastClose = lastSecondBar.Close
    last5thClose = records[records.length - 2 - 5].Close

    Log('收盘价:' +lastSecondBar.Close + 
    ', 前第5个收盘价:' +records[records.length - 2 - 5].Close + 
    ', 快MA:' + _N(fastMa[fastMa.length - 2]) +
    ', 慢MA:' + _N(slowMa[slowMa.length - 2]))
    if (makeLong) {
        longStrategy(ex, records)
    } else {
        shortStrategy(ex, records)
    }
}

function runLife(ex) {
    // var pass = new Date() - startTime
    if (barCnt >= runNBars) {
        if(isCleanPosition) {
            Log('已运行'+barCnt+'K周期,结束,取消订单,清仓#ff0000@')
            cancelOrders(ex)
            updatePosition(ex)
            $.PlotFlag(lastBar.Time, 'Exit', 'EXT')
            
            if (makeLong) {
                closeLong(ex, holdAmount)
            } else {
                closeShort(ex, holdAmount)
            }    
        } else {
            Log('已运行'+barCnt+'K周期,结束,不取消订单,不清仓#ff0000@')
            updatePosition(ex)
            $.PlotFlag(lastBar.Time, 'Exit', 'EXT')
        }
        return true
    } else {
        return false
    }
}

function status() {
    var table = {
        type: 'table',
        title: '信息',
        cols: [
            '运行K数',
            '持仓量',
            '阳线',
            '阴线',
            '收盘价',
            '前第5个收盘价',
            'MA'+fastMaPeriod,
            'MA'+slowMaPeriod,
        ],
        rows: []
      }
      table.rows.push([
            barCnt,
            holdAmount,
            yangxianCnt,
            yinxianCnt,
            lastClose,
            last5thClose,
            fastMa.length == 0 ? 0 : _N(fastMa[fastMa.length - 2]),
            slowMa.length == 0 ? 0 : _N(slowMa[slowMa.length - 2])
      ])
    LogStatus(
        '现在时间:' +_D() +
        '\n启动时间:' +startTime +
        '\n`' +
        JSON.stringify(table)+
        '`\n' +
        '\n托管者版本:' +Version() +
        '\n联系Wechat:ying5737#00ff00' +
        '\nWechat: ying5737info#ff000f'
      )

}

function reset() {
    holdAmount = 0
    lastBar = null
    yinxianCnt = 0
    yangxianCnt = 0
    lastClose = 0
    last5thClose = 0
    fastMa = []
    slowMa = []
    barCnt = 0
}

function main () {
    var ex = exchanges[0]

    Log('开工   '+ex.GetName())
 //   if(ex.GetName() != 'Futures_FMex' && !IsVirtual()) {
  //      throw '仅仅支持FMex'
  //  }
    Log('基地址  ' + baseUrl)
    if(!IsVirtual()){
        ex.IO('base', baseUrl) //切换基地址,方便切换实盘和模拟盘,实盘地址:https://api.fmex.com
    }
    ex.SetTimeout(1000);
    _CDelay(500)
    ex.SetContractType(contractType)
    ex.SetMarginLevel(marginLevel)
    updatePosition(ex)
    while (true) {
        try {
            if(!IsVirtual() && runLife(ex)) {
                if((typeof(GetCommand) == 'function') && enableCommand){
                    Log('等待指令, 继续 | 停止 #ff0000@')
                    while (true) {
                        var cmd = GetCommand()
                        if (cmd) {
                            Log('收到指令: '+cmd)
                            switch(cmd) {
                                case '停止':
                                    Log('停止, 退出!#ff0000@')
                                    return
                                case '继续':
                                    reset()
                                    Log('继续, 复位,开工!#ff0000@')
                                    break
                                case '切换策略行情:0':
                                    reset()
                                    localIsShock = true
                                    Log('切换策略行情为震荡行情继续, 复位,开工!#ff0000@')
                                    break
                                case '切换策略行情:1':
                                    reset()
                                    localIsShock = false
                                    Log('切换策略行情为趋势行情继续, 复位,开工!#ff0000@')
                                    break
                            }
                            if (cmd == '停止'){
                                Log('停止, 退出!#ff0000@')
                                return
                            } else if (cmd == '继续') {
                                reset()
                                Log('继续, 复位,开工!#ff0000@')
                                break
                            }
                        }
                        updatePosition(ex)
                        status()
                        Sleep(1000)
                    }
                } else {
                    Log('停止, 退出!#ff0000@')
                    return
                }
            }
            onBar(ex)
            status()
        } catch(e) {
            Log('出错了:'+e+', 请及时处理#ff0000@')
        }
        Sleep(interval)
    }
}


Mehr

Gulishiduan_ Hochfrequenz-SortierungDank der Unterstützung von Eric aus Wuhan, die Idee zur Quantifizierung von Coinbase.

Gulishiduan_ Hochfrequenz-Sortierung 沟通//或其他策略购买请咨询:weixin:ying5737

Gulishiduan_ Hochfrequenz-SortierungEinige allgemeine Optimierungsstrategien sind: 1, Positionsmanagement: Positionsmanagement mit einem offenen Positions-/Gesamtkapital-Prozentsatz ist besser geeignet, um es zu quantifizieren, insbesondere in einigen Systemen mit hoher Frequenz/Umtriebs-/Langstrecken-Medium. 2. Das Prinzip des Sprungmodells ist, ausgehend von der Währung: Gewinnsteigerung. Die Strategie, nachdem die Erträge 20% erreicht haben, wird das sogenannte Sprungmodell starten. Das heißt, auf der Grundlage von 20% Gewinn wird die Geschwindigkeit des Handels erhöht, die Ordermenge erhöht, die potenziellen Erträge erhöht, und natürlich werden die potenziellen Risiken auch in einem Sprungmodell mit einem Gewinn von mehr als 20% vergrößert. 3. Kapital neu einstellen: Es wird empfohlen, monatlich Kapital neu einzusetzen, wenn es sehr profitabel ist, da es viele potenzielle Risiken auf dem Markt gibt, einschließlich der Risiken an den Börsen. 4. Timing: Die Roboter-Timerstrategie ist besser als die manuelle oder subjektive Summierung der Handelsstrategie. Viele Freunde entwickeln Strategien ohne Timing-Parameter, was dazu führt, dass einige Strategien, die gegen die Marktbewegung oder den Marktzustand verstoßen, die Strategie verwenden.