커뮤니티

부탁 드려요

프로필 이미지
아라미스33
2012-12-28 14:46:36
257
글번호 57670
답변완료
아래 두 수식을 합쳐서 만들어 보고 싶은데 가능할까요? 두 수식이 보면 둘다 비슷한 시간에 매수 신호가 나올때도 있고 어느 한쪽에만 나오는 경우가 있습니다 가령 한식을 A 또 다른 식을 B라고 했을때 매수는 A매수발생+B매수발생 A매수유지+B매수발생 A매수발생+B매수유지 일때 매수진입을 하고 싶구요 청산도 마찬가지 이반대 입니다 두식은 다음과 같습니다 A input : RSVValue(1); Input : Vol(1100); Input : 간격(0.2); input : LossPoint(0.75); input : ProfitPoint(3.5); if MarketPosition == 1 Then{ ExitLong("bx1",AtStop,EntryPrice-Losspoint); ExitLong("bx2",AtLimit,EntryPrice+Profitpoint); } Inputs: PercentRLen(1), OverSold(1), OverBought(72), Trigger(43); Variables: PcntR(0), AvgValue(0), Setup1(False), Setup2(False); PcntR = PercentR(PercentRLen); AvgValue = MA(Close, PercentRLen); If PcntR < OverSold Then Setup1 = True; If PcntR > OverBought Then Setup1 = False; If PcntR > OverBought Then Setup2 = True; If PcntR < OverSold Then Setup2 = False; //ma1 Input : maPeriod1(4); var : MAv1(0); MAv1 = ma(C,maPeriod1); //ma2 Input : maPeriod2(9); var : MAv2(0); MAv2 = ma(C,maPeriod2); //ma3 Input : maPeriod3(15); var : MAv3(0); MAv3 = ma(C,maPeriod3); //ma4 Input : maPeriod4(70); var : MAv4(0); MAv4 = ma(C,maPeriod4); //RSI Input : rsiPeriod(14); var : RSV(0); RSV = RSI(rsiPeriod); if V > Vol && MAv1 > MAv2 && MAv2 > MAv3 && MAv3 > MAv4 && RSV > RSVValue && MAv2 - MAv4 <= 간격 or Setup1 AND AvgValue > AvgValue[1] AND Crossup(PcntR,Trigger)and MAv1 > MAv2 and MAv2 > MAv3 and MAv3 > MAv4 Then { Buy("매수", OnClose, DEF); } //매수청산1 if C < MAv4 Then Exitlong("청산1"); B식 input : RSVValue(61); Input : Vol(1020); Input : 간격(0.3); input : LossPoint(0.75); input : ProfitPoint(2.35); if MarketPosition == 1 Then{ ExitLong("bx1",AtStop,EntryPrice-Losspoint); ExitLong("bx2",AtLimit,EntryPrice+Profitpoint); } //ma1 input : maPeriod1(7); var : MAv1(0); MAv1 = ma(C,maPeriod1); //ma2 input : maPeriod2(16); var : MAv2(0); MAv2 = ma(C,maPeriod2); //ma3 input : maPeriod3(24); var : MAv3(0); MAv3 = ma(C,maPeriod3); //ma4 input : maPeriod4(47); var : MAv4(0); MAv4 = ma(C,maPeriod4); //RSI input : rsiPeriod(7); var : RSV(0); RSV = RSI(rsiPeriod); if V > Vol && MAv1 > MAv2 && MAv2 > MAv3 && MAv3 > MAv4 && RSV > RSVValue && MAv2 - MAv4 <= 간격 Then { Buy("매수", OnClose, DEF); } //매수청산1 if C < MAv4 Then Exitlong("청산1"); 이상입니다 너무 번거럽거 해 드려서 죄송합니다 즐거운 신정 보내세요
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2012-12-28 15:43:08

안녕하세요 예스스탁입니다. input : ARSVValue(1),aVol(1100),A간격(0.2); Input : APercentRLen(1), AOverSold(1), AOverBought(72), ATrigger(43); Input : AmaPeriod1(4),AmaPeriod2(9),AmaPeriod3(15),AmaPeriod4(70); Input : ArsiPeriod(14); input : BRSVValue(61),BVol(1020),B간격(0.3); input : BmaPeriod1(7),BmaPeriod2(16),BmaPeriod3(24),BmaPeriod4(47); input : BrsiPeriod(7); Var : APcntR(0), AAvgValue(0), ASetup1(False), ASetup2(False); var : AMav1(0), AMav2(0),AMav3(0),AMav4(0),BMav1(0),BMav2(0),BMav3(0),BMav4(0); var : ARSV(0), BRSV(0); APcntR = PercentR(APercentRLen); AAvgValue = MA(Close, APercentRLen); If APcntR < AOverSold Then ASetup1 = True; If APcntR > AOverBought Then ASetup1 = False; If APcntR > AOverBought Then ASetup2 = True; If APcntR < AOverSold Then ASetup2 = False; AMav1 = ma(C,AmaPeriod1); AMav2 = ma(C,AmaPeriod2); AMav3 = ma(C,AmaPeriod3); AMav4 = ma(C,AmaPeriod4); ARSV = RSI(ArsiPeriod); if (V > AVol && AMAv1 > AMAv2 && AMAv2 > AMAv3 && AMAv3 > AMAv4 && ARSV > ARSVValue && AMAv2 - AMAv4 <= A간격) or (ASetup1 AND AAvgValue > AAvgValue[1] AND Crossup(APcntR,ATrigger)and AMAv1 > AMAv2 and AMAv2 > AMAv3 and AMAv3 > AMAv4) Then { if MarketPosition == 0 Then Condition1 = true; } BMav1 = ma(C,BmaPeriod1); BMav2 = ma(C,BmaPeriod2); BMav3 = ma(C,BmaPeriod3); BMav4 = ma(C,BmaPeriod4); BRSV = RSI(BrsiPeriod); if V > BVol && BMAv1 > BMAv2 && BMAv2 > BMAv3 && BMAv3 > BMAv4 && BRSV > BRSVValue && BMAv2 - BMAv4 <= B간격 Then { if MarketPosition == 0 Then Condition2 = true; } if Condition1 == true and Condition1 == true Then buy(); if MarketPosition == 1 Then{ Condition1 = false; Condition2 = false; } if C < AMav4 and C < Bmav4 Then Exitlong("청산"); input : LossPoint(0.75); input : ProfitPoint(3.5); if MarketPosition == 1 Then{ ExitLong("bx1",AtStop,EntryPrice-Losspoint); ExitLong("bx2",AtLimit,EntryPrice+Profitpoint); } 즐거운 하루되세요 > 아라미스33 님이 쓴 글입니다. > 제목 : 부탁 드려요 > 아래 두 수식을 합쳐서 만들어 보고 싶은데 가능할까요? 두 수식이 보면 둘다 비슷한 시간에 매수 신호가 나올때도 있고 어느 한쪽에만 나오는 경우가 있습니다 가령 한식을 A 또 다른 식을 B라고 했을때 매수는 A매수발생+B매수발생 A매수유지+B매수발생 A매수발생+B매수유지 일때 매수진입을 하고 싶구요 청산도 마찬가지 이반대 입니다 두식은 다음과 같습니다 A input : RSVValue(1); Input : Vol(1100); Input : 간격(0.2); input : LossPoint(0.75); input : ProfitPoint(3.5); if MarketPosition == 1 Then{ ExitLong("bx1",AtStop,EntryPrice-Losspoint); ExitLong("bx2",AtLimit,EntryPrice+Profitpoint); } Inputs: PercentRLen(1), OverSold(1), OverBought(72), Trigger(43); Variables: PcntR(0), AvgValue(0), Setup1(False), Setup2(False); PcntR = PercentR(PercentRLen); AvgValue = MA(Close, PercentRLen); If PcntR < OverSold Then Setup1 = True; If PcntR > OverBought Then Setup1 = False; If PcntR > OverBought Then Setup2 = True; If PcntR < OverSold Then Setup2 = False; //ma1 Input : maPeriod1(4); var : MAv1(0); MAv1 = ma(C,maPeriod1); //ma2 Input : maPeriod2(9); var : MAv2(0); MAv2 = ma(C,maPeriod2); //ma3 Input : maPeriod3(15); var : MAv3(0); MAv3 = ma(C,maPeriod3); //ma4 Input : maPeriod4(70); var : MAv4(0); MAv4 = ma(C,maPeriod4); //RSI Input : rsiPeriod(14); var : RSV(0); RSV = RSI(rsiPeriod); if V > Vol && MAv1 > MAv2 && MAv2 > MAv3 && MAv3 > MAv4 && RSV > RSVValue && MAv2 - MAv4 <= 간격 or Setup1 AND AvgValue > AvgValue[1] AND Crossup(PcntR,Trigger)and MAv1 > MAv2 and MAv2 > MAv3 and MAv3 > MAv4 Then { Buy("매수", OnClose, DEF); } //매수청산1 if C < MAv4 Then Exitlong("청산1"); B식 input : RSVValue(61); Input : Vol(1020); Input : 간격(0.3); input : LossPoint(0.75); input : ProfitPoint(2.35); if MarketPosition == 1 Then{ ExitLong("bx1",AtStop,EntryPrice-Losspoint); ExitLong("bx2",AtLimit,EntryPrice+Profitpoint); } //ma1 input : maPeriod1(7); var : MAv1(0); MAv1 = ma(C,maPeriod1); //ma2 input : maPeriod2(16); var : MAv2(0); MAv2 = ma(C,maPeriod2); //ma3 input : maPeriod3(24); var : MAv3(0); MAv3 = ma(C,maPeriod3); //ma4 input : maPeriod4(47); var : MAv4(0); MAv4 = ma(C,maPeriod4); //RSI input : rsiPeriod(7); var : RSV(0); RSV = RSI(rsiPeriod); if V > Vol && MAv1 > MAv2 && MAv2 > MAv3 && MAv3 > MAv4 && RSV > RSVValue && MAv2 - MAv4 <= 간격 Then { Buy("매수", OnClose, DEF); } //매수청산1 if C < MAv4 Then Exitlong("청산1"); 이상입니다 너무 번거럽거 해 드려서 죄송합니다 즐거운 신정 보내세요
프로필 이미지

아라미스33

2012-12-28 17:33:29

네 감사합니다 60번대줄에 있는 if Condition1 == true and Condition1 == true Then buy(); 이부분은 하나는 Condition1 이게 Condition2 라야 되지 않나요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 부탁 드려요 > 안녕하세요 예스스탁입니다. input : ARSVValue(1),aVol(1100),A간격(0.2); Input : APercentRLen(1), AOverSold(1), AOverBought(72), ATrigger(43); Input : AmaPeriod1(4),AmaPeriod2(9),AmaPeriod3(15),AmaPeriod4(70); Input : ArsiPeriod(14); input : BRSVValue(61),BVol(1020),B간격(0.3); input : BmaPeriod1(7),BmaPeriod2(16),BmaPeriod3(24),BmaPeriod4(47); input : BrsiPeriod(7); Var : APcntR(0), AAvgValue(0), ASetup1(False), ASetup2(False); var : AMav1(0), AMav2(0),AMav3(0),AMav4(0),BMav1(0),BMav2(0),BMav3(0),BMav4(0); var : ARSV(0), BRSV(0); APcntR = PercentR(APercentRLen); AAvgValue = MA(Close, APercentRLen); If APcntR < AOverSold Then ASetup1 = True; If APcntR > AOverBought Then ASetup1 = False; If APcntR > AOverBought Then ASetup2 = True; If APcntR < AOverSold Then ASetup2 = False; AMav1 = ma(C,AmaPeriod1); AMav2 = ma(C,AmaPeriod2); AMav3 = ma(C,AmaPeriod3); AMav4 = ma(C,AmaPeriod4); ARSV = RSI(ArsiPeriod); if (V > AVol && AMAv1 > AMAv2 && AMAv2 > AMAv3 && AMAv3 > AMAv4 && ARSV > ARSVValue && AMAv2 - AMAv4 <= A간격) or (ASetup1 AND AAvgValue > AAvgValue[1] AND Crossup(APcntR,ATrigger)and AMAv1 > AMAv2 and AMAv2 > AMAv3 and AMAv3 > AMAv4) Then { if MarketPosition == 0 Then Condition1 = true; } BMav1 = ma(C,BmaPeriod1); BMav2 = ma(C,BmaPeriod2); BMav3 = ma(C,BmaPeriod3); BMav4 = ma(C,BmaPeriod4); BRSV = RSI(BrsiPeriod); if V > BVol && BMAv1 > BMAv2 && BMAv2 > BMAv3 && BMAv3 > BMAv4 && BRSV > BRSVValue && BMAv2 - BMAv4 <= B간격 Then { if MarketPosition == 0 Then Condition2 = true; } if Condition1 == true and Condition1 == true Then buy(); if MarketPosition == 1 Then{ Condition1 = false; Condition2 = false; } if C < AMav4 and C < Bmav4 Then Exitlong("청산"); input : LossPoint(0.75); input : ProfitPoint(3.5); if MarketPosition == 1 Then{ ExitLong("bx1",AtStop,EntryPrice-Losspoint); ExitLong("bx2",AtLimit,EntryPrice+Profitpoint); } 즐거운 하루되세요 > 아라미스33 님이 쓴 글입니다. > 제목 : 부탁 드려요 > 아래 두 수식을 합쳐서 만들어 보고 싶은데 가능할까요? 두 수식이 보면 둘다 비슷한 시간에 매수 신호가 나올때도 있고 어느 한쪽에만 나오는 경우가 있습니다 가령 한식을 A 또 다른 식을 B라고 했을때 매수는 A매수발생+B매수발생 A매수유지+B매수발생 A매수발생+B매수유지 일때 매수진입을 하고 싶구요 청산도 마찬가지 이반대 입니다 두식은 다음과 같습니다 A input : RSVValue(1); Input : Vol(1100); Input : 간격(0.2); input : LossPoint(0.75); input : ProfitPoint(3.5); if MarketPosition == 1 Then{ ExitLong("bx1",AtStop,EntryPrice-Losspoint); ExitLong("bx2",AtLimit,EntryPrice+Profitpoint); } Inputs: PercentRLen(1), OverSold(1), OverBought(72), Trigger(43); Variables: PcntR(0), AvgValue(0), Setup1(False), Setup2(False); PcntR = PercentR(PercentRLen); AvgValue = MA(Close, PercentRLen); If PcntR < OverSold Then Setup1 = True; If PcntR > OverBought Then Setup1 = False; If PcntR > OverBought Then Setup2 = True; If PcntR < OverSold Then Setup2 = False; //ma1 Input : maPeriod1(4); var : MAv1(0); MAv1 = ma(C,maPeriod1); //ma2 Input : maPeriod2(9); var : MAv2(0); MAv2 = ma(C,maPeriod2); //ma3 Input : maPeriod3(15); var : MAv3(0); MAv3 = ma(C,maPeriod3); //ma4 Input : maPeriod4(70); var : MAv4(0); MAv4 = ma(C,maPeriod4); //RSI Input : rsiPeriod(14); var : RSV(0); RSV = RSI(rsiPeriod); if V > Vol && MAv1 > MAv2 && MAv2 > MAv3 && MAv3 > MAv4 && RSV > RSVValue && MAv2 - MAv4 <= 간격 or Setup1 AND AvgValue > AvgValue[1] AND Crossup(PcntR,Trigger)and MAv1 > MAv2 and MAv2 > MAv3 and MAv3 > MAv4 Then { Buy("매수", OnClose, DEF); } //매수청산1 if C < MAv4 Then Exitlong("청산1"); B식 input : RSVValue(61); Input : Vol(1020); Input : 간격(0.3); input : LossPoint(0.75); input : ProfitPoint(2.35); if MarketPosition == 1 Then{ ExitLong("bx1",AtStop,EntryPrice-Losspoint); ExitLong("bx2",AtLimit,EntryPrice+Profitpoint); } //ma1 input : maPeriod1(7); var : MAv1(0); MAv1 = ma(C,maPeriod1); //ma2 input : maPeriod2(16); var : MAv2(0); MAv2 = ma(C,maPeriod2); //ma3 input : maPeriod3(24); var : MAv3(0); MAv3 = ma(C,maPeriod3); //ma4 input : maPeriod4(47); var : MAv4(0); MAv4 = ma(C,maPeriod4); //RSI input : rsiPeriod(7); var : RSV(0); RSV = RSI(rsiPeriod); if V > Vol && MAv1 > MAv2 && MAv2 > MAv3 && MAv3 > MAv4 && RSV > RSVValue && MAv2 - MAv4 <= 간격 Then { Buy("매수", OnClose, DEF); } //매수청산1 if C < MAv4 Then Exitlong("청산1"); 이상입니다 너무 번거럽거 해 드려서 죄송합니다 즐거운 신정 보내세요