답변완료
매도후 재진입 문제
안녕하세요 국내주식입니다
아래식은 매도후 재진입 수식이고, 전체 10프로 이상시 전량 청산입니다
그런데, BUY 두개중 하나만 되야 되는데, 두개가 동시에 발생하는 경우가 생깁니다
이럴때 두개중 하나만 진입을 하고 싶은데요, 어떻게 해야 하나요?
if MarketPosition == 0 Then
{
Buy("재진입하락",AtLimit,ExitPrice(1)*0.98,vol*1.0);
Buy("재진입상승",AtStop,ExitPrice(1)*1.02,vol*1.0);
}
ExitLong(" 청산",AtLimit,AvgEntryPrice*1.1);
2022-09-08
876
글번호 162089
시스템
답변완료
수식문의드립니다
안녕하세요~
수식을 작성하였는데 실행하면 자꾸 프로그램이 응답 안한다며 hts가 종료됩니다
다른 수식을 켜보니 이런일이 없는걸 보니, 뭔가가 잘못되서 꺼지는것 같은데 원인을 못찾겠네요..ㅠ
확인 부탁드리겠습니다!
감사합니다
----------------------------------------------
var : BS(False), SS(False);
var : e60(0), exitC(0), HB(0), LB(0),N(0), rHB(0), rLB(0), unitP(0), MDD(100000);
input : TT1(125000), TD1(20220908), TT2(134300), TD2(20220908);
array : p[6](False), MACDV[2](0), MACDS[2](0);
MACDV[0] = MACD(5,20);
MACDV[1] = MACD(5,40);
MACDV[2] = MACD(20,40);
MACDS[0] = Ema(MACD(5,20),9);
MACDS[1] = Ema(MACD(5,40),9);
MACDS[2] = Ema(MACD(20,40),9);
e60 = Ema(c,60);
exitC = 2*ATr(14);
N = ATR(14);
unitP = floor(MDD/(2*N*BigPointValue*1400));
if sDate >= TD1 && sTime > TT1 Then condition11 = true;
if sDate >= TD2 && sTime > TT2 Then condition11 = False;
if condition11 == true Then
{
//phase
if Ema(c,5) > Ema(c,20) && Ema(c,20) > Ema(c,40) Then p[1] = true;
Else p[1] = False;
if Ema(c,20) > Ema(c,5) && Ema(c,5) > Ema(c,40) Then p[2] = true;
Else p[2] = False;
if Ema(c,20) > Ema(c,40) && Ema(c,40) > Ema(c,5) Then p[3] = true;
Else p[3] = False;
if Ema(c,40) > Ema(c,20) && Ema(c,20) > Ema(c,5) Then p[4] = true;
Else p[4] = False;
if Ema(c,40) > Ema(c,5) && Ema(c,5) > Ema(c,20) Then p[5] = true;
Else p[5] = False;
if Ema(c,5) > Ema(c,40) && Ema(c,40) > Ema(c,20) Then p[6] = true;
Else p[6] = False;
// 진입조건
if MACDV[0] > MACDV[0][1] && MACDV[1] > MACDV[1][1] && MACDV[2] > MACDV[2][1] Then BS = TRUE;
Else BS = False;
if MACDV[0] < MACDV[0][1] && MACDV[1] < MACDV[1][1] && MACDV[2] < MACDV[2][1] Then SS = TRUE;
Else SS = False;
if p[4] == true && BS == true && CrossUp(macdv, macds) Then Buy();
if p[1] == true && SS == true && crossdown(macdv, macds) Then Sell();
if p[5] == true && p[5][1] == False && BS == true && CrossUp(macdv, macds) Then Buy();
if p[2] == true && p[2][1] == false && SS == true && crossdown(macdv, macds) Then Sell();
if p[6] == true && p[6][1] == False && BS == true && macdv > macds Then Buy();
if p[3] == true && p[3][1] == False && SS == true && macdv < macds Then Sell();
//청산
if marketposition == 1 Then
{
if e60 < HB+2*N Then
Exitlong("exitB1", atstop, HB-exitC);
if e60 >= HB+2*N and CrossDown(close, e60) Then
{
ExitLong("exitB2") ;
}
}
if marketposition == -1 Then
{
if e60 > LB-2*N Then
ExitShort("exitS1", atstop, LB+exitC);
if e60 <= LB-2*N and CrossUp(close, e60) Then
{
ExitShort("exitS2");
}
}
MessageLog("P[4] %2s, bs %2s",p[4], BS);
}
2022-09-08
838
글번호 162088
시스템
답변완료
문의드립니다
input : 시작시간(150000),끝시간(030000),n(0);
var : cnt(0),Tcond(False);
Array : DO[20](0),DH[20](0),DL[20](0),DC[20](0);
if (sdate != sdate[1] and stime >= 끝시간) or
(sdate == sdate[1] and stime >= 끝시간 and stime[1] < 끝시간) Then
{
Tcond = False;
}
if (sdate != sdate[1] and stime >= 시작시간) or
(sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then
{
Tcond = true;
for cnt = 19 downto 1
{
DO[cnt] = DO[cnt-1];
DH[cnt] = DH[cnt-1];
DL[cnt] = DL[cnt-1];
DC[cnt] = DC[cnt-1];
}
DO[0] = O;
DH[0] = H;
DL[0] = L;
}
if Tcond == true Then
{
DC[0] = C;
if DH[0] > 0 and H > DH[0] Then
DH[0] = H;
if DL[0] > 0 and L < DL[0] Then
DL[0] = L;
}
plot1(DO[n],"n일전시가");
plot2(DH[n],"n일전고가");
plot3(DC[n],"n일전종가");
plot4(DL[n],"n일전저가");
buy("", atstop, DO[0] + 1);
1번 질문 : 오후 3시~~다음날 새벽3시까지 트레이딩을 한다고 가정하고
예전에 작성해주셨던 시간을 정해서 시고종저를 구하는 식을 이용하여
그 구간대의 싯가 + 1에 진입한다고 하면 바로 진입하는게 아니라 다음날 0시에 진입을 하네요 날짜가 바뀌는게 문제인거 같은데 해결책을 모르겠습니다.
2번질문 : entriestoday 함수를 역시 오후 3시~~다음날 새벽3시까지의 구간을 하루로 보고 수를 카운팅할수 있는 방법이 있을지 모르겠습니다.
예스스탁에 언제나 감사드립니다.
2022-09-13
755
글번호 162086
지표
답변완료
수식 부탁드립니다.
안녕하세요.
아래의 키움증권 신호 수식을
예스트레이더 종목검색으로 수식으로 변환 요청드립니다.
AA=max( avg(C,short), avg(C,mid), avg(C,long)) < min( avg(C,short), avg(C,mid), avg(C,long)) * (1+Percent/100) && C > highest(H(1),5) && C(1) <= highest(H(2),5);
BB=(C>=eavg(C,125));
CC=eavg(C,60)>eavg(C,5) && eavg(C,5)>eavg(C,20);
AA and BB and CC
short 7
mid 60
long 120
Percent 5
감사합니다.
2022-09-08
1244
글번호 162082
종목검색