💥 Gate 廣場活動:#发帖赢代币TRUST 💥
在 Gate 廣場發布與 TRUST 或 CandyDrop 活動相關的原創內容,即有機會瓜分 13,333 枚 TRUST 獎勵!
📅 活動時間:2025年11月6日 – 11月16日 24:00(UTC+8)
📌 相關詳情:
CandyDrop 👉 https://www.gate.com/zh/announcements/article/47990
📌 參與方式:
1️⃣ 在 Gate 廣場發布原創內容,主題需與 TRUST 或 CandyDrop 活動相關;
2️⃣ 內容不少於 80 字;
3️⃣ 貼文添加話題: #发帖赢代币TRUST
4️⃣ 附上任意 CandyDrop 活動參與截圖。
🏆 獎勵設定(總獎池:13,333 TRUST)
🥇 一等獎(1名):3,833 TRUST / 人
🥈 二等獎(3名):1,500 TRUST / 人
🥉 三等獎(10名):500 TRUST / 人
📄 注意事項:
內容必須原創,禁止抄襲或灌水;
得獎者需完成 Gate 廣場身份認證;
活動最終解釋權歸 Gate 所有。
自定義機器人策略(心得)(入門經驗)(教程)(Custom Bot)
自定義機器人策略(心得)(入門經驗)(教程)(Custom Bot):
作爲長期深耕幣圈的交易員,理性的交易應該是要放在重中之重的位置,用機器人的判斷可以脫離更多情緒面的操控失策。
Gate自定義機器人(Gate Custom Bot)適合純粹的交易手對價格行情波動的敏感和判斷,或對風控有特別止盈止損要求的交易員,可以簡單以此作出判斷和操作,亦免去繁瑣復雜的主流python量化交易代碼編寫。
於我覺得,很多人都有剛需去運行簡單的自定義機器人,至少在止盈損上會很有幫助,不用全天候盯盤,極端行情自行應對等,甚至可自行實現全機器人或半機器人操作,即大方向的上下車可以靠自己(啓動或停止),在止盈損和再次建倉時可以靠機器人,如下面簡單示例代碼只需刪除規則2中一二行的#BTC仓位大于0张、#24小時低,就能輕鬆實現半機器人操作的止盈損和再次建倉。
以下,這是我在編寫策略代碼這麼久總結的基礎心得經驗,盡可能的爲大家對Gate自定義機器人做到字間意明一步入門:
1.and後面換行照樣能用,方便代碼的日常編寫和維護。
2.and和or前面的空格可以去掉,一般遇到數字後面留空格就可。 (節省代碼空間)
3.一般函數代碼內的空格也可以去掉,創建規則變量時,可以細看網頁右上角的函數使用說明。 (節省代碼空間)(規則和變量創建)
4.代碼and和or,每一個and判斷結束才會運行下一個and判斷,當這行and不符合條件就會跳到下一個or,and是"以及"的意思,or是"或者"的意思。 (運行速度提升)
5.代碼運行速度提升,min/max這類時間長的幾天以上判斷建議放在代碼最後面,min和max這類函數數值最長不建議超過10000分鍾也就是約7天,日常使用3天內合適,不然會運行非常緩慢。放在最後的判斷,以降低調用的可能。 (運行速度提升)
6.創建規則的輸入框下面若提示false,證明代碼輸入有誤。 (規則和變量創建)
7.代碼太多可以收進變量上運行調用,變量順序一般放在規則前面,變量調用爲get_value(“該變量名”)。 (節省代碼空間)(規則和變量創建)
8.涉及min和max函數一般用到>=,<=號,涉及純粹價格price一般用到>,<號。
9.自定義機器人目前仍需要在網頁上創建和跟單,建議電腦或平板上操作,但簡單的編輯或查看可以手機瀏覽器上實現。 (規則和變量創建)
10.簡短的代碼大約每10秒運行一次,運行日志容易看出運行速度。 (運行速度提升)
11.價格函數判斷中常用spot結尾的現貨價格,感覺比usdt結尾的期貨價格更加實時和功能區分,也避免看代碼疲勞
12.建議每次較大修改和添加代碼都在#後面寫明原因和日期,以便日後再次查看時直觀明白這行代碼的用途
13.關於交易手續費,目前按Gate平台正常的VIP級別合約扣除手續費和結算資金費率,希望後續Gate平台會有優惠政策能推動自定義機器人的進展。
#=======
#=======
最簡單示例代碼:看多行情,BTC2小時高上車,BTC24小時低下車 (帶+20%止盈,-20%止損)
1.規則名稱 inbtc:買入BTC 條件: position_net(“BTC_USDT”,“usdt”)==0 and max_price(“BTC_USDT”,120,“spot”)<=max_price(“BTC_USDT”,1,“spot”)and price(“BTC_USDT”,0,“spot”)>100000
(本文代碼注意事項:若代碼中存在中文“ ”雙引號,皆是網頁的顯示問題,請自行替換回英文的" "雙引號, 否則輸入框會提示false錯誤。)
每行說明: #BTC倉位等於0張, #BTC2小時高上車,現貨最高價120分鍾<=1分鍾, #BTC價格大於100000
規則執行邏輯: BTC/USDT永續合約:10倍 價格:市價 數量(張數):10 #張數後續可根據資金量自行設定,一般建議在2~3成(10倍1張的本金=當前BTC價格*0.00001U) 全部成交或取消:(勾選) 輪次:(執行完成的次數,一般勾選爲不限次數,初期建議10次以確定運行正常,然後逐步修改放寬到無限次,但非常容易忘記,導致機器人成功買入10次後不再開倉,需謹記)
2.規則名稱 outbtc:賣出持倉BTC 條件: position_net(“BTC_USDT”,“usdt”)>0 and min_price(“BTC_USDT”,1440,“spot”)>=min_price(“BTC_USDT”,1,“spot”)or position_net(“BTC_USDT”,“usdt”)>0 and max_price(“BTC_USDT”,6,“spot”)>max_price(“BTC_USDT”,5,“spot”)and position_avg_open_price(“BTC_USDT”,“usdt”)*1.02 < index_price(“BTC_USDT”,0,“usdt”)or position_net(“BTC_USDT”,“usdt”)>0 and position_avg_open_price(“BTC_USDT”,“usdt”)*0.98>index_price(“BTC_USDT”,0,“usdt”)
(本文代碼注意事項:若代碼中存在中文“ ”雙引號,皆是網頁的顯示問題,請自行替換回英文的" "雙引號, 否則輸入框會提示false錯誤。)
每行說明: #BTC倉位大於0張, #24小時低,現貨最新價格;or或者 #BTC倉位大於0張, #判斷新高6分鍾大於5分鍾,喫漲幅,避免分鍾級別漲中過早止盈下車(強烈建議保留或只微調), #+20%止盈,*1.02爲+20%盈利;or或者 #BTC倉位大於0張, #-20%止損,position_avg_open_price(“BTC_USDT”,“usdt”)爲合約開倉勻價,*0.98爲 -20%止損,index_price(“BTC_USDT”,0,“usdt”)爲合約指數價格; #注:每個or後面都是新的部分,需要寫上判斷BTC倉位大於0張,以避免無倉位時仍然空刷和過多調用判斷引起運行緩慢 #注:and前面是數字時需要留一個空格 #注:最後一行的尾部無需加and或or #注:倉位和止盈損建議,日常幣種2~ 3成倉足夠適用,總體盡可能不要超過3成倉。新幣和小幣種波動特別大的建議調低到1~2成倉,並止盈損相應增大到40%~30%以加大容錯率。 #注:關於焦慮,偶爾會存在慢漲行情中畫門引起倒虧的損耗,這是無解局作爲必然損耗,總體會在另一些抄底上回報回來,無需焦慮。
規則執行邏輯: BTC/USDT永續合約:10倍 價格:市價 數量(張數):position_net(“BTC_USDT”,“usdt”) #此賣出數量函數爲BTC當前持有倉位,有多少倉賣多少 全部成交或取消:(勾選) 只減倉:(勾選) 輪次:(不限次數)
執行順序:inbtc,outbtc.
以上爲基礎代碼,添加完成即可運行,運行後等待幣價出現2小時新高會上車買入,在主界面查看運行情況。
以上用到到網址:
添加規則:https://www.gate.com/zh/strategybot/becomeStrategyMaker/newCustomize/rule 添加執行順序和運行:https://www.gate.com/zh/strategybot/becomeStrategyMaker/newCustomize/strategyList 主界面,運行的機器人和數據:https://www.gate.com/strategybot/underwayStrategy 函數使用說明:https://www.gate.com/zh/strategybot/becomeStrategyMaker/newCustomize/help
#=======
#=======
進階,稍微復雜點或後續,可以將上面相應代碼修改爲:
1.市價改限價: 規則inbtc,買入市價可以設置爲限價(賣10價):ask_price(“BTC_USDT”, 10, “usdt”) 規則outbtc,賣出市價可以設置爲限價(買10價):bid_price(“BTC_USDT”, 10, “usdt”)
2.規則inbtc的數量(張數)(改3成倉)(爲機器人現貨資金+合約資金的3成倉-當前倉位,其中floor()內爲向下取整數,如1.2爲1): floor((balance(“usdt”)+collateral(“usdt”)) * 0.3/price(“BTC_USDT”,0,“spot”) * 100000)-position_net(“BTC_USDT”,“usdt”) 3成倉代碼拆解說明: #機器人(現貨資金+合約資金)的3成除以幣價乘以100000得出3成倉的張數,後面的 * 100000每種幣都稍微不同計算方法一般去合約上填1張能判斷出來(ETH是* 1000,SOL是*10),(balance(“usdt”)+collateral(“usdt”))*0.3/price(“BTC_USDT”,0,“spot”)*100000 #其中floor( )內爲向下取整數,如1.2爲1,因爲張數要按整數的開,追求規範一般建議用上 #減去當前已有倉位,避免過量開倉,-position_net(“BTC_USDT”,“usdt”) #注:機器人現貨資金+合約資金,是通用的,初始全在現貨,開倉後會自動調過已開資金去合約資金,網頁點開進行中的機器人能看到當前變化倉位情況。
3.可以加個雙變量,以熟悉變量使用:將btc判斷大於100000放進變量判斷,當get_value(“btc”)==get_value(“btc2”)時執行: 添加變量(用到網址):https://www.gate.com/zh/strategybot/becomeStrategyMaker/newCustomize/ruleList
變量名 btc: 條件: get_value(“btc”)!=get_value(“btc2”)and price(“BTC_USDT”,0,“spot”)>100000 變量值:get_value(“btc2”)
每行說明: #當變量btc!=btc2時 (!=爲不等於) #btc價格大於100000 #變量值跟隨btc2的變量值(注:變量初始運行時都是爲0,有了寫入後才變化)
變量名 btc2: 條件: get_value(“btc”)==get_value(“btc2”)and price(“BTC_USDT”,0,“spot”)<=100000 變量值:get_value(“btc”)+1
每行說明: #當變量btc==btc2時 (==爲等於) #btc價格小於等於100000 #變量值爲變量btc加1
這樣得出結果: get_value(“btc”)==get_value(“btc2”)時,BTC價格大於100000; get_value(“btc”)!=get_value(“btc2”)時,BTC價格小於100000。
將變量加入到規則 inbtc是: position_net(“BTC_USDT”,“usdt”)==0 and max_price(“BTC_USDT”,120,“spot”)<=max_price(“BTC_USDT”,1,“spot”)and get_value(“btc”)==get_value(“btc2”)
執行順序:btc,btc2,inbtc,outbtc.
運行後,運行日志上會反應代碼運行情況,和變量值的變化。
(本文代碼注意事項:若代碼中存在中文“ ”雙引號,皆是網頁的顯示問題,請自行替換回英文的" "雙引號, 否則輸入框會提示false錯誤。)
#=======
#=======
免責聲明:上述所有內容皆爲經驗總結所得,以交流學習爲目的,其中的準確性、完整性不作保證,內容僅供參考,不作爲任何操作和投資建議,請自行斟酌分析和學習!
PS:暫時就寫到這裏,如果看的人多或者互動效果理想,可以進一步寫點更多更復雜的代碼示例。
BY:暴力考拉,關注加點讚分享! 轉載注明出處:暴力考拉的Gate動態 https://www.gate.com/zh/profile/BRUXEwQc