답변완료
수식확인 요청
수식을 수정해 주셨는데, 신호가 전혀 잡히지 않아, 첫번째 매수에 있는 LatestEntryPrice(0)*0.98 식을 삭제하고 했더니 매수가 잡히긴 했으나, 두번째 매수부터는 전혀 진행되지 않았습니다...
그리고 매도는 RSI 80이상일시 50프로 매도후에, 나머지는 파라볼릭 sar 매도점이 나오면 바로 올매도 하는식으로 바꾸고 싶습니다.
Input : 투자금액(10000000),RSIP(14), P1(5), P2(25), P3(100), 시작일(20210407),시작시간(073000);
var : value(0),e(0),x(0),count(0),Vma(0), Tcond(false);
var : Rsiv(0),vv(0), Entry(0), mav1(0);
var1 = ma(C,p1);
var2 = ma(C,p2);
var3 = ma(C,p3);
var4 = sar(0.02,0.2);
mav1 = ma(C,30);
Rsiv = RSI(RSIP);
if NextBarSdate >= 시작일 and NextBarStime >= 시작시간 Then
Tcond = true;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
count = count+1;
if sdate >= 시작일 and stime >= 시작시간 Then
Tcond = true;
if Tcond == true then
{
if crossup(c,var4) Then
Entry = 0;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if MarketPosition == 0 and Entry < 1 and var1 > var2 and Rsiv < 60 and C > var4 Then
buy("b1",OnClose,DEF,Floor((투자금액*0.1)/min(NextBarOpen,LatestEntryPrice(0)*0.98)));
if MarketPosition == 0 and MaxEntries == 1 Then
buy("b2",atlimit,LatestEntryPrice(0)*0.98,Floor((투자금액*0.1)/min(NextBarOpen,LatestEntryPrice(0)*0.98)));
if MarketPosition == 0 and MaxEntries == 2 Then
buy("b3",atlimit,LatestEntryPrice(0)*0.98,Floor((투자금액*0.2)/min(NextBarOpen,LatestEntryPrice(0)*0.98)));
if MarketPosition == 0 and MaxEntries == 3 Then
buy("b4",atlimit,LatestEntryPrice(0)*0.98,Floor((투자금액*0.2)/min(NextBarOpen,LatestEntryPrice(0)*0.98)));
if MarketPosition == 0 and MaxEntries == 4 Then
buy("b5",atlimit,LatestEntryPrice(0)*0.98,Floor((투자금액*0.4)/min(NextBarOpen,LatestEntryPrice(0)*0.98)));
if MarketPosition == 1 and Rsiv > 55 and var1 > var2 and var2 > var3 and C < var4 Then
exitlong("s");
}
2021-04-12
620
글번호 147949
시스템
답변완료
수식 질문드립니다.
아래 식에서 익절이나,손절, exit 후에는 condi 를 0으로 바꿀 방법이 있을지 궁금합니다.
부탁드립니다.
감사합니다 !!
-----------------------------
if sDate != sDate[1] Then
{
condi = 0;
condi = condi[0];
}
if average((c2+c3),20)>way Then
condi = 1;
if average((c2+c3),20)<-way Then
condi = -1;
if Data1(sTime >= 90000 and sTime < value3 and entry < aptny)and (Tcond == true) Then
{
if condi== 1 and CrossDown(c,ma(c,60))
then
Sell();
if condi == -1 and CrossUp(c,ma(c,60))
then
Buy() ;
}
SetStopEndofday(EndTime);
SetStopProfittarget(익절,PointStop);
SetStoploss(손절,PointStop);
2021-04-12
786
글번호 147946
시스템
답변완료
시스템 수정 문의
진심으로 감사드립니다.
아래 수식 작성하여 주셨는데,
제가 기간변경을 하기 위해서 어느 부분을 수정하면 되는지 알려 주시면 감사하겠습니다.
예) 주,일,60분 봉 -> 일,30분, 3분
다양한 기간을 설정 하면서 테스트 해보고 싶어서 부탁드립니다.
감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템 작성 부탁드립니다.
>
안녕하세요
예스스탁입니다.
Input : Wshort(12),Wlong(26),Wsig(9);
Input : dshort(12),dlong(26),dsig(9);
Input : short(12),long(26),sig(9);
var : widx(0);
Var : wEp1(0), Wema1(0), PreWema1(0);
Var : wEp2(0), Wema2(0), PreWema2(0);
Var : wEp3(0),PreWMACDS(0),WMACDv(0),WMACDs(0),preWMACDo(0),WMACDO(0);
var : didx(0);
Var : dEp1(0), dema1(0), Predema1(0);
Var : dEp2(0), dema2(0), Predema2(0);
Var : dEp3(0),PredMACDS(0),dMACDv(0),dMACDs(0),predMACDo(0),dMACDO(0);
Var : MACDv(0), MACDs(0),macdo(0) ;
wEp1 = 2/(Wshort+1);
wEp2 = 2/(Wlong+1);
wEp3 = 2/(Wsig+1);
if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then
{
widx = widx + 1;
PreWema1 = Wema1[1];
PreWema2 = Wema2[1];
PreWMACDS = WMACDs[1];
PreWMACDO = WMACDo[1];
}
if widx <= 1 then
{
Wema1 = C;
Wema2 = C;
WMACDv = Wema1-Wema2;
WMACDs = WMACDv;
WMACDO = WMACDV-WMACDS;
}
else{
Wema1 = C * wEP1 + PreWema1 * (1-wEP1);
Wema2 = C * wEP2 + PreWema2 * (1-wEP2);
WMACDV = Wema1-Wema2;
WMACDS = WMACDV * wEP3 + PreWMACDS * (1-wEP3);
WMACDO = WMACDV-WMACDS;
}
dEp1 = 2/(dshort+1);
dEp2 = 2/(dlong+1);
dEp3 = 2/(dsig+1);
if bdate != bdate[1] Then
{
didx = didx + 1;
Predema1 = dema1[1];
Predema2 = dema2[1];
PredMACDS = dMACDs[1];
PredMACDO = dMACDo[1];
}
if didx <= 1 then
{
dema1 = C;
dema2 = C;
dMACDv = dema1-dema2;
dMACDs = dMACDv;
dMACDO = dMACDV-dMACDS;
}
else{
dema1 = C * dEP1 + Predema1 * (1-dEP1);
dema2 = C * dEP2 + Predema2 * (1-dEP2);
dMACDV = dema1-dema2;
dMACDS = dMACDV * dEP3 + PredMACDS * (1-dEP3);
dMACDO = dMACDV-dMACDS;
}
MACDv = MACD(short, long);
MACDs = ema(MACDv,sig);
macdo = MACDv-MACDs;
if WMACDO > PreWMACDO and
DMACDO > PreDMACDO and
MACDO > MACDO[1] Then
Buy();
if MACDO < MACDO[1] and MACDO[1] > MACDO[2] Then
ExitLong();
즐거운 하루되세요
> 대한이 님이 쓴 글입니다.
> 제목 : 시스템 작성 부탁드립니다.
> 안녕하십니까?
시스템 작성 부탁드립니다.
조건
주봉 MACD오실레이터 상승 AND 일봉 MACD오실레이터 상승 AND 60분봉 MACD오실레이터 상승
일때 매수
60분봉 MACD오실레이터 하락 반전 매도
감사합니다.
2021-04-12
466
글번호 147944
시스템