在本教程中,我將編寫與Jesse交易比特幣的策略。本教程的重點是使您開始使用Jesse,以便您可以編寫自己的策略。我還將教給您一些我多年來積累的技巧,這些技巧可以幫助我編寫有利可圖的策略。
本教程的重點不是給你一個很棒的策略,而是讓你自己開始寫一個。
在第一部分中,我將介紹以下所有內容:
1. 如何使用技術分析
2. 如何進入交易
3. 如何退出交易
4. 如何管理風險
首先確保安裝了Jesse。如果你沒有,那就去做吧。接下來,請確保您已匯入candles。現在完成操作,因為這需要幾分鐘,所以很好,因為我們將編寫該策略:
jesseimport-candlesBitfinexBTCUSD2016-01-01
制定策略
我們將此策略命名為SampleTrendFollowing.cd進入您的Jesse專案並執行:
jessemake-strategySampleTrendFollowing
現在開啟位於strategys/SampleTrendFollowing/__ init__.py的SampleTrendFollowing。這是Jesse生成的程式碼:
使用技術分析
我們將使用EMA指標來檢測市場趨勢的方向。讓我們使用兩條EMA行,其中週期為50表示較慢的EMA,週期為21表示較快的EMA。
請注意,我透過@property關鍵字將它們定義為類屬性。這使我可以將它們用作self.long而不是self.long(),這在我看來比較容易。
我們還要定義ATR指標,這是我最喜歡的止損價格設定工具:
進入規則
我們的入市規則很簡單:當快速均線突破慢速均線時做多,短線則相反。
管理風險
每種策略的一個關鍵部分是位置調整。簡單的複利頭寸調整將使您受益匪淺。例如讓我們冒每筆交易總資金3%的風險。
我們還需要說明我們的進場價格。為了簡單起見,讓我們使用市價訂單開倉。
注意我對止損和止盈目標都使用了ATR指標。
動態退出趨勢跟蹤策略通常是個好習慣,但是我在開倉時設定了退出點。我這樣做是為了使本教程保持簡單。
路由
現在我們需要在執行backtest命令時告訴Jesse交易SampleTrendFollowing策略。我們還需要選擇一個時間範圍和一個交易品種。我選擇6h時間範圍和BTCUSD作為我的交易程式碼。您的routes.py檔案應如下所示:
執行backtest
讓我們看看它的表現如何:
jessebacktest2019-01-012020-01-01
結果如下:
看看,這實際上是有利可圖的!好吧,至少在2019年。對於6h時限的趨勢跟蹤策略交易,這是否足夠回測?這是您的呼叫,但如果有資料,我會再呼叫。在這種情況下,我回到了2017年,直到今年的5月3日:
結論
本教程的重點是使您開始使用Jesse編寫策略。我將寫更多這樣的文章,探討Jesse的更多功能,例如使用多個時間範圍,過濾器,事件等。
相關文章閱讀:
區塊鏈研究實驗室|如何在交易策略中使用多個時間框架