StopLoss 2개 사용이 되도록 작성 부탁 드립니다.
(따로 1개씩 사용시 1번은 잘 실행 되나 2번은 실행되지 않습니다.)
1. SetStopLoss(5): (5000 < C and C < 10000)즉 종가가 5,000원초과 10,000원미만 일때
진입 가격의 5% 하락시 SetStopLoss 실행.
2. SetStopLoss(10 * TickSize * CurrentContracts, pointstop); 종가가 1,000원초과
5,000원미만 일때 진입 가격의 10틱하락시 SetStopLoss 실행.
input : starttime(90500),endtime(120000),XTime(123000);
var : Tcond(false);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
Input : Period(12), Period1(5);
Var : value(0),TickSize(0);
value = StochasticsK(Period,Period1);
# 매수/매도청산
If CrossUP(value, 20) Then
{
Buy("Buy");
}
# 매도/매수청산
If CrossDown(value, 80) Then
{
ExitLong("Sell");
}
SetStopLoss(5);
SetStopLoss(10 * TickSize * CurrentContracts, pointstop);
SetStopEndofday(XTime);
답변 1
예스스탁
예스스탁 답변
2024-09-20 11:46:32
안녕하세요
예스스탁입니다.
강제청산 함수는 동시에 2개가 설정되지 않습니다.
일반청산함수로 처리하셔야 합니다.
input : starttime(90500),endtime(120000),XTime(123000);
var : Tcond(false);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
Input : Period(12), Period1(5);
Var : value(0),TickSize(0);
value = StochasticsK(Period,Period1);
# 매수/매도청산
If CrossUP(value, 20) Then
{
Buy("Buy");
}
# 매도/매수청산
If CrossDown(value, 80) Then
{
ExitLong("Sell");
}
if MarketPosition == 1 Then
{
if 5000 < C and C < 10000 Then
ExitLong("bx1",AtStop,EntryPrice*0.95);
if 1000 < C and C < 5000 Then
ExitLong("bx2",AtStop,EntryPrice - (10 * PriceScale * CurrentContracts));
}
SetStopEndofday(XTime);
즐거운 하루되세요
> 뎅이요 님이 쓴 글입니다.
> 제목 : 수식 확인 부탁 드립니다
> StopLoss 2개 사용이 되도록 작성 부탁 드립니다.
(따로 1개씩 사용시 1번은 잘 실행 되나 2번은 실행되지 않습니다.)
1. SetStopLoss(5): (5000 < C and C < 10000)즉 종가가 5,000원초과 10,000원미만 일때
진입 가격의 5% 하락시 SetStopLoss 실행.
2. SetStopLoss(10 * TickSize * CurrentContracts, pointstop); 종가가 1,000원초과
5,000원미만 일때 진입 가격의 10틱하락시 SetStopLoss 실행.
input : starttime(90500),endtime(120000),XTime(123000);
var : Tcond(false);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
Input : Period(12), Period1(5);
Var : value(0),TickSize(0);
value = StochasticsK(Period,Period1);
# 매수/매도청산
If CrossUP(value, 20) Then
{
Buy("Buy");
}
# 매도/매수청산
If CrossDown(value, 80) Then
{
ExitLong("Sell");
}
SetStopLoss(5);
SetStopLoss(10 * TickSize * CurrentContracts, pointstop);
SetStopEndofday(XTime);