커뮤니티
부탁드립니다.
2019-07-21 23:07:11
252
글번호 130509
수식 부탁드립니다. 감사드립니다
1) 조건(아래 예시참조)
7시 30분 현재가가 기준가 A 이고
A 대비 10틱 상승하면 기준가가 A+10틱의 현재가가 기준가(A')로 변경되고 B=1
A'에서 다시 10틱 상승하면 A'+10틱의 현재가가 기준가로(A'') 변경되고 B=2, 기준가에서 추가 10틱 상승하면 기준가(A''')로 변경, B=3...
기준가는 10틱 변화된 현재가로 수시로 변하고 연속으로 상승될경우 B=1,2,3,4,5..로 변경
기준가 대비 연속 10틱 상승으로 B=1,2,3.. 되다가 기준가 대비 -10틱 되면 S=1로 변경,
다시 기준가 대비 10틱 상승하면 B=1 부터 다시 시작
기준가(10틱 변화후의 현재값) 대비 10틱 상승 하락하면 B,S가 1씩 증가하고 (1,2,3,4,5,..)
증가 중 한번이라도 역방향으로 하락 상승하면 B,S가 1부터 다시 시작하여 증가
*표시
B=1,2,3(빨간색).. S=1,2,3,,(파란색) 을 차트 캔들위에 표시해 주시길 요청드립니다.
(단순 1,2,3,4이고 색깔만 다르게 표시)
2)진입
매도 : B=1일때 1개 매도, B=2일때 2개 매도, B=3 이상일때는 3개 매도
매수 : S=1일때 1개 매수, S=2일때 2개 매수, S=3 이상일때는 3개 매수
진입 수량은 매도 매수 각각 최대 N 개로 제한하고 싶습니다.
3)손절1: 매도일때 매도된 5개 총 수익이 마이너스 일때 최고가 대비 10틱이 하락 했을때 수익이
-(진입수량 * U(상수)) 값보다 작으면 청산되는 식을 부탁드립니다.
*예시: 진입수5,
현재가 2000 (매도 5개총수익: -100틱),
현재가 2005 (수익: -150틱), <-- 최대값: 2005
현재가 1995(-10틱하락) (수익: -50틱)
==> -(진입수(5)*U(5))= -25틱 보다 작음
==>손절(진입된 5개 모두 청산)
* 매수는 반대로 해주세요
4)손절2: 진입된 매도 수량이 5개 이상이고 수익이 50틱 이상까지 갔다면
0틱으로 다시 되돌림 하면 손절(진입수량 모두 청산)
* 매수는 반대로 해주세요
5)청산(두가지 부탁드립니다)
1)매도, 매수 포지션일때 진입된 수익 총합이 100틱이상이면 전부청산
2)매도, 배수 포지션일때 진입된 수익 총합이 100틱이상이면 최고수익대비 수익이 20%하락하면 전부 청산
1)조건 예시
7시 30분 현재가: A(기준가)
A+10틱 ==> B=1 (A'=A+10틱 현재가)
A'+10틱 ==> B=2 (A''=A'+10틱 현재가)
A''+10틱 ==> B=3 (A'''=A''+10틱 현재가)
A'''+10틱 ==> B=4 (A''''=A'''+10틱 현재가)
A''''+10틱 ==> B=5 (A'''''=A''''+10틱 현재가)
지속..
A+10틱 ==> B=1 (A'=A+10틱 현재가)
A'+10틱 ==> B=2 (A''=A'+10틱 현재가)
A''-10틱 ==> S=1 (A'''=A''-10틱 현재가)
A'''-10틱 ==> S=2 (A'''=A''-10틱 현재가)
A''''-10틱 ==> S=3 (A''''=A'''-10틱 현재가)
A'''''+10틱 ==> B=1 (A'''''=A''''+10틱 현재가)
감사합니다
답변 1
예스스탁 예스스탁 답변
2019-07-23 10:12:04
안녕하세요
예스스탁입니다.
input : n(5),u(5);
var : tx(0),ll(0),hh(0);
if (sdate != sdate[1] and stime >= 73000) or
(sdate == sdate[1] and stime >= 73000 and stime[1] < 73000) Then
{
var1 = c;
var2 = 0;
}
else
{
if H >= var1+PriceScale*10 Then
{
var1 = var1 + PriceScale*10;
if var2[1] >= 0 Then
var2 = var2+1;
Else
var2 = 1;
tx = Text_New(sdate,stime,H,NumToStr(abs(var2),0));
Text_SetColor(tx,RED);
if MarketPosition >= 0 or MaxContracts < n Then
sell("s",OnClose,def,1);
}
if L <= var1-PriceScale*10 Then
{
var1 = var1 - PriceScale*10;
if var1 <= 0 Then
var2 = var2-1;
Else
var2 = -1;
tx = Text_New(sdate,stime,L,NumToStr(abs(var2),0));
Text_SetColor(tx,BLUE);
if MarketPosition <= 0 or MaxContracts < n Then
Buy("b",OnClose,def,1);
}
}
if MarketPosition == -1 then
{
if CurrentContracts > CurrentContracts[1] Then
{
hh = h;
ll = L;
}
if h > hh Then
hh = h;
if l < ll Then
ll = l;
ExitShort("sp1",Atlimit,AvgEntryPrice-(PriceScale*100)/CurrentContracts);
if ll <= AvgEntryPrice-(PriceScale*100)/CurrentContracts Then
ExitShort("sp2",AtStop,LL+(AvgEntryPrice-LL)*0.2);
if CurrentContracts >= 5 and C <= HH-PriceScale*10 and C > AvgEntryPrice and (AvgEntryPrice-C) <= -(CurrentContracts*U)*PriceScale Then
ExitShort("sl1");
if CurrentContracts >= 5 and ll <= AvgEntryPrice-(PriceScale*50)/CurrentContracts Then
ExitShort("sl2",AtStop,AvgEntryPrice);
}
if MarketPosition == 1 then
{
if CurrentContracts > CurrentContracts[1] Then
{
hh = h;
ll = l;
}
if h > hh Then
hh = h;
if l < ll Then
ll = l;
ExitLong("bp1",AtStop,AvgEntryPrice+(PriceScale*100)/CurrentContracts);
if hh >= AvgEntryPrice+(PriceScale*100)/CurrentContracts Then
ExitLong("bp2",AtStop,hh-(hh-AvgEntryPrice)*0.2);
if CurrentContracts >= 5 and C >= LL+PriceScale*10 and C < AvgEntryPrice and (C-AvgEntryPrice) <= -(CurrentContracts*U)*PriceScale Then
ExitLong("bl1");
if CurrentContracts >= 5 and hh >= AvgEntryPrice+(PriceScale*50)/CurrentContracts Then
ExitLong("bl2",AtStop,AvgEntryPrice);
}
즐거운 하루되세요
> 라떼처럼 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 수식 부탁드립니다. 감사드립니다
1) 조건(아래 예시참조)
7시 30분 현재가가 기준가 A 이고
A 대비 10틱 상승하면 기준가가 A+10틱의 현재가가 기준가(A')로 변경되고 B=1
A'에서 다시 10틱 상승하면 A'+10틱의 현재가가 기준가로(A'') 변경되고 B=2, 기준가에서 추가 10틱 상승하면 기준가(A''')로 변경, B=3...
기준가는 10틱 변화된 현재가로 수시로 변하고 연속으로 상승될경우 B=1,2,3,4,5..로 변경
기준가 대비 연속 10틱 상승으로 B=1,2,3.. 되다가 기준가 대비 -10틱 되면 S=1로 변경,
다시 기준가 대비 10틱 상승하면 B=1 부터 다시 시작
기준가(10틱 변화후의 현재값) 대비 10틱 상승 하락하면 B,S가 1씩 증가하고 (1,2,3,4,5,..)
증가 중 한번이라도 역방향으로 하락 상승하면 B,S가 1부터 다시 시작하여 증가
*표시
B=1,2,3(빨간색).. S=1,2,3,,(파란색) 을 차트 캔들위에 표시해 주시길 요청드립니다.
(단순 1,2,3,4이고 색깔만 다르게 표시)
2)진입
매도 : B=1일때 1개 매도, B=2일때 2개 매도, B=3 이상일때는 3개 매도
매수 : S=1일때 1개 매수, S=2일때 2개 매수, S=3 이상일때는 3개 매수
진입 수량은 매도 매수 각각 최대 N 개로 제한하고 싶습니다.
3)손절1: 매도일때 매도된 5개 총 수익이 마이너스 일때 최고가 대비 10틱이 하락 했을때 수익이
-(진입수량 * U(상수)) 값보다 작으면 청산되는 식을 부탁드립니다.
*예시: 진입수5,
현재가 2000 (매도 5개총수익: -100틱),
현재가 2005 (수익: -150틱), <-- 최대값: 2005
현재가 1995(-10틱하락) (수익: -50틱)
==> -(진입수(5)*U(5))= -25틱 보다 작음
==>손절(진입된 5개 모두 청산)
* 매수는 반대로 해주세요
4)손절2: 진입된 매도 수량이 5개 이상이고 수익이 50틱 이상까지 갔다면
0틱으로 다시 되돌림 하면 손절(진입수량 모두 청산)
* 매수는 반대로 해주세요
5)청산(두가지 부탁드립니다)
1)매도, 매수 포지션일때 진입된 수익 총합이 100틱이상이면 전부청산
2)매도, 배수 포지션일때 진입된 수익 총합이 100틱이상이면 최고수익대비 수익이 20%하락하면 전부 청산
1)조건 예시
7시 30분 현재가: A(기준가)
A+10틱 ==> B=1 (A'=A+10틱 현재가)
A'+10틱 ==> B=2 (A''=A'+10틱 현재가)
A''+10틱 ==> B=3 (A'''=A''+10틱 현재가)
A'''+10틱 ==> B=4 (A''''=A'''+10틱 현재가)
A''''+10틱 ==> B=5 (A'''''=A''''+10틱 현재가)
지속..
A+10틱 ==> B=1 (A'=A+10틱 현재가)
A'+10틱 ==> B=2 (A''=A'+10틱 현재가)
A''-10틱 ==> S=1 (A'''=A''-10틱 현재가)
A'''-10틱 ==> S=2 (A'''=A''-10틱 현재가)
A''''-10틱 ==> S=3 (A''''=A'''-10틱 현재가)
A'''''+10틱 ==> B=1 (A'''''=A''''+10틱 현재가)
감사합니다
다음글
이전글