예스스탁
예스스탁 답변
2020-02-18 11:22:57
안녕하세요
예스스탁입니다.
매수1번,매수2번, 매도1번,매도2번을 알수 없습니다.
아래 if문에 조건 지정해 추가하시면 됩니다.
피라미딩은 다른진입신호만 허용으로 설정하고 적용하시면 됩니다.
input : P1(5),P2(20),P3(10),P4(45);
var : Bcond1(false),BP1(0),Bcond2(false),BP2(0);
var : Scond1(false),SP1(0),Scond2(false),SP2(0);
#매수1번 매수포지션이 아닐때만 진입
if MarketPosition != 1 and
매수1번 Then
buy("b1",OnClose,def,1);
#매수2번은 매수포지션이 아닐때나
#매수포지션이면 매수1번으로 진입후 1번만 진입
if (MarketPosition != 1 or
(MarketPosition == 1 and MaxEntries == 1 and IsEntryName("b1",0) == true)) and
매수2번 Then
buy("b2",OnClose,def,1);
#매도1번 매도포지션이 아닐때만 진입
if MarketPosition != -1 and
매도1번 Then
sell("s1",OnClose,def,1);
#매도2번은 매도포지션이 아닐때나
#매도포지션이면 매도1번으로 진입후 1번만 진입
if (MarketPosition <= 0 or
(MarketPosition == 1 and MaxEntries == 1 and IsEntryName("s1",0) == true)) and
매도2번 Then
sell("s2",OnClose,def,2);
if MarketPosition == 1 then
{
if LatestEntryName(0) == "b1" Then
{
BCond1 = true;
BP1 = LatestEntryPrice(0);
}
if LatestEntryName(0) == "b2" Then
{
BCond2 = true;
BP2 = LatestEntryPrice(0);
}
if BCond1 == true Then
ExitLong("bp1",atlimit,BP1+1,"b1");
if BCond2 == true Then
ExitLong("bp2",atlimit,BP2+0.5,"b2");
}
Else
{
BCond1 = false;
BCond2 = false;
}
if MarketPosition == 1 then
{
if LatestEntryName(0) == "s1" Then
{
SCond1 = true;
SP1 = LatestEntryPrice(0);
}
if LatestEntryName(0) == "s2" Then
{
SCond2 = true;
SP2 = LatestEntryPrice(0);
}
if SCond1 == true Then
ExitShort("sp1",atlimit,SP1+1,"s1");
if SCond2 == true Then
ExitShort("sp2",atlimit,SP2+0.5,"s2");
}
Else
{
SCond1 = false;
SCond2 = false;
}
SetStopLoss(1,PointStop);
즐거운 하루되세요
> 일프로 님이 쓴 글입니다.
> 제목 : 수식문의드립니다.
> 한달동안 혼자 힘으로 해보려고 노력하다가 문의드리고자합니다.
기본신호는 매수의 경우 5이평이,20이평을 상향돌파하면 매수
매도는 10이평이 45이평을 하향돌파하면 매도 입니다.
2계약을 운영하고자 하는데요.
매수1번: 1포인트를 익절
매수2번:0.5포인트 익절
매수1번은 매수포지션이 아닌경우 진입하고
매수2번은 매수포지션이 아닌경우나 매수1번이 가동중일때 반복으로
진입합니다.
매도신호조건발생시 매도신호로 스위칭합니다.
매도의 경우도
매도1번:1포인트 익절
매도2번:0.5포인트 익절
매수신호발생시 매수로스위칭합니다.
또한 각포지션의 손절을 1포인트로 합니다.
진입수식은 어떻게 해볼수 있는데
청산,손절등에서 어려움이 있어 문의드립니다.
미리 감사드리며 검토부탁드리겠습니다.