예스스탁
예스스탁 답변
2024-01-05 10:49:51
안녕하세요
예스스탁입니다.
input : Pst(1); // 매수,매도
input : gap(10), pt(20), multi(0.7);
var : vol(0),v1(0),T(0);
value1 = gap/PointValue; //최초 진입간격
value2 = pt/PointValue;
if pst == 1 Then
{
if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then
{
vol = 1;
Buy("b",OnClose,Def,vol);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
v1 = CurrentContracts-CurrentContracts[1];
if MaxEntries == 1 Then
T = value1;
Else
T = T+Round(T*0.5,0);
MessageLog("%.2f",T);
}
vol = Round(v1+v1*multi,0);
Buy("bb",AtLimit,EntryPrice(0)-PriceScale*T,vol);
ExitLong("bp",AtLimit,AvgEntryPrice+PriceScale*Value2);
}
}
즐거운 하루되세요
> 양치기 님이 쓴 글입니다.
> 제목 : 시스템식 부탁드립니다.
> 항상 도움 주셔서 감사합니다.
종목 : 해외선물
차트 : 1분봉
아래 시스템식 수정 부탁드립니다.
제가 요청 드리는 것은
매수 진입 간격이 고정이 아니라
특정 배수 간격으로 진입을 하고 싶습니다.
input : Pst(1); // 매수,매도
input : gap(10), pt(20), multi(0.7);
var : vol(0),v1(0);
value1 = gap/PointValue; //최초 진입간격
value2 = pt/PointValue;
if pst == 1 Then
{
if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then
{
vol = 1;
Buy("b",OnClose,Def,vol);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
v1 = CurrentContracts-CurrentContracts[1];
vol = Round(v1+v1*multi,0);
Buy("bb",AtLimit,EntryPrice(0)-PriceScale*(value1*MaxEntries),vol);
# 진입가격을 value1의 고정간격이 아닌 진입할때마다 0.5배식 증가하고 싶습니다.
예) 10 -> 15 -> 23 -> 35 -> 53 -> 80 -> 120 ...(첨부엑셀 참고 요망)
ExitLong("bp",AtLimit,AvgEntryPrice+PriceScale*Value2);
}
}
#---------------------------------------
NO 최초진입간격 배수 진입간격
#---------------------------------------
1 10 0.5 10
2 15 0.5 15
3 22.5 0.5 23
4 34.5 0.5 35
5 52.5 0.5 53
6 79.5 0.5 80
7 120 0.5 120
8 180 0.5 180
9 270 0.5 270
10 405 0.5 405
11 607.5 0.5 608
12 912 0.5 912
#---------------------------------------
감사합니다.