求大神發(fā)個(gè)跟蹤止盈止損的模版 [開拓者 TB]
- 咨詢內(nèi)容:
求大神發(fā)個(gè)跟蹤止盈止損的模版,發(fā)個(gè)實(shí)例也可以,謝謝!
- TB技術(shù)人員:
- Vars
- Numeric MinPoint; // 一個(gè)最小變動(dòng)單位,也就是一跳
- Numeric MyEntryPrice; // 開倉價(jià)格,本例是開倉均價(jià),也可根據(jù)需要設(shè)置為某次入場的價(jià)格
- Numeric TrailingStart1(50); // 跟蹤止損啟動(dòng)設(shè)置1
- Numeric TrailingStart2(80); // 跟蹤止損啟動(dòng)設(shè)置2
- Numeric TrailingStop1(30); // 跟蹤止損設(shè)置1
- Numeric TrailingStop2(20); // 跟蹤止損設(shè)置2
- Numeric StopLossSet(50); // 止損設(shè)置
- Numeric MyExitPrice; // 平倉價(jià)格
- NumericSeries HighestAfterEntry; // 開倉后出現(xiàn)的最高價(jià)
- NumericSeries LowestAfterEntry; // 開倉后出現(xiàn)的最低價(jià)
- Begin
- ...
- If(BarsSinceentry == 0)
- {
- HighestAfterEntry = Close;
- LowestAfterEntry = Close;
- If(MarketPosition <> 0)
- {
- HighestAfterEntry = Max(HighestAfterEntry,AvgEntryPrice); // 開倉的Bar,將開倉價(jià)和當(dāng)時(shí)的收盤價(jià)的較大值保留到HighestAfterEntry
- LowestAfterEntry = Min(LowestAfterEntry,AvgEntryPrice); // 開倉的Bar,將開倉價(jià)和當(dāng)時(shí)的收盤價(jià)的較小值保留到LowestAfterEntry
- }
- }else
- {
- HighestAfterEntry = Max(HighestAfterEntry,High); // 記錄下當(dāng)前Bar的最高點(diǎn),用于下一個(gè)Bar的跟蹤止損判斷
- LowestAfterEntry = Min(LowestAfterEntry,Low); // 記錄下當(dāng)前Bar的最低點(diǎn),用于下一個(gè)Bar的跟蹤止損判斷
- }
- Commentary("HighestAfterEntry="+Text(HighestAfterEntry));
- Commentary("LowestAfterEntry="+Text(LowestAfterEntry));
- MinPoint = MinMove*PriceScale;
- MyEntryPrice = AvgEntryPrice;
- If(MarketPosition==1) // 有多倉的情況
- {
- If(HighestAfterEntry[1] >= MyEntryPrice + TrailingStart2*MinPoint) // 第二級跟蹤止損的條件表達(dá)式
- {
- If(Low <= HighestAfterEntry[1] - TrailingStop2*MinPoint)
- {
- MyExitPrice = HighestAfterEntry[1] - TrailingStop2*MinPoint;
- If(Open < MyExitPrice) MyExitPrice = Open; // 如果該Bar開盤價(jià)有跳空觸發(fā),則用開盤價(jià)代替
- Sell(0,MyExitPrice);
- }
- }else if(HighestAfterEntry[1] >= MyEntryPrice + TrailingStart1*MinPoint)// 第一級跟蹤止損的條件表達(dá)式
- {
- If(Low <= HighestAfterEntry[1] - TrailingStop1*MinPoint)
- {
- MyExitPrice = HighestAfterEntry[1] - TrailingStop1*MinPoint;
- If(Open < MyExitPrice) MyExitPrice = Open; // 如果該Bar開盤價(jià)有跳空觸發(fā),則用開盤價(jià)代替
- Sell(0,MyExitPrice);
- }
- }else if(Low <= MyEntryPrice - StopLossSet*MinPoint)//可以在這里寫上初始的止損處理
- {
- MyExitPrice = MyEntryPrice - StopLossSet*MinPoint;
- If(Open < MyExitPrice) MyExitPrice = Open; // 如果該Bar開盤價(jià)有跳空觸發(fā),則用開盤價(jià)代替
- Sell(0,MyExitPrice);
- }
- }else if(MarketPosition==-1) // 有空倉的情況
- {
- If(LowestAfterEntry[1] <= MyEntryPrice - TrailingStart2*MinPoint) // 第二級跟蹤止損的條件表達(dá)式
- {
- If(High >= LowestAfterEntry[1] + TrailingStop2*MinPoint)
- {
- MyExitPrice = LowestAfterEntry[1] + TrailingStop2*MinPoint;
- If(Open > MyExitPrice) MyExitPrice = Open; // 如果該Bar開盤價(jià)有跳空觸發(fā),則用開盤價(jià)代替
- BuyToCover(0,MyExitPrice);
- }
- }else if(LowestAfterEntry[1] <= MyEntryPrice - TrailingStart1*MinPoint)// 第一級跟蹤止損的條件表達(dá)式
- {
- If(High >= LowestAfterEntry[1] + TrailingStop1*MinPoint)
- {
- MyExitPrice = LowestAfterEntry[1] + TrailingStop1*MinPoint;
- If(Open > MyExitPrice) MyExitPrice = Open; // 如果該Bar開盤價(jià)有跳空觸發(fā),則用開盤價(jià)代替
- BuyToCover(0,MyExitPrice);
- }
- }else If(High >= MyEntryPrice + StopLossSet*MinPoint)//可以在這里寫上初始的止損處理
- {
- MyExitPrice = MyEntryPrice + StopLossSet*MinPoint;
- If(Open > MyExitPrice) MyExitPrice = Open; // 如果該Bar開盤價(jià)有跳空觸發(fā),則用開盤價(jià)代替
- BuyToCover(0,MyExitPrice);
- }
- }
- ...
- End
- Vars
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 1145508240 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容