예스스탁
예스스탁 답변
2024-11-04 15:11:58
안녕하세요
예스스탁입니다.
1번 로직에 atlimit을 사용하셨다는데
atlimit은 buy에서 특정가격이하의 시세 발생시 즉시 매수할 때 사용됩니다.
올리신 수식에는 가격이 적혀있지 않고 def로 처리가 되어 있습니다.
def에 가격을 지정하셔야 합니다.
피라미딩은 모든진입신호허용으로 설정하고 적요하시면 됩니다.
1
INPUT : 금액(100000);
input : 분할매수(1);#1:가능, 0:불가
IF marketposition == 0 && 매수조건==TRUE TheN
Buy("b1",OnClose, Def, 금액/C);
if MarketPosition == 1 Then
{
IF MaxEntries==1 and 분할매수 == 1 TheN
Buy("b2", AtLimit, AvgEntryPrice * 0.99, 금액/C);
IF MaxEntries==2 and 분할매수 == 1 TheN
Buy("b3", AtLimit, AvgEntryPrice * 0.98, 금액/C);
if MaxEntries == 3 Then
Buy("bx", AtStop, AvgEntryPrice * 0.97);
IF 매도조건==TRUE TheN
ExitLong();
}
2
INPUT : 금액(100000);
input : 분할매수(1);#1:가능, 0:불가
IF marketposition == 0 && 매수조건==TRUE TheN
Buy("b1",OnClose, Def, 금액/C);
if MarketPosition == 1 Then
{
IF MaxEntries==1 and 분할매수 == 1 TheN
Buy("b2", AtLimit, AvgEntryPrice * 0.99, 금액/C);
IF MaxEntries==2 and 분할매수 == 1 TheN
Buy("b3", AtLimit, AvgEntryPrice * 0.98, 금액/C);
if CurrentContracts < CurrentContracts[1] Then
{
if LatestExitName(0) == "Bp1" Then
Condition1 = true;
if LatestExitName(0) == "Bp2" Then
Condition2 = true;
if LatestExitName(0) == "Bp3" Then
Condition3 = true;
}
if MaxEntries == 3 Then
{
Buy("bx", AtStop, AvgEntryPrice * 0.97);
if Condition1 == False Then
ExitLong("Bp1",AtLimit,AvgEntryPrice*1.01,"",(MaxContracts*0.3),1);
if Condition2 == False Then
ExitLong("Bp2",AtLimit,AvgEntryPrice*1.02,"",(MaxContracts*0.5),1);
if Condition3 == False Then
ExitLong("Bp3",AtLimit,AvgEntryPrice*1.03);
}
IF 매도조건==TRUE TheN
ExitLong();
}
Else
{
Condition1 = False;
Condition2 = False;
Condition3 = False;
}
즐거운 하루되세요
> SongTong 님이 쓴 글입니다.
> 제목 : 분할매수 수식요청 드립니다.
> 항상 수고가 많으십니다.
아래와 같이 작성을 해봤는데 신호가 조금 이상해서 문의를 드립니다.
1번 로직과 2번 로직을 비교해서 승률과 손익비를 점검하고 있습니다.
<요청내용>
1) 1번 로직의 수식과 2번 로직의 수식을 부탁드립니다.
2) 분할매수를 사용하지않는분을 위해서 분할매수 여부를 선택할수 있게 해주시면 감사하겠습니다.
3) 피라미딩은 모든신호 허용으로 해야되는지요?
4) 봉완성시가 아닌 신호가 나오면 즉시 매수/매도 하도록 부탁드립니다.
5) INPUT : 금액(100000); 금액을 변수로 사용해도 1배수, 2배수등으로 주문이 가능한가요?
---------------------------------------------------------------------------------------------------------
1. 1번 로직
평균매수가에서 -1% 하락시 정해진 배수 또는 금액만큼 추가매수.
평균매수가에서 -2% 하락시 정해진 배수 또는 금액만큼 추가매수.
평균매수가에서 -3% 하락시 전량 청산.
그리고 매도조건이 충족되었을때 일괄청산을 하고자 합니다.
INPUT : 금액(100000);
IF marketposition == 0 && 매수조건==TRUE TheN
Buy("b1", atlimit, Def, 금액/C);
IF marketposition == 1 and close < AvgEntryPrice * 0.99 && MaxEntries==1 TheN
Buy("b2", atlimit, Def, 금액/C);
IF marketposition == 1 and close < AvgEntryPrice * 0.98 && MaxEntries==2 TheN
Buy("b3", atlimit, Def, 금액/C);
IF marketposition == 1 && 매도조건==TRUE TheN
ExitLong();
2. 2번 로직
평균매수가에서 -1% 하락시 정해진 배수 또는 금액만큼 추가매수.
평균매수가에서 -2% 하락시 정해진 배수 또는 금액만큼 추가매수.
평균매수가에서 -3% 하락시 전량 청산.
청산시
평균매수가에서 +1% 시 보유물량에서 30% 청산.
평균매수가에서 +2% 시 남은물량에서 50% 청산.
평균매수가에서 +3% 시 전량 청산.
또는 매도 조건이 충족되었을때는 전량 청산을 하려고 합니다.
항상 감사하게 생각하고 있습니다.
SongTong
2024-11-04 15:26:38
답변 감사드립니다.
INPUT : 금액(100000); 금액을 변수로 사용해도 1배수, 2배수등으로 주문이 가능한가요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 분할매수 수식요청 드립니다.
>
안녕하세요
예스스탁입니다.
1번 로직에 atlimit을 사용하셨다는데
atlimit은 buy에서 특정가격이하의 시세 발생시 즉시 매수할 때 사용됩니다.
올리신 수식에는 가격이 적혀있지 않고 def로 처리가 되어 있습니다.
def에 가격을 지정하셔야 합니다.
피라미딩은 모든진입신호허용으로 설정하고 적요하시면 됩니다.
1
INPUT : 금액(100000);
input : 분할매수(1);#1:가능, 0:불가
IF marketposition == 0 && 매수조건==TRUE TheN
Buy("b1",OnClose, Def, 금액/C);
if MarketPosition == 1 Then
{
IF MaxEntries==1 and 분할매수 == 1 TheN
Buy("b2", AtLimit, AvgEntryPrice * 0.99, 금액/C);
IF MaxEntries==2 and 분할매수 == 1 TheN
Buy("b3", AtLimit, AvgEntryPrice * 0.98, 금액/C);
if MaxEntries == 3 Then
Buy("bx", AtStop, AvgEntryPrice * 0.97);
IF 매도조건==TRUE TheN
ExitLong();
}
2
INPUT : 금액(100000);
input : 분할매수(1);#1:가능, 0:불가
IF marketposition == 0 && 매수조건==TRUE TheN
Buy("b1",OnClose, Def, 금액/C);
if MarketPosition == 1 Then
{
IF MaxEntries==1 and 분할매수 == 1 TheN
Buy("b2", AtLimit, AvgEntryPrice * 0.99, 금액/C);
IF MaxEntries==2 and 분할매수 == 1 TheN
Buy("b3", AtLimit, AvgEntryPrice * 0.98, 금액/C);
if CurrentContracts < CurrentContracts[1] Then
{
if LatestExitName(0) == "Bp1" Then
Condition1 = true;
if LatestExitName(0) == "Bp2" Then
Condition2 = true;
if LatestExitName(0) == "Bp3" Then
Condition3 = true;
}
if MaxEntries == 3 Then
{
Buy("bx", AtStop, AvgEntryPrice * 0.97);
if Condition1 == False Then
ExitLong("Bp1",AtLimit,AvgEntryPrice*1.01,"",(MaxContracts*0.3),1);
if Condition2 == False Then
ExitLong("Bp2",AtLimit,AvgEntryPrice*1.02,"",(MaxContracts*0.5),1);
if Condition3 == False Then
ExitLong("Bp3",AtLimit,AvgEntryPrice*1.03);
}
IF 매도조건==TRUE TheN
ExitLong();
}
Else
{
Condition1 = False;
Condition2 = False;
Condition3 = False;
}
즐거운 하루되세요
> SongTong 님이 쓴 글입니다.
> 제목 : 분할매수 수식요청 드립니다.
> 항상 수고가 많으십니다.
아래와 같이 작성을 해봤는데 신호가 조금 이상해서 문의를 드립니다.
1번 로직과 2번 로직을 비교해서 승률과 손익비를 점검하고 있습니다.
<요청내용>
1) 1번 로직의 수식과 2번 로직의 수식을 부탁드립니다.
2) 분할매수를 사용하지않는분을 위해서 분할매수 여부를 선택할수 있게 해주시면 감사하겠습니다.
3) 피라미딩은 모든신호 허용으로 해야되는지요?
4) 봉완성시가 아닌 신호가 나오면 즉시 매수/매도 하도록 부탁드립니다.
5) INPUT : 금액(100000); 금액을 변수로 사용해도 1배수, 2배수등으로 주문이 가능한가요?
---------------------------------------------------------------------------------------------------------
1. 1번 로직
평균매수가에서 -1% 하락시 정해진 배수 또는 금액만큼 추가매수.
평균매수가에서 -2% 하락시 정해진 배수 또는 금액만큼 추가매수.
평균매수가에서 -3% 하락시 전량 청산.
그리고 매도조건이 충족되었을때 일괄청산을 하고자 합니다.
INPUT : 금액(100000);
IF marketposition == 0 && 매수조건==TRUE TheN
Buy("b1", atlimit, Def, 금액/C);
IF marketposition == 1 and close < AvgEntryPrice * 0.99 && MaxEntries==1 TheN
Buy("b2", atlimit, Def, 금액/C);
IF marketposition == 1 and close < AvgEntryPrice * 0.98 && MaxEntries==2 TheN
Buy("b3", atlimit, Def, 금액/C);
IF marketposition == 1 && 매도조건==TRUE TheN
ExitLong();
2. 2번 로직
평균매수가에서 -1% 하락시 정해진 배수 또는 금액만큼 추가매수.
평균매수가에서 -2% 하락시 정해진 배수 또는 금액만큼 추가매수.
평균매수가에서 -3% 하락시 전량 청산.
청산시
평균매수가에서 +1% 시 보유물량에서 30% 청산.
평균매수가에서 +2% 시 남은물량에서 50% 청산.
평균매수가에서 +3% 시 전량 청산.
또는 매도 조건이 충족되었을때는 전량 청산을 하려고 합니다.
항상 감사하게 생각하고 있습니다.