예스스탁
예스스탁 답변
2023-10-18 15:58:11
안녕하세요
예스스탁입니다.
하나의 진입청산 함수는 한봉에서 한번만 발동됩니다.
장대봉에서 복수개의 진입이 발생하기 위해서는 진입함수가 여러개 있어야 합니다.
각 진입별로 별도 함수로 최대 10회 추가진입까지 작성해 드립니다.
그 이상 지정하시려면 수식 내용 참고하셔서 진입을 늘려주시면 됩니다.
input : 돌파(150),최초수량(1),추가진입수량(1),추가진입포인트(20),최초손절(10),트레일링손절(5);
var : B(0),S(0);
if MarketPosition <= 0 Then
{
if NextBarOpen < min(highest(H,5)+PriceScale*1,lowest(L,2)+돌파) Then
B = min(highest(H,5)+PriceScale*1,lowest(L,2)+돌파);
Else
B = NextBarOpen;
Buy("b1",AtStop,B,최초수량);
Buy("b2.",AtStop,B+추가진입포인트*1,추가진입수량);
Buy("b3.",AtStop,B+추가진입포인트*2,추가진입수량);
Buy("b4.",AtStop,B+추가진입포인트*3,추가진입수량);
Buy("b5.",AtStop,B+추가진입포인트*4,추가진입수량);
Buy("b6.",AtStop,B+추가진입포인트*5,추가진입수량);
Buy("b7.",AtStop,B+추가진입포인트*6,추가진입수량);
Buy("b8.",AtStop,B+추가진입포인트*7,추가진입수량);
Buy("b9.",AtStop,B+추가진입포인트*8,추가진입수량);
Buy("b10.",AtStop,B+추가진입포인트*9,추가진입수량);
}
if MarketPosition == 1 Then
{
if highest(H,BarsSinceEntry) < B+추가진입포인트*1 Then
Buy("b2",AtStop,B+추가진입포인트*1,추가진입수량);
if highest(H,BarsSinceEntry) < B+추가진입포인트*2 Then
Buy("b3",AtStop,B+추가진입포인트*2,추가진입수량);
if highest(H,BarsSinceEntry) < B+추가진입포인트*3 Then
Buy("b4",AtStop,B+추가진입포인트*3,추가진입수량);
if highest(H,BarsSinceEntry) < B+추가진입포인트*4 Then
Buy("b5",AtStop,B+추가진입포인트*4,추가진입수량);
if highest(H,BarsSinceEntry) < B+추가진입포인트*5 Then
Buy("b6",AtStop,B+추가진입포인트*5,추가진입수량);
if highest(H,BarsSinceEntry) < B+추가진입포인트*6 Then
Buy("b7",AtStop,B+추가진입포인트*6,추가진입수량);
if highest(H,BarsSinceEntry) < B+추가진입포인트*7 Then
Buy("b8",AtStop,B+추가진입포인트*7,추가진입수량);
if highest(H,BarsSinceEntry) < B+추가진입포인트*8 Then
Buy("b9",AtStop,B+추가진입포인트*8,추가진입수량);
if highest(H,BarsSinceEntry) < B+추가진입포인트*9 Then
Buy("b10",AtStop,B+추가진입포인트*9,추가진입수량);
if MaxEntries == 1 Then
ExitLong("bx1",AtStop,EntryPrice-최초손절);
Else
ExitLong("bx2",AtStop,LatestEntryPrice(0)-트레일링손절);
}
if MarketPosition >= 0 Then
{
if NextBarOpen > max(lowest(L,5)-PriceScale*1,highest(H,2)-돌파) Then
S = max(lowest(L,5)-PriceScale*1,highest(H,2)-돌파);
Else
S = NextBarOpen;
Sell("s1",AtStop,B,최초수량);
Sell("s2.",AtStop,S-추가진입포인트*1,추가진입수량);
Sell("s3.",AtStop,S-추가진입포인트*2,추가진입수량);
Sell("s4.",AtStop,S-추가진입포인트*3,추가진입수량);
Sell("5s.",AtStop,S-추가진입포인트*4,추가진입수량);
Sell("6s.",AtStop,S-추가진입포인트*5,추가진입수량);
Sell("s7.",AtStop,S-추가진입포인트*6,추가진입수량);
Sell("s8.",AtStop,S-추가진입포인트*7,추가진입수량);
Sell("s9.",AtStop,S-추가진입포인트*8,추가진입수량);
Sell("s10.",AtStop,S-추가진입포인트*9,추가진입수량);
}
if MarketPosition == 1 Then
{
if lowest(L,BarsSinceEntry) >S-추가진입포인트*1 Then
Sell("s2",AtStop,S-추가진입포인트*1,추가진입수량);
if lowest(L,BarsSinceEntry) > S-추가진입포인트*2 Then
Sell("s3",AtStop,S-추가진입포인트*2,추가진입수량);
if lowest(L,BarsSinceEntry) > S-추가진입포인트*3 Then
Sell("s4",AtStop,S-추가진입포인트*3,추가진입수량);
if lowest(L,BarsSinceEntry) > S-추가진입포인트*4 Then
Sell("s5",AtStop,S-추가진입포인트*4,추가진입수량);
if lowest(L,BarsSinceEntry) > S-추가진입포인트*5 Then
Sell("s6",AtStop,S-추가진입포인트*5,추가진입수량);
if lowest(L,BarsSinceEntry) > S-추가진입포인트*6 Then
Sell("s7",AtStop,S-추가진입포인트*6,추가진입수량);
if lowest(L,BarsSinceEntry) > S-추가진입포인트*7 Then
Sell("s8",AtStop,S-추가진입포인트*7,추가진입수량);
if lowest(L,BarsSinceEntry) > S-추가진입포인트*8 Then
Sell("s9",AtStop,S-추가진입포인트*8,추가진입수량);
if lowest(L,BarsSinceEntry) > S-추가진입포인트*9 Then
Sell("s10",AtStop,S-추가진입포인트*9,추가진입수량);
if MaxEntries == 1 Then
ExitShort("sx1",AtStop,EntryPrice+최초손절);
Else
ExitShort("sx2",AtStop,LatestEntryPrice(0)+트레일링손절);
}
즐거운 하루되세요
> 에구머니 님이 쓴 글입니다.
> 제목 : 수식 문의
> 안녕하세요?
수식 문의 부탁드립니다.
감사합니다.