60行のコードでアイデアを実現します.

作者: リン・ハーン小さな夢, 作成日: 2022-03-19 14:37:08, 更新日: 2023-09-20 09:03:57

img

网格策略、马丁策略这种喜欢震荡行情的策略有其固有弊端,在ETH合约市场上也测试了一段时间的类似策略。也经常和FMZ.COM上的新老玩家们聊天分享经验。对于此类策略,有一点是非常赞同一位朋友的说法的。那就是币圈中做合约,做多相对于做空风险小了那么一丢丢。或者简单说就是下跌最惨就是归零,上涨是无限的。

マルティン,ネットのような戦略は,長距離配列の複製を引っ張るだけで,二面的な複製よりもリスクが高いのでしょうか? このアイデアは良いように聞こえますが,実戦に耐えられるかどうかは誰にもわかりません. しかし,少なくとも私たちは簡単な復習テストでこのアイデアをテストすることができます.

基于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)
    }
}

参数設計もシンプルです.

img

この2つのパラメータは,

この10行目のコードが 復習効果を示しています

任意の回検時間範囲を設定します.

img

復習が実行される:

img

img

マルチンのような戦略の味があるように見える. 入門学習の新生たちは,長い戦略を恐れて,簡単に説得される. 短い精製された戦略は入門に適しており,戦略のアイデアを消化し,論理設計を学ぶことが容易である.

戦略コードは学習や研究のためにのみ使用されます.


関連性

もっと

アール/upload/asset/1dd6dcfd4579dc0b239a6.jpeg 実行するとエラーが返ってきて, 永久にリストを閉じ,リストを削除します.

夢は8桁の数字でこの戦略は,BINANでしか実行できないのか?

夢は8桁の数字でポジションの成長係数とは何か?

夢は8桁の数字でポリシーのソースコードは使えません

小さな夢複数のディスクが実行されているか,サーバーに2つのディスクが実行されている場合,周波数が倍になる,など.

アール/upload/asset/1dd36e54848c3bdf8c759.jpeg /upload/asset/1dd36e54848c3bdf8c759.jpeg /upload/asset/1dd36e54848c3bdf8c759.jpeg /upload/asset/1dd36e54848c3bdf8c759.jpeg /upload/asset/1dd36e54848c3bdf8c759.jpeg 論理的には,このパラメータは2回の回転を1分間に最大120回回するので, ビンアンの制限を1分間に1200回を超えない.

小さな夢こんにちは,これは策略に関係ありません. Mac の言語模型のパラメータで,ランクイン間隔を設定して,少し大きく設定できます. サーバで複数の実体ディスクを実行し,すべての取引所のインターフェースにアクセスした場合,周波数は倍になります.

アール/upload/asset/1dce38677beaf3c7ca065.jpeg /upload/asset/1dce38677beaf3c7ca065.jpeg /upload/asset/1dce38677beaf3c7ca065.jpeg /upload/asset/1dce38677beaf3c7ca065.jpeg /upload/asset/1dce38677beaf3c7ca065.jpeg 現在,Binanは,Mac言語のポリシーを使用できないので,Webでリアルタイムでアップデートを行う方法を提示します.

小さな夢この記事へのトラックバック一覧です.

アールありがとう わかった

小さな夢こんにちは,これは教え方です. 基本的には,考え方を説明します. バイナンの永続契約で実行できます. OKを実行するには,その戦略を変更する必要があります. 上記の問題は,次の単位が小数なので,OKXは次の単位が契約の整数であることを要求しています.

小さな夢実行できるのは,パラメータを調整して実行することです.

小さな夢この策略は単なる教育策略で,実用化しないでください. 復習研究学習はできます. 策略ソースコードをコピーし,策略パラメータを追加してください.

小さな夢2を設定すると,2倍になります.