답변완료
문의 드립니다
input : StartTime(190000),EndTime(50000);
input : 익절틱수(00),손절틱수(50);
var : Tcond(False),entry(0);
Variables: Mom(0);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
}
if Tcond == true Then
{
if L ==lowest(L,3) and highest(H,3) >= lowest(L,3)+PriceScale*30 Then
{
Buy("b",AtStop,(highest(H,3)+lowest(L,3))/3);
}
if MarketPosition == 1 and BarsSinceEntry == 5 Then
ExitLong();
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
손절가에서 -3틱일때 반대 포지션으로 진입하는 수식어를 포함 하고자 합니다.
청산은 매수청산 신호 입니다.
매도후 청산식도 별도로 부탁드립니다.
2023-09-13
672
글번호 172411
시스템
답변완료
종목검색 부탁드립니다.
안녕하세요. 비슷한 수식 두개 변환 부탁드립니다.
1.
T = Ttsf(C,T기간);
LL=Lowest(L(1),기간);
HH=Highest(H(1),기간);
NH=valuewhen(1,H>HH(1),H);
고상 = Valuewhen(1,barsSince(H>HH(1))==(기간 - k), NH);
저상 = Valuewhen(1,BarsSince(L<LL(1))==(기간 - K),HH);
조건 = 고상==저상;
동일점 = Valuewhen(1, 조건, 저상);
CrossUp(T, 동일점)
T기간 50
기간 5
k 3
2.
M112 = eavg(C,112);
M224 = eavg(C,224);
M448 = eavg(C,448);
LL=Lowest(L(1),기간);
HH=Highest(H(1),기간);
NH=valuewhen(1,H>HH(1),H);
고상 = Valuewhen(1,barsSince(H>HH(1))==(기간 - k), NH);
저상 = Valuewhen(1,BarsSince(L<LL(1))==(기간 - K),HH);
조건 = 고상==저상;
동일점 = Valuewhen(1, 조건, 저상);
(동일점 >O && 동일점 < C &&
M112 > O && M112 < C)
or
(동일점 >O && 동일점 < C &&
M224 > O && M224 < C)
기간 5
k 3
항상 감사드립니다. 번거롭더라도 부탁드립니다. ^^
2023-09-13
1355
글번호 172407
검색
답변완료
진입한 수량에서 첫번째 목표가 일부청산 후 두번째 목표가에서 나머지 청산하는 수식
항상 도움에 감사드립니다.
첨부한 이미지처럼 상단, 하단선을 왔다갔다 터치하는 횟수를
세다가
왔다갔다 5번 이상 되면 진입하는 수식을
아래와 같이 작성했는데요
5번 터치 후 상단을 돌파하면 매수 진입(손절은 하단위치)
5번 터치 후 하단을 이탈하면 매도 진입이고요(손절은 상단위치)
손절시 마다 재진입시 누적손실 반영해서 진입 수량을 늘려가는 방식입니다
--------------------------------------------------------
input : ntime(100000), xtime(230000);
input : tick_size(10);
input : line_num(5); //줄을 몇개 그을 것인지
input : num(8); // 몇번 터치하면 진입하는지.
var : Tcond(False), oo(0), k(0), PriceScale_tick_size(0);
var : 상단(0),하단(0),n1(0),daypl(0),vol(0),xcond(False); // 추가된 변수들
var : T(0);
if (sdate != sdate[1] and stime >= ntime) or
(sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then
{
T = 0;
n1 = NetProfit;
xcond = False;
}
if TotalTrades > TotalTrades[1] and (IsExitName("Bp",1) or IsExitName("sp",1)) Then
xcond = true;
if Tcond == true and xcond == False Then
{
if T == 0 Then
{
For k = 1 to line_num
{
if u_u_cnt[k] >= num or u_cnt[k] >= 5 Then
{
T = k;
상단 = u_u_line[k];
하단 = u_line[k];
}
if b_b_cnt[k] >= num or b_cnt[k] >= 5 Then
{
T = k;
상단 = b_line[k];
하단 = b_b_line[k];
}
}
}
if T != 0 Then
{
dayPL = (NetProfit-n1)+PositionProfit(0);
if daypl >= 0 Then
vol = 1;
Else
vol = max(Ceiling(abs(daypl)/((상단-하단)*4)),1);
if MarketPosition <= 0 and CrossUp(C,상단) Then
Buy("b1",AtMarket,Def,vol);
if MarketPosition >= 0 and CrossDown(C,하단) Then
Sell("s1",AtMarket,Def,vol);
if MarketPosition == 1 Then
{
ExitLong("Bp",AtLimit,상단+(상단-하단)*4);
}
if MarketPosition == -1 Then
ExitShort("sp",AtLimit,하단-(상단-하단)*4);
}
}
-------------------------------------------------------------------
위는 목표가격에 한번 도달하면 거래가 종료 되는데요
아래와 같이 보완, 수정하고 싶습니다.
1. 목표가격 청산을 두번으로 나눠서
2. 첫번째 목표가는 (상단-하단)x4 위치이고, 청산수량은 현재 보유한 수량의 1/2 입니다
3. 두번째 목표가는 (상단-하단)x10 위치이고, 남은 물량 전체 청산하고 거래종료.
4. 만약 첫번째 목표가에서 일부 청산 후
5. 두번째 목표가까지 도달하기 전에
6. 상단이나 하단 가격으로 가격이 되돌아간다면
7. 누적손실 반영해서 수량 늘려 재진입하는 방식 그대로 다시 재진입하고
8. 다시 첫번째 목표가 오면 1/2 청산,
9. 두번째 목표가가 오면 전량 청산하고 거래종료.
위의 과정대로 거래하는 수식을 작성하고 싶습니다
도움 부탁드립니다
2023-09-12
890
글번호 172406
시스템
답변완료
문의합니다.
항상 빠른 대응 감사합니다.
아래 수식을 시스템식으로 가능하면 부탁합니다.
A=OBV();
B=eavg(OBV(),9);
A1=sum(V*((Pow((C-L),2)-Pow((H-C),2))
/(H-L)));
A2=ADX(11);
A3=100*eavg(C,10)/eavg(C(20),10);
A4=100*eavg(eavg(c,10)/eavg(c(20),10),9);
2023-09-12
1017
글번호 172405
시스템