예스스탁
예스스탁 답변
2022-07-06 14:32:28
안녕하세요
예스스탁입니다.
올리신 내용만으로 저희가 판단하기 어렵습니다.
청산식에 각 %별로 청산하라는 내용은 있습니다
3%청산이 4%청산 이후에 나온다면 if문과 관련이 있습니다.
각 청산에 있는 if문을 점검하셔야 합니다.
최근 진입이 A매수,B매수,C매수일 때만 발생하는 것이 맞다면
condition변수에 값저장하는 내용이 맞는지 확인하셔야 합니다.
올리신 식에는 모두 false만 저장하게 되어 있어
별도 확인이 되지 않습니다.
즐거운 하루되세요
> 맴맴잉 님이 쓴 글입니다.
> 제목 : 매도 청산식 요청드립니다.
> 아래의 식은 예전에 요청드렸던 분할매도청산식인데
수정이 필요한 부분이 있어 요청을 드립니다.
예를 들어 3%,4%,5%,7%,10% 차례대로 분할매도청산 식에서
평단가가 3%가 되었을때 매도를 안하다가 4% 가 되면 4%로 매도되고 주가가 떨어지면서
3%가 매도가 됩니다.
결과론적으로 condition2 가 매도가 되어야 condition1 이 시스템식이 적용됩니다.
확인좀 부탁드리겠습니다. 모가 문제인지..ㅜ.ㅜ
--------------------------------------------------------------------------------
#매수진입
if MarketPosition == 1 Then
{
#전봉대비 수량 감소(일부 청산발생을 위미)
if CurrentContracts < CurrentContracts[1] Then
{
#청산가 저장
var1 = LatestExitPrice(0);
Condition1 = False;
Condition2 = False;
Condition3 = False;
Condition4 = False;
Condition5 = False;
}
#전봉대비 수량 증가(추가 진입발생을 의미)
if CurrentContracts > CurrentContracts[1] Then
{
#현재수량 저장
Var3 = CurrentContracts;
Condition1 = False;
Condition2 = False;
Condition3 = False;
Condition4 = False;
Condition5 = False;
}
#일부청산이 한번이상 발생하고
#현재 시간이 일부청산후 10분 이후이고
#종가가 청산가 보다 작으면
#전량 청산
if var1 > 0 and C < AvgEntryPrice*1.007 then
ExitLong("bx");
#평단가+3%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 40% 청산
if Condition1 == False AND ((LatestEntryName(0) == "A매수") OR (LatestEntryName(0) == "B매수") or (LatestEntryName(0) == "C매수"))Then
ExitLong("3%익절",AtLimit,AvgEntryPrice*1.03,"",Floor(Var3*0.4),1);
#평단가+4%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 30% 청산
if Condition2 == False AND ((LatestEntryName(0) == "A매수") OR (LatestEntryName(0) == "B매수") or (LatestEntryName(0) == "C매수")) Then
ExitLong("4%익절",AtLimit,AvgEntryPrice*1.04,"",Floor(Var3*0.3),1);
#평단가+5%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 10% 청산
if Condition3 == False AND ((LatestEntryName(0) == "A매수") OR (LatestEntryName(0) == "B매수") or (LatestEntryName(0) == "C매수")) Then
ExitLong("5%익절",AtLimit,AvgEntryPrice*1.05,"",Floor(Var3*0.1),1);
#평단가+7%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 10% 청산
if Condition4 == False AND ((LatestEntryName(0) == "A매수") OR (LatestEntryName(0) == "B매수") or (LatestEntryName(0) == "C매수")) Then
ExitLong("7%익절",AtLimit,AvgEntryPrice*1.07,"",Floor(Var3*0.1),1);
#평단가+10%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 전량 청산
ExitLong("10%익절",AtLimit,AvgEntryPrice*1.10);
#평단가+3%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 40% 청산
if Condition1 == False AND ((LatestEntryName(0) == "D매수"))Then
ExitLong("1-D%익절",AtLimit,AvgEntryPrice*1.01,"",Floor(Var3*0.3),1);
#평단가+4%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 30% 청산
if Condition2 == False AND ((LatestEntryName(0) == "D매수")) Then
ExitLong("2-D%익절",AtLimit,AvgEntryPrice*1.02,"",Floor(Var3*0.3),1);
#평단가+5%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 10% 청산
if Condition3 == False AND ((LatestEntryName(0) == "D매수")) Then
ExitLong("3-D%익절",AtLimit,AvgEntryPrice*1.03,"",Floor(Var3*0.3),1);
#평단가+6%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 10% 청산
if Condition4 == False AND ((LatestEntryName(0) == "D매수")) Then
ExitLong("4-D%익절",AtLimit,AvgEntryPrice*1.04,"",Floor(Var3*0.1),1);
#평단가+3%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 40% 청산
if Condition1 == False AND ((LatestEntryName(0) == "E매수"))Then
ExitLong("본절",AtLimit,AvgEntryPrice,"",Floor(Var3*0.6),1);
#평단가+4%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 30% 청산
if Condition2 == False AND ((LatestEntryName(0) == "E매수")) Then
ExitLong("1-E%익절",AtLimit,AvgEntryPrice*1.01,"",Floor(Var3*0.3),1);
#평단가+5%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 10% 청산
if Condition3 == False AND ((LatestEntryName(0) == "E매수")) Then
ExitLong("2-E%익절",AtLimit,AvgEntryPrice*1.02,"",Floor(Var3*0.1),1);
}
Else#매수진입중이 아니면
{
#변수 0으로 초기화
var1 = 0;
Var2 = 0;
}
if MarketPosition == 1 Then
ExitLong("손절",AtStoP,손절);