예스스탁
예스스탁 답변
2021-06-04 11:31:17
안녕하세요
예스스탁입니다.
input : StartTime(90000),EndTime(060000),수익틱수(30),수익횟수(4),RSIP(14);
var : Tcond(false),PL(0),수익(0),X(0),RSIV(0);
RSIV = RSI(RSIP);
수익 = PriceScale*수익틱수;
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
SetStopEndofday(0);
Tcond = true;
X = 0;
}
if TotalTrades > TotalTrades[1] and
(IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) Then
{
X = X+1;
}
if Tcond == true and X < 수익횟수 Then
{
if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then
{
if CrossUp(RSIV,50) Then
{
Buy("b");
PL = 0;
}
if CrossDown(RSIV,50) Then
{
Sell("s");
PL = 0;
}
}
if MarketPosition[1] != 0 and MarketPosition != MarketPosition[1] Then
PL = PL + PositionProfit(1);
if MarketPosition == 1 Then
{
if C < O[BarsSinceEntry] Then
{
Sell("sb",OnClose,DEf,CurrentContracts+1);
}
ExitLong("dbp",atlimit,EntryPrice+((수익-pl)/CurrentContracts));
}
if MarketPosition == -1 Then
{
if C > O[BarsSinceEntry] Then
{
Buy("bs",OnClose,DEf,CurrentContracts+1);
}
ExitShort("dsp",atlimit,EntryPrice-((수익-pl)/CurrentContracts));
}
}
즐거운 하루되세요
> 아침 님이 쓴 글입니다.
> 제목 : 재문의 드립니다.
>
안녕하세요
예스스탁입니다.
input : StartTime(90000),EndTime(060000),수익틱수(30),수익횟수(4);
var : Tcond(false),PL(0),수익(0),X(0);
수익 = PriceScale*수익틱수;
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
SetStopEndofday(0);
Tcond = true;
X = 0;
}
if TotalTrades > TotalTrades[1] and
(IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) Then
{
X = X+1;
}
if Tcond == true and X < 수익횟수 Then
{
if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then
{
if C > C[1] Then
{
Buy("b");
PL = 0;
}
if C < C[1] Then
{
Sell("s");
PL = 0;
}
}
if MarketPosition[1] != 0 and MarketPosition != MarketPosition[1] Then
PL = PL + PositionProfit(1);
if MarketPosition == 1 Then
{
if C < O[BarsSinceEntry] Then
{
Sell("sb",OnClose,DEf,CurrentContracts+1);
}
ExitLong("dbp",atlimit,EntryPrice+((수익-pl)/CurrentContracts));
}
if MarketPosition == -1 Then
{
if C > O[BarsSinceEntry] Then
{
Buy("bs",OnClose,DEf,CurrentContracts+1);
}
ExitShort("dsp",atlimit,EntryPrice-((수익-pl)/CurrentContracts));
}
}
즐거운 하루되세요
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re :전화 주시기 바랍니다.(02-3453-1060)
>
> 아침한때비51 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 처음 진입조건만,
전 캔들 시가보다 높으면 매수.낮으면 매도.(처음 둘 중에 하나,출현되는것 진입)
매수든 매도든 처음 진입되고 나서 부터는 진입된 그 캔들의 시가의 반응하는 겁니다.
(만약,먼저 매수가 되었다면 진입된 그 캔들의 시가보다 낮으면 매도.입니다.다시 매도 진입된
그 캔들의 시가보다 높으면 매수.이런식으로 진입조건이 형성되면서 이어지는겁니다.)
(쓰다보니 저도 좀 헷갈려서 일일이 자세하게 적는거니 이해해 주시기 바랍니다.)
진입할 때 마다 1개씩 수량 늘리기..
마이너스 합한거(마이너스났을때수수료도 포함) 보다 수익이 30틱 많으면 수익청산.
수익청산 한 그 다음 봉 부터 다시 처음 진입조건 시작.(수량도 처음 1개부터 시작)
이렇게 수익청산을 4회 달성되면 시간과 관계없이 시스템완전종료.
시스템 시작시간 오전 9시부터 다음날 오전 4시30분 까지..시스템완전종료.
부탁드리겠습니다. 수고하세요.
위에 내용은 전에 제가 올렸던 건데요.
여기에서 다른건 다 똑같구요. 매수진입하고 매도진입을 다른 진입조건으로 변경만 하면 되거든요.
그러니까 매수는 rsi 50상향돌파 매수.50하향돌파 매도. 이부분만 변경해주셨으면 합니다.
그럼 수고하세요.