예스스탁
예스스탁 답변
2020-12-28 15:07:36
안녕하세요
예스스탁입니다.
1
input : P1(5),P2(20),익절틱(20),손절틱(20);
input : 최소수익틱1(30),수익감소틱1(15);
input : 최소수익틱2(50),수익감소틱2(25);
var : HH(0),LL(0);
var1 = ma(C,P1);
Var2 = ma(C,P2);
if CrossUp(var1,Var2) Then
Buy("b",OnClose,DEF,2);
if CrossDown(var1,Var2) Then
Sell("s",OnClose,DEF,2);
if MarketPosition == 1 Then
{
ExitLong("Bp",AtLimit,EntryPrice+PriceScale*익절틱,"",1,1);
ExitLong("Bl",AtLimit,EntryPrice-PriceScale*손절틱,"",1,1);
hh = Highest(H,BarsSinceEntry);
if hh >= EntryPrice+PriceScale*최소수익틱1 and hh < EntryPrice+PriceScale*최소수익틱2 Then
ExitLong("bx1",AtStop,hh-PriceScale*수익감소틱1);
if hh >= EntryPrice+PriceScale*50 Then
ExitLong("bx2",AtStop,hh-PriceScale*수익감소틱2);
}
if MarketPosition == -1 Then
{
ExitShort("Sp",AtLimit,EntryPrice-PriceScale*익절틱,"",1,1);
ExitShort("Sl",AtLimit,EntryPrice+PriceScale*손절틱,"",1,1);
ll = lowest(l,BarsSinceEntry);
if ll <= EntryPrice-PriceScale*최소수익틱1 and ll > EntryPrice-PriceScale*최소수익틱2 Then
ExitShort("sx1",AtStop,ll+PriceScale*수익감소틱1);
if ll <= EntryPrice-PriceScale*50 Then
ExitShort("sx2",AtStop,ll+PriceScale*수익감소틱2);
}
2
진입후 n봉뒤이면 아래와 같이 작성하셔야 합니다.
// 진입후 몇봉(N2)뒤 조건을 만족하면 바로 올청
var : N(3);
if MarketPosition == 1 and BarsSinceEntry >= n and Var1 < var2 and Value1 < Value1[1] Then
ExitLong("매수올청");
if MarketPosition == -1 and BarsSinceEntry >= n and Var1 > var2 and Value1 > Value1[1] Then
ExitShort("매도올청");
진입후 n봉뒤 var1과 var2가 연속으로 n봉 만족해야 하면 아래와 같습니다.
// 진입후 몇봉(N2)뒤 조건을 만족하면 바로 올청
var : N(3);
if MarketPosition == 1 and BarsSinceEntry >= n and CountIf(Var1 < var2,N) == N and Value1 < Value1[1] Then
ExitLong("매수올청");
if MarketPosition == -1 and BarsSinceEntry >= n and CountIf(Var1 > var2,N) == Nand Value1 > Value1[1] Then
ExitShort("매도올청");
즐거운 하루되세요
> 카르마다 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 1. 5/20 이평선 골든 또는 데드클로스시 2계약 선물매수 또는 매도 진입후
1개는 빠른 분할익절 또는 손절을 하는데
이후 남은 1계약은
트레일링스탑으로 매수/매도 진입후 30틱 수익후 15틱 밀리면 익절청산으로 하되
30틱 수익후 15틱 밀리지않고 계속 상승하여 50틱 이상 수익이 나면 그뒤부터는
25틱이 밀리면 익절청산하고 싶습니다.
2. 선물매매에서 2계약 진입후 N봉뒤에 var1와 var2의 상하 위치에 따라
전량 청산을 하고 싶습니다.
즉 var1이 var2보다 N봉뒤에 아래에 가있고
Value1 < Value1[1]이면 전량 청산하라. 반대도 마찬가지인
수식을 만들고 싶어 아래처럼 만들었더니
Value1 < Value1[1]만 적용되어 올청되어 버립니다.
한번 봐주시면 감사하겠습니다.
// 진입후 몇봉(N2)뒤 조건을 만족하면 바로 올청
var : N(3);
if CountIf(Var1 < var2,N) == N and
Value1 < Value1[1] Then
ExitLong("매수올청" ,AtStop ,def);
if CountIf(Var1 > var2,N) == N and
Value1 > Value1[1] Then
ExitShort("매도올청" ,AtStop ,def);
늘 노고에 감사드립니다.
그리고 새해 복많이 받으시기 바랍니다!