이 전략은 유동 평균, 과잉 구매 과잉 판매 및 변동율 지표를 결합하여 과잉 판매의 경우 하락을 구매하고 과잉 판매의 경우 상승을 판매하여 트렌드를 추적합니다.
RSI와 스톡이 모두 과판/대입 구역에 있고 AO 오시일레이터가 반전 신호를 표시할 때 포지션을 취합니다. 구체적으로, RSI와 스톡이 낮을 때 (30와 20 이하) 그리고 AO가 음에서 긍정적으로 전환될 때 긴 포지션을 취하십시오. RSI와 스톡이 높을 때 (70과 80 이상) 그리고 AO가 긍정적에서 부정으로 전환될 때 짧은 포지션을 취하십시오. 시장 변동성에 따라 손실/이익 수준을 조정하기 위해 ATR 값을 기반으로 손해를 멈추고 이익을 취하십시오.
이 전략은 주로 네 가지 지표를 사용합니다.
AO가 반전 신호를 표시하고 RSI와 주가 모두 과판 / 과입 구역에있을 때 가격은 반전 될 수 있습니다. 이 시점에서 포지션을 취하십시오. 변동성에 따라 손실 / 이익 범위를 조정하여 함정에 빠지지 않도록 중지 손실을 설정하고 수익 가격을 취하기 위해 ATR을 사용하십시오.
위험을 줄이기 위해 아래와 같은 측면에서 최적화하십시오.
아래의 측면은 전략에 최적화 될 수 있습니다:
서로 다른 값을 통과하여 매개 변수 설정을 최적화합니다.
잘못된 신호를 피하기 위해 입력 필터 조건을 추가합니다.
트레일링 스톱 로스 같은 스톱 로스 방법을 최적화합니다.
최적화, 수익을 창출하는 방법, 적응적 수익을 창출하는 방법
자율적으로 수익을 취해서 핵심 수준 근처에 있는 것을 추가해
리스크에 따라 포지션 크기를 조정하여 자금 관리를 최적화합니다.
다른 도구와 시간 프레임에 기초하여 매개 변수 및 스톱/이익 수준을 테스트하고 최적화합니다.
뉴스나 급격한 손실을 피하는 것과 같은 극단적인 사건들을 처리합니다.
이 전략은 이동 평균, 과잉 구매 과잉 판매 및 변동성 시스템을 결합하여 낮은 가격으로 구매하고 높은 가격으로 판매하며 강한 트렌드를 따르는 능력을 갖는다. 그러나 고정 매개 변수 및 부적절한 스톱 손실과 같은 몇 가지 문제가 존재한다. 우리는 매개 변수 조정, 스톱 손실 개선, 필터를 추가하여 더 견고하게 만들기 위해 다양한 측면에서 최적화 할 수 있다. 실제 거래에서, 효과와 수익성을 극대화하기 위해 특정 도구와 기간에 기반하여 테스트하고 최적화해야합니다.
/*backtest start: 2023-09-17 00:00:00 end: 2023-10-17 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Buy&Sell Strategy depends on AO+Stoch+RSI+ATR by SerdarYILMAZ", shorttitle="Buy&Sell Strategy") // Created by Serdar YILMAZ // This strategy is just for training, its purpose is just learning code in pine script. // Don't make buy or sell decision with this strategy. // Bu strateji sadece pine script'te kodlamanın nasıl yapildigini ogrenmek icindir. // Bu stratejiye dayanarak, kesinlikle al-sat islemleri yapmayin. //AO fast=input(title="Fast Length",type=input.integer,defval=5) slow=input(title="Slow length",type=input.integer,defval=34) awesome=(sma(hl2,fast)-sma(hl2,slow))*1000 plot(awesome, style=plot.style_histogram, color=(awesome>awesome[1]?color.green:color.red)) //Stoch K=input(title="K",type=input.integer,defval=14) D=input(title="D",type=input.integer,defval=3) smooth=input(title="smooth",type=input.integer,defval=3) k=sma(stoch(close,high,low,K),D) d=sma(k,smooth) hline(80) hline(20) plot(k,color=color.blue) //RSI rsisource=input(title="rsi source",type=input.source,defval=close) rsilength=input(title="rsi length",type=input.integer,defval=10) rsi=rsi(rsisource,rsilength) hline(70,color=color.orange) hline(30,color=color.orange) plot(rsi,color=color.orange) //ATR atrlen=input(title="ATR Length", type=input.integer,defval=14) atrvalue=rma(tr,atrlen) plot(atrvalue*1000,color=color.green) LongCondition=k<20 and rsi<30 and awesome>awesome[1] ShortCondition=k>80 and rsi>70 and awesome<awesome[1] if (LongCondition) stoploss=low-atrvalue takeprofit=close+atrvalue strategy.entry("Long Position", strategy.long) strategy.exit("TP/SL",stop=stoploss,limit=takeprofit) if (ShortCondition) stoploss=high+atrvalue takeprofit=close-atrvalue strategy.entry("Short Position",strategy.short) strategy.exit("TP/SL",stop=stoploss,limit=takeprofit)