예스스탁
예스스탁 답변
2022-04-18 14:02:47
안녕하세요
예스스탁입니다.
var : cnt(0),bc(0),bo(0),b(0),ac(0),ao(0),a(0),t(0);
if NextBarSdate != sDate Then
{
if C < DayOpen Then
{
B = -1;
For cnt = 1 to 99
{
if B == -1 and
DayClose(cnt) < DayOpen(cnt) and
DayClose(0) < DayClose(cnt) and DayOpen(0) < DayOpen(cnt) Then
{
bc = DayClose(0);
bo = DayOpen(cnt);
b = (bc+bo)/2;
}
}
}
if C > DayOpen Then
{
A = -1;
For cnt = 1 to 99
{
if A == -1 and
DayClose(cnt) > DayOpen(cnt) and
DayClose(0) > DayClose(cnt) and DayOpen(0) > DayOpen(cnt) Then
{
ac = DayClose(0);
ao = DayOpen(cnt);
a = (ac+ao)/2;
}
}
}
}
if MarketPosition <= 0 and a > 0 and CrossUp(C,a) Then
Buy("b1",OnClose,DEF,1);
if MarketPosition >= 0 and b > 0 and CrossDown(C,b) Then
Sell("s1",OnClose,DEF,1);
if MarketPosition == 1 Then
{
if IsEntryName("b1") == true Then
{
if MaxEntries == 1 and C > DayOpen Then
buy("b2");
if MaxEntries >= 2 Then
buy("b3",AtStop,LatestEntryPrice(0)+PriceScale*200);
if MaxEntries <= 2 Then
Sell("bs",AtStop,LatestEntryPrice(0)-abs(a-DayOpen));
Else
ExitLong("bx",AtStop,AvgEntryPrice);
}
if IsEntryName("sb") == true Then
{
if MaxEntries == 1 Then
Buy("b2.",AtStop,LatestEntryPrice(0)+abs(a-DayOpen),1);
if MaxEntries >= 2 Then
buy("b3.",AtStop,LatestEntryPrice(0)+PriceScale*200);
if MaxEntries <= 2 Then
ExitLong("bx1.",AtStop,LatestEntryPrice(0)-abs(a-DayOpen));
Else
ExitLong("bx2.",AtStop,AvgEntryPrice);
}
}
if MarketPosition == -1 Then
{
if IsEntryName("s1") == true Then
{
if MaxEntries == 1 and C < DayOpen Then
Sell("s2");
if MaxEntries >= 2 Then
Sell("s3",AtStop,LatestEntryPrice(0)-PriceScale*200);
if MaxEntries <= 2 Then
Buy("sb",AtStop,LatestEntryPrice(0)-abs(b-DayOpen));
Else
ExitShort("sx",AtStop,AvgEntryPrice);
}
if IsEntryName("bs") == true Then
{
if MaxEntries == 1 and C < DayOpen Then
Sell("s2.",AtStop,LatestEntryPrice(0)-abs(a-DayOpen),1);
if MaxEntries >= 2 Then
Sell("s3.",AtStop,LatestEntryPrice(0)-PriceScale*200);
if MaxEntries <= 2 Then
ExitShort("sx1.",AtStop,LatestEntryPrice(0)-abs(b-DayOpen));
Else
ExitShort("sx2.",AtStop,AvgEntryPrice);
}
}
즐거운 하루되세요
> 종호 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 작성해 주신 수식의 조건식을 아래와 같이 수정하려고 합니다.
~~~~~~~~~~
조건식 수정:
3분봉에서 기준선A와 기준선B 가 예비선으로 준비되어 있습니다.
매수:
3분봉 종가가
무포지션이나 매도포지션시
기준선A 를 crossup 이 발생하면 매수하는데요
무포이면 1단계로 1계약을 매수하고
매도물량이 있으면 전량 청산하고 1계약 매수합니다.
1단계 매수진행후 손절은 (기준선 A -일봉 시가) 만큼 떨어지면 손절합니다.
1단계 매수후에 일봉종가가 양봉이면 2단계로 1계약 추가 매수합니다.
2단계 손절은 2차 매수 가격대비 (기준선 A -일봉 시가) 만큼 떨어지면 손절합니다.
1단계와 2단계에서 (단 3단계부터의 손절시는 그냥 손절만 하고 반대포지션을 안취합니
다.)
손절시 손절과 동시에 반대포지션 1계약 매도합니다.
그 후 즉 매수손절과 동시에
1단계 반대 매도 포지션후 위의 (기준선 A -일봉 시가) 만큼다시 하락하면
2단계 매도로 1계약 추가 매도합니다.
2단계후 또 다시 200틱 수익이
더 날 때마다 1계약 추가 매도를 계속 진행 합니다.
이 때
1단계 2단계 반대 포지션시 손절은 앞에서와 마찬가지로
매도후 가장 최근의 매도 가격대비 (기준선 A -일봉 시가) 만큼 상승하면 손절합니다.
3단계이상의 반대포지션시 손절은 평균 매도 가격입니다.
매수후
2단계후 또 다시 200틱 수익이
더 날 때마다 1계약 추가 매수를 계속 진행 합니다.
2단계후 3단계부터는 손절선은 평균 매수가격입니다.
매도도 반대 논리로 부탁드립니다.
다만 매도의 기준선은 기준선 B 입니다.
~~~~~~~~~~~~~~~
아래는 원래 수식입니다.
안녕하세요
예스스탁입니다.
파리미딩은 모든진입신호허용으로 설정하고 적용하시면 됩니다.
var : cnt(0),bc(0),bo(0),b(0),ac(0),ao(0),a(0),t(0);
if NextBarSdate != sDate Then
{
if C < DayOpen Then
{
B = -1;
For cnt = 1 to 99
{
if B == -1 and
DayClose(cnt) < DayOpen(cnt) and
DayClose(0) < DayClose(cnt) and DayOpen(0) < DayOpen(cnt) Then
{
bc = DayClose(0);
bo = DayOpen(cnt);
b = (bc+bo)/2;
}
}
}
if C > DayOpen Then
{
A = -1;
For cnt = 1 to 99
{
if A == -1 and
DayClose(cnt) > DayOpen(cnt) and
DayClose(0) > DayClose(cnt) and DayOpen(0) > DayOpen(cnt) Then
{
ac = DayClose(0);
ao = DayOpen(cnt);
a = (ac+ao)/2;
}
}
}
}
if MarketPosition <= 0 and ((a > 0 and CrossUp(C,a)) or (b > 0 and CrossUp(C,b))) Then
Buy("b");
if MarketPosition >= 0 and ((a > 0 and CrossDown(C,a)) or (b > 0 and CrossDown(C,b))) Then
Sell("s");
if MarketPosition == 1 Then
{
buy("bb",AtStop,LatestEntryPrice(0)+PriceScale*200);
if MaxEntries >= 2 Then
ExitLong("bx",AtStop,AvgEntryPrice);
}
if MarketPosition == -1 Then
{
Sell("ss",AtStop,LatestEntryPrice(0)-PriceScale*200);
if MaxEntries >= 2 Then
ExitShort("sx",AtStop,AvgEntryPrice);
}
즐거운 하루되세요
> 종호 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 3분봉에서 기준선A와 기준선B 가 예비선으로 준비되어 있습니다.
3분봉 종가가
기준선 2개 중에 어는 한선이라도 crossup 이 발생하면 매수하는데요
무포지션이면 1계약을 신규 매수하고
매도물량이 있으면 전량 청산하고 1계약 매수합니다.
매수후에 200틱 이익이 나면 1계약 매수하고 또 다시 200틱 수익이
더 날 때마다 1계약 추가 매수를 계속 진행 합니다.
1단계 매수진행은 손절선이 없고 다단계로 매수가 진행될 경우에만 손절가격이
정해지는데 평균 매수 가격이 손절가격이 됩니다.
매도도 반대 논리로 부탁드립니다.