資源の読み込みに... 荷物...

TradingViewWebHook 信号実行策 (教材)

作者: リン・ハーン発明者 量化 - 微かな夢, 2020年4月28日17時01分35秒
タグ:勉強貿易支援

関連記事:https://www.fmz.com/bbs-topic/5533B ステーションのビデオリンク:https://www.bilibili.com/video/BV1Wk4y1k7zz/

  • 2020.7.29 更新しました SPKとBPKの2つの指令が追加され,それぞれ,平多売り後空売り,平多買い後空売り.

/*
- 交互命令字符串格式
  action:amount
  action: buy , sell , long , short , cover_long , cover_short, spk , bpk
- 交易所类型
  eType变量取值: 0 spot , 1 futures

- TV文档链接
  https://www.tradingview.com/pine-script-docs/en/v4/Quickstart_guide.html
  https://cn.tradingview.com/chart/8xfTuX7F/

- TV webhook 发送请求
  https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyyy&method=CommandRobot&args=[186515,"action:amount"]

- 引用类库
  引用数字货币交易类库
*/

// 参数
// var IsMarketOrder = false 
// var QuotePrecision = 2
// var BasePrecision = 2

// 期货参数
// var Ct = ""


// 全局变量
var BUY = "buy"
var SELL = "sell"
var LONG = "long"
var SHORT = "short"
var COVER_LONG = "cover_long"
var COVER_SHORT = "cover_short"
var SPK = "spk"
var BPK = "bpk"


function main() {
    // 清空日志,如不需要,可以删除
    LogReset(1)

	// 设置精度
    exchange.SetPrecision(QuotePrecision, BasePrecision)

    // 识别期货还是现货
    var eType = 0
    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])

            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, amount) : exchange.Sell(ticker.Buy, amount)
                } else if (action == COVER_SHORT) {        
                	exchange.SetDirection("closesell")
                	tradeInfo = IsMarketOrder ? exchange.Buy(-1, amount) : exchange.Buy(ticker.Sell, amount)
                } 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)
    }
}



関連性

もっと

オーバーオンV:maybeyeah.V:maybeyeah.V:maybeyeah.V:maybeyeah.V:maybeyeah.V:maybeyeah.

zz791377920この取引所はどの取引所を支えていますか?

zz791377920注文時に10uになる.これはどこに設定の問題ですか?

哲1ReferenceError: 'QuotePrecision' is not defined at main (__FILE__:13) 引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さは,引用の正確さ,引用の正確さ,引用の正確さ,引用の正確さ,引用の正確さ,引用の正確さ,引用の正確さ,引用の正確さ,引用の正確さ,引用の正確さ,引用の正確さ,引用の正確さ,引用の正確さ,引用の正確さ,引用の正確さ,引用の正確さ

クーカーズ契約取引には数値だけ設定できるのか? 取引が毎回満員ならどう書くか?

15937556103契約に関する完全な戦略を送信してください.

15937556103/upload/asset/203b175e3c2c22ac9681c.png /upload/asset/203b175e3c2c22ac9681c.png /upload/asset/203b175e3c2c2c22ac9681c.png /upload/asset/203b175e3c2c2c22ac9681c.png /upload/asset/203b175e3c2c2c22ac9681c.png /upload/asset/203b175e3c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c なぜいつもそうなのか?

トビー2022ロボットが複数の取引を 実行する際に, 警告のURLに取引の名前を追加します.

7ヶ月long,short,cover_long,cover_SHORT は,webhook をそれぞれ追加するのでしょうか?

SWWFFG198212これはどういう意味ですか? 期貨取引所はサポートしていません. 私はBTCの永続契約をしたいです.

SWWFFG198212これはどういう意味ですか? 期貨取引所はサポートしていません. 私はBTCの永続契約をしたいです.

SWWFFG198212/upload/asset/1cd7a606f646b8c0d32be.png

Qを逆方向にお兄ちゃん,先物契約の追加と設定の教材ビデオを掲載してください.

酸塩/upload/asset/125e8fed0f51ab1f8122e.jpg spk命令でエラー報告

夜空TVが警報を発し,FMZが時折信号を受け取らないという問題をどう解決する?特にTVの2つのポリシーが,FMZに2つのロボットに同時に信号を発し,時折1つのロボットが受信できないことを示しています.また,送信するために2つのTVアカウントが登録されていますが,FMZがホストするサーバーは同じですが,この問題は発生します. /upload/asset/1796a4b1725a66d015a9f.png /upload/asset/179cang7beaa5e8f9dd79cf.png

半島は冷めないspk,bpk の後に数値を追加したいですか? TV信号に複数のアラームが発信された場合,一度に平面の前で複数発信される総数,空欄のように.

メロ23契約 倍数 選択する場所

発明者 量化 - 微かな夢戦略パラメータを見て,もしあなたがフューチャー取引所のオブジェクトを追加した場合は,契約を設定します.

リッチーこんにちは. 誤差を覚えていますか. ct契約が空になっているのはなぜですか?

発明者 量化 - 微かな夢ウェブフックの設定は,その種類によって変更される可能性があります.

発明者 量化 - 微かな夢市場価格の注文の購入,次の注文量は金額です.

発明者 量化 - 微かな夢間違えたと思いますが,APIのドキュメントで確認してみました. 策略は正常です.

哲1キー変更も行いませんか? キー変更も行いませんか? キー変更も行いませんか?

発明者 量化 - 微かな夢暗号1はAPIKEYが間違っています 確認してください

哲1現在,プラットフォーム内でテストしているのですが,拡張APIの呼び出しでエラーが返ってきます. 返信は,code:1,data:[],私はリンクで直接アクセスしています.

発明者 量化 - 微かな夢暗号をコピーするのではなく,完全な戦略をコピーします.

発明者 量化 - 微かな夢テレビが送信する信号は,どれだけの文字が書かれているか,戦略はどれだけの文字が書かれているか.

発明者 量化 - 微かな夢この戦略自体は,フューチャーを実行する完全な例です. 命令が間違っていた場合は,確認してください.

発明者 量化 - 微かな夢WEBHOOKの呼び出しで使ったコマンドが間違っています. 未来命令で,コードを注意深く参照してください.

トビー2022 好的,已经在众包板块发布了信息,期望你的成果和合作,thanks.

発明者 量化 - 微かな夢この変更は行われず,クラウドソーシングプラットフォームで情報を公開し,開発者が注文します.

トビー2022変更を直接送ってもいいですか? 他の方はしばらく前に知っているかもしれません.

発明者 量化 - 微かな夢このプラットフォームには,クラウドソーシングのプラットフォームがあり,その上で要求を投稿することができます.

トビー2022@小小夢,もし可能なら,このバージョンの戦略を改めることができるでしょうか? もちろん,購入する費用を払うことができます.

発明者 量化 - 微かな夢この戦略を修正する必要がある.

発明者 量化 - 微かな夢ブログに載っているのは,

7ヶ月私は4つのアラームを"long,short,coverlong,covershort"に設定しましたが,その4つの指示が同時に起動するので,これは"戦略"ではなく"研究"です.

7ヶ月長いか短いか? 長いか短いか?

発明者 量化 - 微かな夢警報WebhookのURLで識別できます.

7ヶ月問題が見つかり,TradingView指標のみの取引アラームを受信できますが,私が書いたstrategyでは,4つの異なるアラームを設定しましたが,認識できませんでした.

発明者 量化 - 微かな夢TVで警報を送信 ` ` https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyyy&method=CommandRobot&args=[186515,"action:amount"] ` ` 機械は,あなたが何を入力するか,ロボットが何を受け取るか,例えば: ` ` https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyyy&method=CommandRobot&args=[186515,"long:1"] ` `

発明者 量化 - 微かな夢FMZの初歩チュートリアルを見て,先行取引所アカウントを操作し,先行取引所を設定します. その後,ロボットに先行取引所のオブジェクトを追加します.

SWWFFG198212/upload/asset/1ccc5603d54593dcba809.png

SWWFFG198212私はこれらの場所を変更しました. 神様よ,どこが間違っているのか見てください. 私はフューチャー取引所のオブジェクトを追加しません. 参数に契約を設定します. 永久はスワップです. 通貨はXXX_USD,UはXXX_USDTです.

発明者 量化 - 微かな夢フューチャー取引所のオブジェクトを追加し,パラメータに契約を設定し,永続はスワップで,コイン本位はXXX_USD,U本位はXXX_USDTである.

発明者 量化 - 微かな夢SPKは,SPOKを保持していない状態で呼び出すことができるか確認します.

発明者 量化 - 微かな夢FMZプラットフォームの文庫で紹介されているテレビ直線方式は,https://www.fmz.com/digest-topic/5969 で利用できます.

発明者 量化 - 微かな夢取引所でレバレッジを設定できます. または戦略コードで注文する前にレバレッジを設定します.

発明者 量化 - 微かな夢契約取引所を走って契約を設定しなければ,どんな契約を操作するかわからない.

発明者 量化 - 微かな夢` ` https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyyy&method=CommandRobot&args=[186515,"action:amount"] ` ` action は spk,bpk と書きます

夜空SPKとBPKのTV側でどのように設定するか知りたいです.