Q&A 게시판 HOME > Q&A 게시판
작성자 : 예스스탁 작성일 : 2021-05-04 16:04:24 조회수 : 432
Re: 추가 답변 드립니다.
안녕하세요
예스스탁입니다.

1
시장가로 주문시 입력한 금액보다 많은 금액이 주문되는 이유는 업비트 거래소의 경우 매수주문을 금액으로 받습니다. 이때 시장가로 주문을 내게 되는 경우에 금액(증거금)이 부족할 수 있기 때문에 입력한 금액에서 5%를 더한 금액으로 주문을 내기 때문에 발생되는 현상입니다. 매도의 경우는 업비트에서 수량으로 매도주문을 받기 때문에 입력한 금액만큼의 수량을 매도하게 됩니다. 시장가로 주문을 내실때 발생되는 문제이기 때문에 지정가(현재가+-5호가 등)로 주문을 내시면 문제가 해결됩니다.


2
다른차트의 값은 알수 없습니다.
기본차트종목외에 다른종목의 데이타릉 이용하시기 위해서는
다른종목이 데이타를 참조데이타로 차트에 추가하고 이용하셔야 합니다.
차트왼쪽 상단의 종목선택버튼 중 
왼쪽버튼은 차트의 기본종목,
오른쪽버튼은 참조데이타를 선택해 차트에 추가하는 버튼입니다.
왼쪽 버튼으로 다른데이타 추가하고 아래식 적용하시면 됩니다.

input : Period1(14);
Input : Period2(9);
Input : short(12), long(26), signal(9);
var : ADXv1(0,Data1),DP1(0,Data1),DM1(0,Data1);
Var : MACDV1(0,Data1) , MACDS1(0,Data1), RSIV1(0,Data1) ;
var : ADXv2(0,Data2),DP2(0,Data2),DM2(0,Data2);

ADXv1 = data1(ADX(Period1));
DP1 = data1(DiPlus(Period1));
DM1 = data1(DiMinus(Period1));
MACDV1 = data1(MACD(short, long));
MACDS1 = data1(ema(MACDV1,signal));
RSIV1 = data1(RSI(Period2));

ADXv2 = data2(ADX(Period1));
DP2 = data2(DiPlus(Period1));
DM2 = data2(DiMinus(Period1));


if DP2 > DM2 Then
{
if CrossUp(DP1,DM1) Then
Buy("ADV Up");
if CrossUp(rsiv1,30) Then
Buy("Rsi Up");
if adxv1 > adxv1[1] and CrossUp(DP1,ADXv1) Then
Buy("b");
}

if MarketPosition == 1 Then
{
      if CrossDown(DP1,DM1) Then
            ExitLong("bx1");
      if CrossDown(DP1,ADXV1) Then
            ExitLong("bx2");
      if CrossDown(MACDV1,MACDS1) Then
            ExitLong("bx3");
}

즐거운 하루되세요





>> 요로용 님이 쓴 글입니다.

>> 제목 : 시스템 적용 자동매매중문의안녕하세요 
50만원으로 테스트중인데요
현재가는 가끔미체결이있어서
시장가로 해봤는데

525000원 정도 대략적으로 매수가되는데 왜그럴까요??

근데 매도는 50만원으로 매도가되버려서 남아서요


-------------------------------------------------
하단부분은 제가 테스트 중인 서식인데 
여기에 몇가지부분을 추가를해보고싶습니다.
1.ADX선이 바로 전 값보다 높을때
+DI가 ADX선을 돌파하면 매수신호

2.다른 종목차트 ex(btc_KRW_Upbit)의 차트에서 
ADX 지표 - +DI가 -DI를 돌파된상황일때
하단의 매수를 실행하고
-DI가 +DI보다 하락했을는 매수신호를 띄우지않는다

가능할지모르겠는데
각각 수식 좀 부탁드리겠습니다.

input : Period1(14);
Input : Period2(9);
Input : short(12), long(26), signal(9);
var : ADXv(0),DP(0),DM(0);
Var : MACDV(0) , MACDS(0), RSIV(0) ;

ADXv = ADX(Period1);
DP = DiPlus(Period1);
DM = DiMinus(Period1);
MACDV = MACD(short, long);
MACDS = ema(MACDV,signal);
RSIV = RSI(Period2);


  if CrossUp(DP,DM) Then
      Buy("ADV Up");
  if CrossUp(rsiv,30) Then
      Buy("Rsi Up");


if MarketPosition == 1 Then
{
      if CrossDown(DP,DM) Then
            ExitLong("bx1");
      if CrossDown(DP,ADXV) Then
            ExitLong("bx2");
      if CrossDown(MACDV,MACDS) Then
            ExitLong("bx3");
}
목록 답변