답변완료
78433, 78412 확인부탁드립니다.
안녕하세요..
78412 에서 작성해주신 수식으로 다시 시뮬레이션 해봤는데,
여전히 손절이 이상한데서 발생합니다.
첨부그림 보시면, 매수진입 후에 손절선보다 한참 위에서 손절신호가 발생합니다.
78412 전략식 그대로 카피했는데 뭐가 잘못되었는지 모르겠네요.. ㅜㅠ
확인해주시면 감사하겠습니다.
----------------------------------------------------------------------------------
안녕하세요? 예스스탁입니다.
시스템식 적용하여 확인해 보았는데, 청산은 진입 전 가장 낮게 형성된 오실레이터 시점의 저가를 하향이탈 할 때 청산하는 것으로 실행되고 있는 것으로 보이며, 별다른 이상은 없는것 같습니다. 다시 신호 확인해 보시기 바랍니다.
감사합니다.
----------------------------------------------------------------------------
안녕하세요?
문의하신 내용 답변드립니다.
참고로 아래식에서 수익이 0보다 큰 상태에서 익절인데, 신호가 나오는 전봉의 종가를 기준으로 판단하기 때문에 전봉은 수익 상태이지만 신호가 나온 가격은 가격이 하락하면서 매도가 되기 때문에 손실로 매도되는 경우도 발생되게 됩니다.
[시스템식]
input : P1(12), P2(26), P3(9);
var : macdValue(0), macdSignal(0), macdLow(0);
macdValue = macd(P1,P2);
macdSignal = Ema(macdValue, P3);
if CrossUp(macdValue, macdSignal) Then
Buy();
#익절(추적청산)
if C > EntryPrice and BarsSinceEntry > 0 Then
ExitLong("EL_target", AtStop, highest(H,5) - ATR(14)*2);
# 손절
if MarketPosition <> 1 Then {
if CrossDown(macdValue, macdSignal) Then
macdLow = L;
if macdValue < macdSignal and L < macdLow Then
macdLow = L;
}
if MarketPosition == 1 Then
ExitLong("EL_stop", AtStop, macdLow);
> 공돌이 님이 쓴 글입니다.
> 제목 : 수식부탁드려요..
> 안녕하세요.. 아래 조건에 대한 시스템 수식 부탁드립니다
1. 매수조건: macd 오실레이터가 음수에서 양수로 전환되면 매수
2. 익절: 현재 수익률이 0보다 크고 and 최근5봉 최고가에서 2×ATR(14봉 평균)을 뺀 값보다 종가가 작아지면 익절
3. 손절: macd 오실레이터가 양수로 바뀌기 전의 음수인 영역(첨부 사진에서 A영역)에서의 최저값(첨부 사진에서 A영역 최소값은 25500원)보다 종가가 작아지면 손절
2022-08-11
1305
글번호 161457
시스템
답변완료
재문의드립니다.
아래 수식에서 if C > 매수조건1 Then{
t=1;
if MarketPosition() == 0 and t==1 Then
buy("매수");
}
포지션이 없어지면 매수가 됩니다.
청산 이후에 포지션이 없어지면 매수조건이 성랍되면 실제로 매수가 이루어지고 있습
니다 문제는 같은봉에서 동일시간에 포지션 체인지가 발생시 문제가 됩니다.
결론은 청산봉에서 매매가 안일어나야 합니다. 청산봉에서는 청산만 하고요 다른 매매가 일어나지 않도록
다음봉에서 매매가 일어나도록 부탁드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
> 안녕하세요? 예스스탁입니다.
적어주신 내용 중에 '손절 청산이나 이익 청산시에 청산함과 동일시간에 반대포지션
진입이 되므로' 라고 하셨는데 식의 내용으로 볼때 청산만 하는 로직으로 작성된 것으로 보입니다. 청산과 동시에 반대 포지션으로 진입하시려면 Exitlong를 Sell로 Exitshort을 buy로 변경해 주시면 됩니다.
감사합니다.
> 종호 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 안녕하세요.
아래 분봉 수식에서 손절 청산이나 이익 청산시에 청산함과 동일시간에 반대포지션
진입이 되므로 반대포지션 체결이 되어야 할텐데 반대 포지션으로 실제로는
체결이 안되고 있습니다,
어떻게 해야 할까요?
수정을 부탁드립니다.
if C > 매수조건1 Then{
t=1;
if MarketPosition() == 0 and t==1 Then
buy("매수");
}
if C < 매도조건1 Then {
t=-1 ;
if MarketPosition() ==0 and t==-1 Then
Sell("매도");
}
if MarketPosition == 1 Then
{
buy("bb",AtStop,LatestEntryPrice(0)+PriceScale*매수간격);
if MaxEntries == 1 Then
ExitLong("매수1손절",AtStop,A-PriceScale*손절변수);
if MaxEntries >= 2 Then
ExitLong("bx",AtStop,B);
ExitLong("매수이익x",AtLimit,C+PriceScale*이익변수 );
}
if MarketPosition == -1 Then
{
Sell("ss",AtStop,LatestEntryPrice(0)-PriceScale*매도간격);
if MaxEntries == 1 Then
ExitShort("매도1손절",AtStop,A+PriceScale*손절변수 );
if MaxEntries >= 2 Then
ExitShort("sx",AtStop,Be);
ExitShort("매도이익",AtLimit,C-PriceScale*이익변수);
}
2022-08-11
1228
글번호 161445
시스템
답변완료
매수방법을 추가하고 싶네요....
현재 사용중인 매수방법
차트1: 60분봉
차트2: 일봉
차트3: 일봉
var : mav(0,data2),MM(0,Data3),SS(0,Data3);
var : MMM(0,Data2),SSS(0,Data2),Xcnt(0,Data2),Xvol(0,data1);
MM = Data3(mfi(MFI기간));
SS = Data3(Simrido(심리도기간));
MMM = Data2(mfi(MFI기간));
SSS = Data2(Simrido(심리도기간));
if MM < (MFI값) or SS < (심리도값) or MMM < (MFI값) or SSS < (심리도값) Then
{
buy("b3",atlimit,C,Floor(제1매수금액*10000/min(NextBarOpen,C)));
}
위 매수 조건에
추가로 일봉이 -3%하락시 같은 위와 같은 금액에 2배로 매수
추가로 일봉이 -4%하락시 같은 위와 같은 금액에 3배로 매수
하는 조건을 넣고 싶습니다
2022-08-11
1348
글번호 161437
시스템