예스스탁
예스스탁 답변
2023-04-04 10:20:51
안녕하세요
예스스탁입니다.
수식안에서 원화환산이 가능하지 않습니다.
당일수익을 틱수로 지정하게 작성해 드립니다.
input : P1(10),P2(20),P3(60);
input : StartTime(070000),EndTime(050000);
Input : 당일수익틱수(50);
Var : N1(0),dayPl(0),당일수익(0),Xcond(false);
var : Tcond(false);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
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
{
Tcond = true;
Xcond = false;
N1 = NetProfit;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
당일수익 = PriceScale*당일수익틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 당일수익 Then
Xcond = true;
if IsExitName("dbp",1) == true or
IsExitName("dsp",1) == true then
Xcond = true;
}
var1 = ma(C,P1);
var2 = ma(C,P2);
var3 = ma(C,P3);
if Tcond == true and Xcond == False Then
{
if sTime >= 070000 and sTime < 170000 Then
{
if MarketPosition <= 0 and CrossUp(var1,Var2) Then
Buy("b1");
if MarketPosition >= 0 and CrossDown(var1,Var2) Then
Sell("s1");
}
Else
{
if MarketPosition <= 0 and CrossUp(var1,Var3) Then
Buy("b1.");
if MarketPosition >= 0 and CrossDown(var1,Var3) Then
Sell("s1.");
}
if MarketPosition == 1 Then
{
if MaxEntries == 1 Then
Buy("b2",AtLimit,EntryPrice-PriceScale*40);
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
}
if MarketPosition == -1 Then
{
if MaxEntries == 1 Then
Sell("s2",AtLimit,EntryPrice+PriceScale*40);
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
}
}
즐거운 하루되세요
> 왈라스 님이 쓴 글입니다.
> 제목 : 이평매매수식 부탁드립니다.
> 나스닥거래 합니다.
1.이평은 10,20,60이평 사용
2.시간매매용으로 07부터 17시까지는 10/20 크로스에 한개진입하고 물타기로 +-40틱에서 물타기 한개 하여 전부 신호 청산합니다.
3.17시부터 새벽 05시까지는 10/60이평 으로 크로스 매수매도 진입 1개진입 또한개 물타기 하여 신호 청산합니다.
4. 일중 매매수익이 20만원이 되면 즉시 보유 포지지션을 청산하고 시스템 종료합니다.
수고해 주세요.....