커뮤니티
아래 47280 답변내용 시스템이 실행이 되질않습니다
2016-04-19 13:31:00
88
글번호 97231
아래 47280 답변내용 시스템이 실행이 되질않습니다
오류 수정부탁드입니다..
답변 1
예스스탁 예스스탁 답변
2016-04-19 17:04:03
안녕하세요
예스스탁입니다.
올려주신식이 진입부분의 일부만 올려주셔서
변수처리등이 완전하게 해드릴수가 없습니다.
주석 참고하셔서 추가된 내용을 가이드로 원식에 직접 수정보완해서
추가해 주셔야 합니다.
아래 1번은 수식을 조금 수정하고 주석을 추가한 식입니다.
2번식은 이평크로스로 간단히 테스트한 식입니다,
첨부된 그림과 같이 첫신호를 건너뛰게 됩니다.
var : entrycnt(0),cond(false),T(0),count(0),gap(false);
#장시작
if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then{ # 현지시간_뉴욕 17:00 장시작 #
Entrycnt = 0;
cond = false;
#매수매도 방향을 알기위한 변수 초기값은 0
T = 0;
#조건만족횟수 카운트 초기화 0
count = 0;
#시가가 전봉종가(전일종가)보다 20틱이상 크거나 20틱이상 낮으면
#gap은 true 아니면 false
if O >= C[1]+PriceScale*20 or O <= C[1]-PriceScale*20 Then
gap = true;
Else
gap = false;
}
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
Entrycnt = Entrycnt+1;
cond = false;
if entrycnt >= 2 Then{
if MarketPosition == 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 Then
cond = true;
if MarketPosition != 0 and PositionProfit(0) < 0 and PositionProfit(1) < 0 Then
cond = true;
}
if (stime >= 170000 or stime < 143000) and (DayPL < 당일손익*PriceScale) Then{ # 현지시간_뉴욕 17:00 장시작~익일 14:30 장종료 #
##############################
##### 1_ 매매식 #####
#############################
if T <= 0 and #T가 0이이고 매수조건이 만족하면
((entrycnt == 0) or
(entrycnt >= 1 and ((MarketPosition == 0 and MarketPosition(1) != 1) or (MarketPosition == -1)))) and #동일방향 재진입금지#
c>v25 Then
{
T = 1; #T는 1(매수조건만족했음을 나타냄)
count = count+1; #count는 1증가, 장시작이후 조건만족 횟수를 카운트
#gap이 false이거나 gap이 true이면 count가 2이상일때 진입
if gap == false or (gap == true and count >= 2) Then
{
if cond == false then
buy("B_uparoon");
Else
ExitShort();
}
}
if T >= 0 and
((entrycnt == 0) or
(entrycnt >= 1 and ((MarketPosition == 0 and MarketPosition(1) != -1) or (MarketPosition == 1)))) and #동일방향 재진입금지#
c<v27 Then
{
T = -1;
count = count+1;
#gap이 false이거나 gap이 true이면 count가 2이상일때 진입
if gap == false or (gap == true and count >= 2) Then
{
if cond == false Then
sell("S_dnaroon");
Else
ExitLong();
}
}
}
2
var : entrycnt(0),cond(false),T(0),count(0),gap(false);
var1 = ma(C,20);
#장시작
if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then{
T = 0;
count = 0;
if O >= C[1]+PriceScale*20 or O <= C[1]-PriceScale*20 Then
gap = true;
Else
gap = false;
}
if (stime >= 170000 or stime < 143000) Then{
if T <= 0 and crossup(c,var1) Then
{
T = 1;
count = count+1;
if gap == false or (gap == true and count >= 2) Then
{
buy("B_uparoon");
}
}
if T >= 0 and CrossDown(c,var1) Then
{
T = -1;
count = count+1;
if gap == false or (gap == true and count >= 2) Then
{
sell("S_dnaroon");
}
}
}
즐거운 하루되세요
> 조민철 님이 쓴 글입니다.
> 제목 : 아래 47280 답변내용 시스템이 실행이 되질않습니다
> 아래 47280 답변내용 시스템이 실행이 되질않습니다
오류 수정부탁드입니다..