커뮤니티
문의드립니다
2013-03-15 10:11:34
199
글번호 60750
지금 아래식과는 변수값이 다르지만
같은 식인데 원래는 따로 따로 해서 보고 있는건데 얼마전 새로 만들어서
두신호를 통합해서 둘 중 신호가 먼저 나오는걸 진입하기 위해 만든겁니다
오늘 아침에 1번쪽에 매수 신호가 잡혀 있어서 통합된쪽에 보니깐 매수 신호가
없는겁니다 두신호중 먼저 뜨는 신호면 무조건 나와야 하는데
통합쪽에 확인해 보니깐 매수 신호 잡힌 일번쪽 변수값만 입력하면 신호가 나왔다가
2번신호까지 변수값을 넣으니깐 변수값이 사라지는 겁니다
좀 이상한 일인데 확인 한번만 좀 부탁 드립니다
방금 다시 확인해 보니깐 1,2번 변수값을 2번을 위에 올리면 또 신호가 나옵니다
ㅜㅜ
input : rsiPeriod(2), RSVValue(66),N(0),X(5);
input : maPeriod1(15),maPeriod2(16),maPeriod3(23), maPeriod4(47);
input : Vol(1110);
input : 간격(0.3);
input : LossPoint(0.55);
input : ProfitPoint(3.65);
input : MACDP1(4),MACDP2(39),MACDP3(18);
var : MAv1(0), MAv2(0), MAv3(0), MAv4(0);
var : RSV(0);
var : Energe1(0),Energe2(0);
var : MACDO(0),cnt(0);
MAv1 = ma(C,maPeriod1);
MAv2 = ma(C,maPeriod2);
MAv3 = ma(C,maPeriod3);
MAv4 = ma(C,maPeriod4);
RSV = RSI(rsiPeriod);
MACDO = MACD_OSC(MACDP1,MACDP2,MACDP3);//MACD 오실레이터
if date != date[1] Then
Condition1 = false;
#최초 매수조건
if Condition1 == false
&& Condition11 == false
&& MarketPosition == 0
&& V > Vol
&& MAv1 > MAv2
&& MAv2 > MAv3
&& MAv3 > MAv4
&& RSV > RSVValue
&& MAv2 - MAv4 <= 간격
&& C > MAv4
&& MACDO > 0
Then
{
Buy("최초매수", OnClose, DEF);
Condition1 = true;
}
if Condition1 == true
&& MarketPosition == 0
&& IsExitName("반복청산",1) == true
&& IsEntryName("최초매수",1) == true
&& EntryDate(1) == sdate
&& C >= mav4+PriceScale*X
&& (CrossUp(MACDO,0) or C <= ExitPrice(1)-PriceScale*N) Then{
Buy("반복매수");
}
#반복매수청산조건
if MarketPosition == 1
&& CrossDown(MACDO,0)
&& IsEntryName("최초매수") == true Then
Exitlong("반복청산");
//종가가 MAv4보다 작으면 매수청산
if Condition1 == True
&& C < MAv4 Then {
Exitlong("MAv4청산");
Condition1 = false;
}
//손절/목표청산
if MarketPosition == 1 and (IsEntryName("최초매수") or IsEntryName("반복매수")) Then{
Exitlong("손절",AtStop,EntryPrice-Losspoint);
Exitlong("목표",AtLimit,EntryPrice+Profitpoint);
}
if BarsSinceExit(1) == 1 and (
IsExitName("손절",1) == true or IsExitName("목표",1) == True) Then
Condition1 = false;
input : rsiPeriod1(3), RSVValue1(18),N1(12),X1(6);
input : maPeriod11(7),maPeriod21(25),maPeriod31(29), maPeriod41(67);
input : Vol1(1180);
input : 간격1(0.2);
input : LossPoint1(0.55);
input : ProfitPoint1(4.7);
input : MACDP11(22),MACDP21(27),MACDP31(4);
var : MAv11(0), MAv21(0), MAv31(0), MAv41(0);
var : RSV1(0);
var : Energe11(0),Energe21(0);
var : MACDO1(0),cnt1(0);
MAv11 = ma(C,maPeriod11);
MAv21 = ma(C,maPeriod21);
MAv31 = ma(C,maPeriod31);
MAv41 = ma(C,maPeriod41);
RSV1 = RSI(rsiPeriod1);
MACDO1 = MACD_OSC(MACDP11,MACDP21,MACDP31);//MACD 오실레이터
if date != date[1] Then
Condition11 = false;
#최초 매수조건
if Condition11 == false
&& Condition1 == false
&& MarketPosition == 0
&& V > Vol1
&& MAv11 > MAv21
&& MAv21 > MAv31
&& MAv31 > MAv41
&& RSV1 > RSVValue1
&& MAv21 - MAv41 <= 간격1
&& C > MAv41
&& MACDO1 > 0
Then
{
Buy("최초매수1", OnClose, DEF);
Condition11 = true;
}
if Condition11 == true
&& MarketPosition == 0
&& IsExitName("반복청산1",1) == true
&& IsEntryName("최초매수1",1) == true
&& EntryDate(1) == sdate
&& C >= mav41+PriceScale*X1
&& (CrossUp(MACDO1,0) or C <= ExitPrice(1)-PriceScale*N1) Then{
buy("반복매수1");
}
#반복매수청산조건
if MarketPosition == 1
&& CrossDown(MACDO1,0)
&& IsEntryName("최초매수1") == true Then
Exitlong("반복청산1");
//종가가 MAv4보다 작으면 매수청산
if Condition11 == true
&& C < MAv41 Then {
Exitlong("MAv4청산1");
Condition11 = false;
}
//손절/목표청산
if MarketPosition == 1 and (IsEntryName("최초매수1") or IsEntryName("반복매수1")) Then{
Exitlong("손절1",AtStop,EntryPrice-Losspoint1);
Exitlong("목표1",AtLimit,EntryPrice+Profitpoint1);
}
if BarsSinceExit(1) == 1 and (
IsExitName("손절1",1) == true or IsExitName("목표1",1) == True) Then
Condition11 = false;
답변 3
예스스탁 예스스탁 답변
2013-03-15 13:44:25
> 아라미스33 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 지금 아래식과는 변수값이 다르지만
같은 식인데 원래는 따로 따로 해서 보고 있는건데 얼마전 새로 만들어서
두신호를 통합해서 둘 중 신호가 먼저 나오는걸 진입하기 위해 만든겁니다
오늘 아침에 1번쪽에 매수 신호가 잡혀 있어서 통합된쪽에 보니깐 매수 신호가
없는겁니다 두신호중 먼저 뜨는 신호면 무조건 나와야 하는데
통합쪽에 확인해 보니깐 매수 신호 잡힌 일번쪽 변수값만 입력하면 신호가 나왔다가
2번신호까지 변수값을 넣으니깐 변수값이 사라지는 겁니다
좀 이상한 일인데 확인 한번만 좀 부탁 드립니다
방금 다시 확인해 보니깐 1,2번 변수값을 2번을 위에 올리면 또 신호가 나옵니다
ㅜㅜ
input : rsiPeriod(2), RSVValue(66),N(0),X(5);
input : maPeriod1(15),maPeriod2(16),maPeriod3(23), maPeriod4(47);
input : Vol(1110);
input : 간격(0.3);
input : LossPoint(0.55);
input : ProfitPoint(3.65);
input : MACDP1(4),MACDP2(39),MACDP3(18);
var : MAv1(0), MAv2(0), MAv3(0), MAv4(0);
var : RSV(0);
var : Energe1(0),Energe2(0);
var : MACDO(0),cnt(0);
MAv1 = ma(C,maPeriod1);
MAv2 = ma(C,maPeriod2);
MAv3 = ma(C,maPeriod3);
MAv4 = ma(C,maPeriod4);
RSV = RSI(rsiPeriod);
MACDO = MACD_OSC(MACDP1,MACDP2,MACDP3);//MACD 오실레이터
if date != date[1] Then
Condition1 = false;
#최초 매수조건
if Condition1 == false
&& Condition11 == false
&& MarketPosition == 0
&& V > Vol
&& MAv1 > MAv2
&& MAv2 > MAv3
&& MAv3 > MAv4
&& RSV > RSVValue
&& MAv2 - MAv4 <= 간격
&& C > MAv4
&& MACDO > 0
Then
{
Buy("최초매수", OnClose, DEF);
Condition1 = true;
}
if Condition1 == true
&& MarketPosition == 0
&& IsExitName("반복청산",1) == true
&& IsEntryName("최초매수",1) == true
&& EntryDate(1) == sdate
&& C >= mav4+PriceScale*X
&& (CrossUp(MACDO,0) or C <= ExitPrice(1)-PriceScale*N) Then{
Buy("반복매수");
}
#반복매수청산조건
if MarketPosition == 1
&& CrossDown(MACDO,0)
&& IsEntryName("최초매수") == true Then
Exitlong("반복청산");
//종가가 MAv4보다 작으면 매수청산
if Condition1 == True
&& C < MAv4 Then {
Exitlong("MAv4청산");
Condition1 = false;
}
//손절/목표청산
if MarketPosition == 1 and (IsEntryName("최초매수") or IsEntryName("반복매수")) Then{
Exitlong("손절",AtStop,EntryPrice-Losspoint);
Exitlong("목표",AtLimit,EntryPrice+Profitpoint);
}
if BarsSinceExit(1) == 1 and (
IsExitName("손절",1) == true or IsExitName("목표",1) == True) Then
Condition1 = false;
input : rsiPeriod1(3), RSVValue1(18),N1(12),X1(6);
input : maPeriod11(7),maPeriod21(25),maPeriod31(29), maPeriod41(67);
input : Vol1(1180);
input : 간격1(0.2);
input : LossPoint1(0.55);
input : ProfitPoint1(4.7);
input : MACDP11(22),MACDP21(27),MACDP31(4);
var : MAv11(0), MAv21(0), MAv31(0), MAv41(0);
var : RSV1(0);
var : Energe11(0),Energe21(0);
var : MACDO1(0),cnt1(0);
MAv11 = ma(C,maPeriod11);
MAv21 = ma(C,maPeriod21);
MAv31 = ma(C,maPeriod31);
MAv41 = ma(C,maPeriod41);
RSV1 = RSI(rsiPeriod1);
MACDO1 = MACD_OSC(MACDP11,MACDP21,MACDP31);//MACD 오실레이터
if date != date[1] Then
Condition11 = false;
#최초 매수조건
if Condition11 == false
&& Condition1 == false
&& MarketPosition == 0
&& V > Vol1
&& MAv11 > MAv21
&& MAv21 > MAv31
&& MAv31 > MAv41
&& RSV1 > RSVValue1
&& MAv21 - MAv41 <= 간격1
&& C > MAv41
&& MACDO1 > 0
Then
{
Buy("최초매수1", OnClose, DEF);
Condition11 = true;
}
if Condition11 == true
&& MarketPosition == 0
&& IsExitName("반복청산1",1) == true
&& IsEntryName("최초매수1",1) == true
&& EntryDate(1) == sdate
&& C >= mav41+PriceScale*X1
&& (CrossUp(MACDO1,0) or C <= ExitPrice(1)-PriceScale*N1) Then{
buy("반복매수1");
}
#반복매수청산조건
if MarketPosition == 1
&& CrossDown(MACDO1,0)
&& IsEntryName("최초매수1") == true Then
Exitlong("반복청산1");
//종가가 MAv4보다 작으면 매수청산
if Condition11 == true
&& C < MAv41 Then {
Exitlong("MAv4청산1");
Condition11 = false;
}
//손절/목표청산
if MarketPosition == 1 and (IsEntryName("최초매수1") or IsEntryName("반복매수1")) Then{
Exitlong("손절1",AtStop,EntryPrice-Losspoint1);
Exitlong("목표1",AtLimit,EntryPrice+Profitpoint1);
}
if BarsSinceExit(1) == 1 and (
IsExitName("손절1",1) == true or IsExitName("목표1",1) == True) Then
Condition11 = false;
아라미스33
2013-03-15 13:53:02
아라미스33 님에 의해 삭제된 답변입니다.
아라미스33
2013-03-15 13:55:26
아래 변수값을 수정해 놨습니다
300틱 갭보정에서
위쪽것만 따로 분리해서 시스템돌리면 오전에 매수가 나오구요
다 합쳐서 돌려보면 매수 신호가 없습니다
다 합쳐 놓은 신호에 먼저뜬 1호 신호가 나와야 하거든요
> 아라미스33 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 지금 아래식과는 변수값이 다르지만
같은 식인데 원래는 따로 따로 해서 보고 있는건데 얼마전 새로 만들어서
두신호를 통합해서 둘 중 신호가 먼저 나오는걸 진입하기 위해 만든겁니다
오늘 아침에 1번쪽에 매수 신호가 잡혀 있어서 통합된쪽에 보니깐 매수 신호가
없는겁니다 두신호중 먼저 뜨는 신호면 무조건 나와야 하는데
통합쪽에 확인해 보니깐 매수 신호 잡힌 일번쪽 변수값만 입력하면 신호가 나왔다가
2번신호까지 변수값을 넣으니깐 변수값이 사라지는 겁니다
좀 이상한 일인데 확인 한번만 좀 부탁 드립니다
방금 다시 확인해 보니깐 1,2번 변수값을 2번을 위에 올리면 또 신호가 나옵니다
ㅜㅜ
input : rsiPeriod(2), RSVValue(66),N(0),X(5);
input : maPeriod1(15),maPeriod2(16),maPeriod3(23), maPeriod4(47);
input : Vol(1110);
input : 간격(0.3);
input : LossPoint(0.55);
input : ProfitPoint(3.65);
input : MACDP1(4),MACDP2(36),MACDP3(18);
var : MAv1(0), MAv2(0), MAv3(0), MAv4(0);
var : RSV(0);
var : Energe1(0),Energe2(0);
var : MACDO(0),cnt(0);
MAv1 = ma(C,maPeriod1);
MAv2 = ma(C,maPeriod2);
MAv3 = ma(C,maPeriod3);
MAv4 = ma(C,maPeriod4);
RSV = RSI(rsiPeriod);
MACDO = MACD_OSC(MACDP1,MACDP2,MACDP3);//MACD 오실레이터
if date != date[1] Then
Condition1 = false;
#최초 매수조건
if Condition1 == false
&& Condition11 == false
&& MarketPosition == 0
&& V > Vol
&& MAv1 > MAv2
&& MAv2 > MAv3
&& MAv3 > MAv4
&& RSV > RSVValue
&& MAv2 - MAv4 <= 간격
&& C > MAv4
&& MACDO > 0
Then
{
Buy("최초매수", OnClose, DEF);
Condition1 = true;
}
if Condition1 == true
&& MarketPosition == 0
&& IsExitName("반복청산",1) == true
&& IsEntryName("최초매수",1) == true
&& EntryDate(1) == sdate
&& C >= mav4+PriceScale*X
&& (CrossUp(MACDO,0) or C <= ExitPrice(1)-PriceScale*N) Then{
Buy("반복매수");
}
#반복매수청산조건
if MarketPosition == 1
&& CrossDown(MACDO,0)
&& IsEntryName("최초매수") == true Then
Exitlong("반복청산");
//종가가 MAv4보다 작으면 매수청산
if Condition1 == True
&& C < MAv4 Then {
Exitlong("MAv4청산");
Condition1 = false;
}
//손절/목표청산
if MarketPosition == 1 and (IsEntryName("최초매수") or IsEntryName("반복매수")) Then{
Exitlong("손절",AtStop,EntryPrice-Losspoint);
Exitlong("목표",AtLimit,EntryPrice+Profitpoint);
}
if BarsSinceExit(1) == 1 and (
IsExitName("손절",1) == true or IsExitName("목표",1) == True) Then
Condition1 = false;
input : rsiPeriod1(3), RSVValue1(18),N1(12),X1(6);
input : maPeriod11(7),maPeriod21(25),maPeriod31(29), maPeriod41(67);
input : Vol1(1180);
input : 간격1(0.2);
input : LossPoint1(0.55);
input : ProfitPoint1(4.7);
input : MACDP11(22),MACDP21(27),MACDP31(4);
var : MAv11(0), MAv21(0), MAv31(0), MAv41(0);
var : RSV1(0);
var : Energe11(0),Energe21(0);
var : MACDO1(0),cnt1(0);
MAv11 = ma(C,maPeriod11);
MAv21 = ma(C,maPeriod21);
MAv31 = ma(C,maPeriod31);
MAv41 = ma(C,maPeriod41);
RSV1 = RSI(rsiPeriod1);
MACDO1 = MACD_OSC(MACDP11,MACDP21,MACDP31);//MACD 오실레이터
if date != date[1] Then
Condition11 = false;
#최초 매수조건
if Condition11 == false
&& Condition1 == false
&& MarketPosition == 0
&& V > Vol1
&& MAv11 > MAv21
&& MAv21 > MAv31
&& MAv31 > MAv41
&& RSV1 > RSVValue1
&& MAv21 - MAv41 <= 간격1
&& C > MAv41
&& MACDO1 > 0
Then
{
Buy("최초매수1", OnClose, DEF);
Condition11 = true;
}
if Condition11 == true
&& MarketPosition == 0
&& IsExitName("반복청산1",1) == true
&& IsEntryName("최초매수1",1) == true
&& EntryDate(1) == sdate
&& C >= mav41+PriceScale*X1
&& (CrossUp(MACDO1,0) or C <= ExitPrice(1)-PriceScale*N1) Then{
buy("반복매수1");
}
#반복매수청산조건
if MarketPosition == 1
&& CrossDown(MACDO1,0)
&& IsEntryName("최초매수1") == true Then
Exitlong("반복청산1");
//종가가 MAv4보다 작으면 매수청산
if Condition11 == true
&& C < MAv41 Then {
Exitlong("MAv4청산1");
Condition11 = false;
}
//손절/목표청산
if MarketPosition == 1 and (IsEntryName("최초매수1") or IsEntryName("반복매수1")) Then{
Exitlong("손절1",AtStop,EntryPrice-Losspoint1);
Exitlong("목표1",AtLimit,EntryPrice+Profitpoint1);
}
if BarsSinceExit(1) == 1 and (
IsExitName("손절1",1) == true or IsExitName("목표1",1) == True) Then
Condition11 = false;
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 전화로 답변드렸습니다.
>
> 아라미스33 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 지금 아래식과는 변수값이 다르지만
같은 식인데 원래는 따로 따로 해서 보고 있는건데 얼마전 새로 만들어서
두신호를 통합해서 둘 중 신호가 먼저 나오는걸 진입하기 위해 만든겁니다
오늘 아침에 1번쪽에 매수 신호가 잡혀 있어서 통합된쪽에 보니깐 매수 신호가
없는겁니다 두신호중 먼저 뜨는 신호면 무조건 나와야 하는데
통합쪽에 확인해 보니깐 매수 신호 잡힌 일번쪽 변수값만 입력하면 신호가 나왔다가
2번신호까지 변수값을 넣으니깐 변수값이 사라지는 겁니다
좀 이상한 일인데 확인 한번만 좀 부탁 드립니다
방금 다시 확인해 보니깐 1,2번 변수값을 2번을 위에 올리면 또 신호가 나옵니다
ㅜㅜ
input : rsiPeriod(2), RSVValue(66),N(0),X(5);
input : maPeriod1(15),maPeriod2(16),maPeriod3(23), maPeriod4(47);
input : Vol(1110);
input : 간격(0.3);
input : LossPoint(0.55);
input : ProfitPoint(3.65);
input : MACDP1(4),MACDP2(39),MACDP3(18);
var : MAv1(0), MAv2(0), MAv3(0), MAv4(0);
var : RSV(0);
var : Energe1(0),Energe2(0);
var : MACDO(0),cnt(0);
MAv1 = ma(C,maPeriod1);
MAv2 = ma(C,maPeriod2);
MAv3 = ma(C,maPeriod3);
MAv4 = ma(C,maPeriod4);
RSV = RSI(rsiPeriod);
MACDO = MACD_OSC(MACDP1,MACDP2,MACDP3);//MACD 오실레이터
if date != date[1] Then
Condition1 = false;
#최초 매수조건
if Condition1 == false
&& Condition11 == false
&& MarketPosition == 0
&& V > Vol
&& MAv1 > MAv2
&& MAv2 > MAv3
&& MAv3 > MAv4
&& RSV > RSVValue
&& MAv2 - MAv4 <= 간격
&& C > MAv4
&& MACDO > 0
Then
{
Buy("최초매수", OnClose, DEF);
Condition1 = true;
}
if Condition1 == true
&& MarketPosition == 0
&& IsExitName("반복청산",1) == true
&& IsEntryName("최초매수",1) == true
&& EntryDate(1) == sdate
&& C >= mav4+PriceScale*X
&& (CrossUp(MACDO,0) or C <= ExitPrice(1)-PriceScale*N) Then{
Buy("반복매수");
}
#반복매수청산조건
if MarketPosition == 1
&& CrossDown(MACDO,0)
&& IsEntryName("최초매수") == true Then
Exitlong("반복청산");
//종가가 MAv4보다 작으면 매수청산
if Condition1 == True
&& C < MAv4 Then {
Exitlong("MAv4청산");
Condition1 = false;
}
//손절/목표청산
if MarketPosition == 1 and (IsEntryName("최초매수") or IsEntryName("반복매수")) Then{
Exitlong("손절",AtStop,EntryPrice-Losspoint);
Exitlong("목표",AtLimit,EntryPrice+Profitpoint);
}
if BarsSinceExit(1) == 1 and (
IsExitName("손절",1) == true or IsExitName("목표",1) == True) Then
Condition1 = false;
input : rsiPeriod1(3), RSVValue1(18),N1(12),X1(6);
input : maPeriod11(7),maPeriod21(25),maPeriod31(29), maPeriod41(67);
input : Vol1(1180);
input : 간격1(0.2);
input : LossPoint1(0.55);
input : ProfitPoint1(4.7);
input : MACDP11(22),MACDP21(27),MACDP31(4);
var : MAv11(0), MAv21(0), MAv31(0), MAv41(0);
var : RSV1(0);
var : Energe11(0),Energe21(0);
var : MACDO1(0),cnt1(0);
MAv11 = ma(C,maPeriod11);
MAv21 = ma(C,maPeriod21);
MAv31 = ma(C,maPeriod31);
MAv41 = ma(C,maPeriod41);
RSV1 = RSI(rsiPeriod1);
MACDO1 = MACD_OSC(MACDP11,MACDP21,MACDP31);//MACD 오실레이터
if date != date[1] Then
Condition11 = false;
#최초 매수조건
if Condition11 == false
&& Condition1 == false
&& MarketPosition == 0
&& V > Vol1
&& MAv11 > MAv21
&& MAv21 > MAv31
&& MAv31 > MAv41
&& RSV1 > RSVValue1
&& MAv21 - MAv41 <= 간격1
&& C > MAv41
&& MACDO1 > 0
Then
{
Buy("최초매수1", OnClose, DEF);
Condition11 = true;
}
if Condition11 == true
&& MarketPosition == 0
&& IsExitName("반복청산1",1) == true
&& IsEntryName("최초매수1",1) == true
&& EntryDate(1) == sdate
&& C >= mav41+PriceScale*X1
&& (CrossUp(MACDO1,0) or C <= ExitPrice(1)-PriceScale*N1) Then{
buy("반복매수1");
}
#반복매수청산조건
if MarketPosition == 1
&& CrossDown(MACDO1,0)
&& IsEntryName("최초매수1") == true Then
Exitlong("반복청산1");
//종가가 MAv4보다 작으면 매수청산
if Condition11 == true
&& C < MAv41 Then {
Exitlong("MAv4청산1");
Condition11 = false;
}
//손절/목표청산
if MarketPosition == 1 and (IsEntryName("최초매수1") or IsEntryName("반복매수1")) Then{
Exitlong("손절1",AtStop,EntryPrice-Losspoint1);
Exitlong("목표1",AtLimit,EntryPrice+Profitpoint1);
}
if BarsSinceExit(1) == 1 and (
IsExitName("손절1",1) == true or IsExitName("목표1",1) == True) Then
Condition11 = false;
다음글
이전글