커뮤니티
문의 드립니다.
2013-07-18 10:14:31
147
글번호 65458
수고가 많으십니다.
5분봉으로 선물 시스템 구현중에 있습니다.
제가 생각하고 있는 아래 로직으로 구현이 가능할런지요?
수식 요청드립니다.
먼저, A조건식에 맞는 종가를 기준으로...
신호 방향으로 피라미딩 진입(0.1P 간격으로 총 4개 진입_종가 포함)을 하고자 합니다.
4개 진입 시 자동스탑으로 각각 0.35P 설정되고,
자동스탑으로 설정된 4개는 누계형태로 플러스가 되도록 합니다.
(ex : 피라미딩으로 총 4개가 진입이 되었다면 자동스탑은 마지막 4개 진입가격의
+0.35P 가격에 총 4개가 설정되어야 합니다.)
익절은 첫 진입(A조건 만족하는 가격)에 0.4P 입니다.
끝으로 위의 로직으로 진입 후 손절 or 익절이 된 후,
다시 A 조건에 만족하는 종가(가격)이 다시 오면 위와 같이 똑같이 진행이 되는데,
하루에 4번까지만 진행하도록 합니다.
감사합니다.
답변 2
예스스탁 예스스탁 답변
2013-07-18 14:41:02
안녕하세요
예스스탁입니다.
문의하신 내용 정확히 이해하지 못했습니다.
진입과 청산조건에 대하 좀더 자세한 내용 올려주시기 바랍니다.
혹은 02-3453-1060으로 전화주시기 바랍니다.
즐거운 하루되세요
> choice 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 수고가 많으십니다.
5분봉으로 선물 시스템 구현중에 있습니다.
제가 생각하고 있는 아래 로직으로 구현이 가능할런지요?
수식 요청드립니다.
먼저, A조건식에 맞는 종가를 기준으로...
신호 방향으로 피라미딩 진입(0.1P 간격으로 총 4개 진입_종가 포함)을 하고자 합니다.
4개 진입 시 자동스탑으로 각각 0.35P 설정되고,
자동스탑으로 설정된 4개는 누계형태로 플러스가 되도록 합니다.
(ex : 피라미딩으로 총 4개가 진입이 되었다면 자동스탑은 마지막 4개 진입가격의
+0.35P 가격에 총 4개가 설정되어야 합니다.)
익절은 첫 진입(A조건 만족하는 가격)에 0.4P 입니다.
끝으로 위의 로직으로 진입 후 손절 or 익절이 된 후,
다시 A 조건에 만족하는 종가(가격)이 다시 오면 위와 같이 똑같이 진행이 되는데,
하루에 4번까지만 진행하도록 합니다.
감사합니다.
예스스탁 예스스탁 답변
2013-07-18 17:59:16
안녕하세요
예스스탁입니다.
첫진입을 제외하고 모든 진입청산은 봉미완성시에 가격조건만 만족하면
발생하게 작성했습니다.
수식이 특정상황이 발생한것을 모두 봉완성시에 알게 되어
하나의 봉에 손절과 추가진입이 동시에 발생할수도 있습니다.
해당 부분은 랭귀지 체계상 따로 제어가 가능하지 않습니다
식작성에 참고하시기 바랍니다.
var : 매수조건(false),매도조건(false);
var : cnt(0),Bcnt(0),Scnt(0);
매수조건 = Crossup(c,dayopen+1);
매도조건 = Crossdown(c,dayopen-1);
Bcnt = 0;
Scnt = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) and MarketPosition(cnt) == 1 Then
Bcnt = Bcnt+1;
if sdate == EntryDate(cnt) and MarketPosition(cnt) == -1 Then
Scnt = Scnt+1;
}
if MarketPosition == 0 Then{
if Bcnt == 0 and 매수조건 == true Then{
var1 = C;
buy("b1");
buy("b11",AtStop,var1+0.1);
buy("b12",AtStop,var1+0.2);
buy("b13",AtStop,var1+0.3);
}
if Bcnt > 0 and stime < 150000 Then{
if H < var1 Then{
buy("b2",AtStop,var1);
buy("b21",AtStop,var1+0.1);
buy("b22",AtStop,var1+0.2);
buy("b23",AtStop,var1+0.3);
}
if L > var1 Then
buy("b3",Atlimit,var1);
}
}
if MarketPosition == 1 Then{
if IsEntryName("b1") == true and stime < 150000 Then{
if highest(h,BarsSinceEntry) < var1+0.1 Then
buy("b11.",AtStop,var1+0.1);
if highest(h,BarsSinceEntry) < var1+0.2 Then
buy("b12.",AtStop,var1+0.2);
if highest(h,BarsSinceEntry) < var1+0.3 Then
buy("b13.",AtStop,var1+0.3);
}
if IsEntryName("b2") == true and stime < 150000 Then{
if highest(h,BarsSinceEntry+1) < var1+0.1 Then
buy("b21.",AtStop,var1+0.1);
if highest(h,BarsSinceEntry+1) < var1+0.2 Then
buy("b22.",AtStop,var1+0.2);
if highest(h,BarsSinceEntry+1) < var1+0.3 Then
buy("b23.",AtStop,var1+0.3);
}
if IsEntryName("b3") == true and stime < 150000 Then{
if BarsSinceEntry == 0 Then{
buy("b31",AtStop,var1+0.1);
buy("b32",AtStop,var1+0.2);
buy("b33",AtStop,var1+0.3);
}
if highest(h,BarsSinceEntry) < var1+0.1 Then
buy("b31.",AtStop,var1+0.1);
if highest(h,BarsSinceEntry) < var1+0.2 Then
buy("b32.",AtStop,var1+0.2);
if highest(h,BarsSinceEntry) < var1+0.3 Then
buy("b33.",AtStop,var1+0.3);
}
if CurrentEntries == 1 Then{
exitlong("BL1",AtStop,var1-0.35);
exitlong("BP1",AtLimit,var1+0.40);
}
if CurrentEntries == 2 Then{
exitlong("BL2",AtStop,var1+0.10-0.35);
exitlong("BP2",AtLimit,var1+0.10+0.40);
}
if CurrentEntries == 3 Then{
exitlong("BL3",AtStop,var1+0.20-0.35);
exitlong("BP3",AtLimit,var1+0.20+0.40);
}
if CurrentEntries == 4 Then{
exitlong("BL4",AtStop,var1+0.30-0.35);
exitlong("BP4",AtLimit,var1+0.30+0.40);
}
}
if MarketPosition == 0 Then{
if Scnt == 0 and 매도조건 == true Then{
var2 = C;
sell("s1");
sell("s11",AtStop,var2-0.1);
sell("s12",AtStop,var2-0.2);
sell("s13",AtStop,var2-0.3);
}
if Scnt > 0 and stime < 150000 Then{
if L > var2 Then{
sell("s2",AtStop,var2);
sell("s21",AtStop,var2-0.1);
sell("s22",AtStop,var2-0.2);
sell("s23",AtStop,var2-0.3);
}
if H < var2 Then
sell("s3",Atlimit,var2);
}
}
if MarketPosition == -1 Then{
if IsEntryName("s1") == true and stime < 150000 Then{
if Lowest(L,BarsSinceEntry) > var2-0.1 Then
sell("s11.",AtStop,var2-0.1);
if Lowest(L,BarsSinceEntry) > var2-0.2 Then
sell("s12.",AtStop,var2-0.2);
if Lowest(L,BarsSinceEntry) > var2-0.3 Then
sell("s13.",AtStop,var2-0.3);
}
if IsEntryName("s2") == true and stime < 150000 Then{
if Lowest(L,BarsSinceEntry+1) > var2-0.1 Then
sell("s21.",AtStop,var2-0.1);
if Lowest(L,BarsSinceEntry+1) > var2-0.2 Then
sell("s22.",AtStop,var2-0.2);
if Lowest(L,BarsSinceEntry+1) > var2-0.3 Then
sell("s23.",AtStop,var2-0.3);
}
if IsEntryName("s3") == true and stime < 150000 Then{
if BarsSinceEntry == 0 Then{
sell("s31",AtStop,var2-0.1);
sell("s32",AtStop,var2-0.2);
sell("s33",AtStop,var2-0.3);
}
if Lowest(L,BarsSinceEntry) > var2-0.1 Then
sell("s31.",AtStop,var2-0.1);
if Lowest(L,BarsSinceEntry) > var2-0.2 Then
sell("s32.",AtStop,var2-0.2);
if Lowest(L,BarsSinceEntry) > var2-0.3 Then
sell("s33.",AtStop,var2-0.3);
}
if CurrentEntries == 1 Then{
ExitShort("SL1",AtStop,var2+0.35);
ExitShort("SP1",AtLimit,var2-0.40);
}
if CurrentEntries == 2 Then{
ExitShort("SL2",AtStop,var2-0.10+0.35);
ExitShort("SP2",AtLimit,var2-0.10-0.40);
}
if CurrentEntries == 3 Then{
ExitShort("SL3",AtStop,var2-0.20+0.35);
ExitShort("SP3",AtLimit,var2-0.20-0.40);
}
if CurrentEntries == 4 Then{
ExitShort("SL4",AtStop,var2-0.30+0.35);
ExitShort("SP4",AtLimit,var2-0.30-0.40);
}
}
즐거운 하루되세요
> choice 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 수고가 많으십니다.
5분봉으로 선물 시스템 구현중에 있습니다.
제가 생각하고 있는 아래 로직으로 구현이 가능할런지요?
수식 요청드립니다.
먼저, A조건식에 맞는 종가를 기준으로...
신호 방향으로 피라미딩 진입(0.1P 간격으로 총 4개 진입_종가 포함)을 하고자 합니다.
4개 진입 시 자동스탑으로 각각 0.35P 설정되고,
자동스탑으로 설정된 4개는 누계형태로 플러스가 되도록 합니다.
(ex : 피라미딩으로 총 4개가 진입이 되었다면 자동스탑은 마지막 4개 진입가격의
+0.35P 가격에 총 4개가 설정되어야 합니다.)
익절은 첫 진입(A조건 만족하는 가격)에 0.4P 입니다.
끝으로 위의 로직으로 진입 후 손절 or 익절이 된 후,
다시 A 조건에 만족하는 종가(가격)이 다시 오면 위와 같이 똑같이 진행이 되는데,
하루에 4번까지만 진행하도록 합니다.
감사합니다.
다음글
이전글