안녕하세요
어제 매수조건과 로스컷 요청사항을 잘 반영해 주셔서 감사합니다
1. 매도조건의 상세설명이 부족한 탓에 오늘 상세한 설명과 함께 매도조건 수정 재문의 드립니다
매도조건 : sum값이 '-2' -> '-2' 매도
예) '-2' -> '-2' -> 진입과 청산 -> 매매정지 -> '-2'인 봉에서 재진입
예과 같이 '-2'가 연속 두번 나오면 진입하도록 수정 부탁드립니다
2. 아래와 같은 일일손실한도 수식이 잘 작동하지 않습니다
if bdate != bdate[1] Then
var1 = NetProfit[1];
누적수익 = NetProfit-var1+PositionProfit;
if (sTime > starttime or sTime < Endtime) and marketposition == 0 and 누적수익 > -일일손실한도 Then
{
매매식
}
부탁드립니다
감사합니다
if bdate != bdate[1] Then
var1 = NetProfit[1];
누적수익 = NetProfit-var1+PositionProfit;
if (sTime > starttime or sTime < Endtime) and marketposition == 0 and 누적수익 > -일일손실한도 Then
{
----
input : N(4),손절(0),StartTime(070000),EndTime(070000),매매정지(20),lb(0),lp(2),sb(-2),sp(-2);
var : LL(0),HH(0),cnt(0),sum(0),CL(0),CS(0),Lss(0),B(False),S(False);
Array : VV[20](0);
var : Tcond(false),S1(0),D1(0),TM(0),b_vv(0),Condition4(False),최고점(0),최저점(0),remember_vv(0),누적수익(0);
Condition1 = L[4]>L[3] and L[3] >L[2] and H>H[1] and H[1]>H[2];
Condition2 = H[4]<H[3] and H[3]<H[2] and L<L[1] and L[1]<L[2];
if ( ( var2 == 0 and C > CS and vv[0] == -1 ) or LL == 0 or C > CL ) and condition1 == true and Condition1[1] == False Then
{
var1 = var1+1;
LL = L[2];
CL = C;
VV[0] = 1;
For cnt = 1 to 19
{
VV[cnt] = VV[cnt-1][1];
}
if VV[N-1] != 0 Then
{
sum = 0;
For cnt = 0 to N-1
{
sum = sum + VV[cnt];
}
}
}
else
{
if L < LL Then
{
var1 = 0;
}
}
if (( var1 == 0 and C < CL and vv[0] ==1) or hh == 0 or C < CS) and condition2 == true and Condition2[1] == False Then
{
var2 = var2+1;
HH = H[2];
CS = C;
VV[0] = -1;
For cnt = 1 to 19
{
VV[cnt] = VV[cnt-1][1];
}
if VV[N-1] != 0 Then
{
sum = 0;
For cnt = 0 to N-1
{
sum = sum + VV[cnt];
}
}
}
Else
{
if H > HH Then
{
var2 = 0;
}
}
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
Condition4 = False;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
}
if TotalTrades > TotalTrades[1] Then
{
Condition4 = False;
if PositionProfit(1) < 0 Then
Lss = Lss+1;
Else
Lss = 0;
if lss == 3 Then
{
Condition4 = true;
Lss = 0;
}
}
if remember_vv != vv[0] Then
{
B = true;
remember_vv = 0;
}
if (sTime > starttime or sTime < Endtime) and marketposition == 0 Then
{
if vv[1] != vv[2] and vv[0] == 1 and vv[1] == 1 Then
{
if B == true and condition4 == False Then
{
Buy("b");
B = False;
remember_vv = vv[0];
}
if B == true and condition4 == true and TM >= TM[BarsSinceExit(1)]+매매정지 Then
{
Buy("b1");
B = False;
remember_vv = vv[0];
}
}
if vv[1] != vv[2] and vv[0] == -1 and vv[1] == -1 Then
{
if b == true and condition4 == False Then
{
Sell("s");
S = False;
remember_vv = vv[0];
}
if b == true and condition4 == true and TM >= TM[BarsSinceExit(1)]+매매정지 Then
{
Sell("s1");
S = False;
remember_vv = vv[0];
}
}
}
if MarketPosition(0) > 0 and sum == 0 and vv[0] == -1 Then
{
ExitLong("xl");
b = false;
}
if MarketPosition(0) < 0 and sum == 0 and vv[0] == 1 Then
{
ExitShort("xs");
b = false;
}
#타겟청산
SetStopLoss( 손절 ,PointStop);
답변 1
예스스탁
예스스탁 답변
2021-04-27 14:40:46
> 산이보리 님이 쓴 글입니다.
> 제목 : 수식수정부탁드립니다
> 안녕하세요
어제 매수조건과 로스컷 요청사항을 잘 반영해 주셔서 감사합니다
1. 매도조건의 상세설명이 부족한 탓에 오늘 상세한 설명과 함께 매도조건 수정 재문의 드립니다
매도조건 : sum값이 '-2' -> '-2' 매도
예) '-2' -> '-2' -> 진입과 청산 -> 매매정지 -> '-2'인 봉에서 재진입
예과 같이 '-2'가 연속 두번 나오면 진입하도록 수정 부탁드립니다
2. 아래와 같은 일일손실한도 수식이 잘 작동하지 않습니다
if bdate != bdate[1] Then
var1 = NetProfit[1];
누적수익 = NetProfit-var1+PositionProfit;
if (sTime > starttime or sTime < Endtime) and marketposition == 0 and 누적수익 > -일일손실한도 Then
{
매매식
}
부탁드립니다
감사합니다
if bdate != bdate[1] Then
var1 = NetProfit[1];
누적수익 = NetProfit-var1+PositionProfit;
if (sTime > starttime or sTime < Endtime) and marketposition == 0 and 누적수익 > -일일손실한도 Then
{
----
input : N(4),손절(0),StartTime(070000),EndTime(070000),매매정지(20),lb(0),lp(2),sb(-2),sp(-2);
var : LL(0),HH(0),cnt(0),sum(0),CL(0),CS(0),Lss(0),B(False),S(False);
Array : VV[20](0);
var : Tcond(false),S1(0),D1(0),TM(0),b_vv(0),Condition4(False),최고점(0),최저점(0),remember_vv(0),누적수익(0);
Condition1 = L[4]>L[3] and L[3] >L[2] and H>H[1] and H[1]>H[2];
Condition2 = H[4]<H[3] and H[3]<H[2] and L<L[1] and L[1]<L[2];
if ( ( var2 == 0 and C > CS and vv[0] == -1 ) or LL == 0 or C > CL ) and condition1 == true and Condition1[1] == False Then
{
var1 = var1+1;
LL = L[2];
CL = C;
VV[0] = 1;
For cnt = 1 to 19
{
VV[cnt] = VV[cnt-1][1];
}
if VV[N-1] != 0 Then
{
sum = 0;
For cnt = 0 to N-1
{
sum = sum + VV[cnt];
}
}
}
else
{
if L < LL Then
{
var1 = 0;
}
}
if (( var1 == 0 and C < CL and vv[0] ==1) or hh == 0 or C < CS) and condition2 == true and Condition2[1] == False Then
{
var2 = var2+1;
HH = H[2];
CS = C;
VV[0] = -1;
For cnt = 1 to 19
{
VV[cnt] = VV[cnt-1][1];
}
if VV[N-1] != 0 Then
{
sum = 0;
For cnt = 0 to N-1
{
sum = sum + VV[cnt];
}
}
}
Else
{
if H > HH Then
{
var2 = 0;
}
}
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
Condition4 = False;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
}
if TotalTrades > TotalTrades[1] Then
{
Condition4 = False;
if PositionProfit(1) < 0 Then
Lss = Lss+1;
Else
Lss = 0;
if lss == 3 Then
{
Condition4 = true;
Lss = 0;
}
}
if remember_vv != vv[0] Then
{
B = true;
remember_vv = 0;
}
if (sTime > starttime or sTime < Endtime) and marketposition == 0 Then
{
if vv[1] != vv[2] and vv[0] == 1 and vv[1] == 1 Then
{
if B == true and condition4 == False Then
{
Buy("b");
B = False;
remember_vv = vv[0];
}
if B == true and condition4 == true and TM >= TM[BarsSinceExit(1)]+매매정지 Then
{
Buy("b1");
B = False;
remember_vv = vv[0];
}
}
if vv[1] != vv[2] and vv[0] == -1 and vv[1] == -1 Then
{
if b == true and condition4 == False Then
{
Sell("s");
S = False;
remember_vv = vv[0];
}
if b == true and condition4 == true and TM >= TM[BarsSinceExit(1)]+매매정지 Then
{
Sell("s1");
S = False;
remember_vv = vv[0];
}
}
}
if MarketPosition(0) > 0 and sum == 0 and vv[0] == -1 Then
{
ExitLong("xl");
b = false;
}
if MarketPosition(0) < 0 and sum == 0 and vv[0] == 1 Then
{
ExitShort("xs");
b = false;
}
#타겟청산
SetStopLoss( 손절 ,PointStop);