예스스탁
예스스탁 답변
2023-03-13 14:57:57
안녕하세요
예스스탁입니다.
buy함수에 수량이 지정되지 않았습니다.
수식에서 수량을 계산하므로 buy함수안에 수량을 지정하셔야 합니다.
수량이 소숫점 자리가 필요없으므로 소숫점 자리는 빼고 정수만 지정하시면 됩니다.
input : 원금(1500000),시작일(20230101),시작시간(90000);
Input: shortperiod(12), longperiod(26), sig(6);
input : short(40),long(80);
var: signal(0), value(0);
var : Tcond(False),수량(0) ;
value1 = macd(shortperiod, longperiod);
value2 = macd(short,long);
Signal = Ema(value1, sig);
if sDate == 시작일 and sTime >= 시작시간 Then
Tcond = true;
수량 = Floor((원금+NetProfit)/NextBarOpen);
# 매수/매도청산
If CrossUP(value1, 0) Then
{
Buy("b1",AtMarket,Def,수량);
}
If value1 > 0 and CrossUp(value1, signal) Then
{
Buy("b2",AtMarket,Def,수량);
}
If value1 > 0 and value2 > 0 Then
{
Buy("b3",AtMarket,Def,수량);
}
# 매도/매수청산
If CrossDown(value1, 0) Then
{
ExitLong("bx1");
}
If value1 > 0 and CrossDown(value1, signal) and value2 < 0 Then
{
ExitLong("bx2");
}
즐거운 하루되세요
> 탱탱볼 님이 쓴 글입니다.
> 제목 : 수식 문의드립니다
> 안녕하세요. 수식 문의 좀 드립니다.
만든다고 만들었는데 신호는 잘 나오나 복리값 적용이 안되네요ㅜㅜ
수식에 이상한 점은 없는지 그리고 복리값 적용도 같이 좀 봐주시면 감사하겠습니다.
input : 원금(1500000),시작일(20230101),시작시간(90000);
var : Tcond(False),수량(0) ;
if sDate == 시작일 and sTime >= 시작시간 Then
Tcond = true;
수량 = (원금+NetProfit)/NextBarOpen;
Input: shortperiod(12), longperiod(26), sig(6);
input : short(40),long(80);
var: signal(0), value(0);
value1 = macd(shortperiod, longperiod);
value2 = macd(short,long);
Signal = Ema(value1, sig);
# 매수/매도청산
If CrossUP(value1, 0) Then
{
Buy();
}
If value1 > 0 and CrossUp(value1, signal) Then
{
Buy();
}
If value1 > 0 and value2 > 0 Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value1, 0) Then
{
ExitLong();
}
If value1 > 0 and CrossDown(value1, signal) and value2 < 0 Then
{
ExitLong();
}
(짜집기해서 만든 수식이라 작동하는게 신기하네용ㅎㅎ;;)