커뮤니티
부탁 드려요
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");
이상입니다 너무 번거럽거 해 드려서 죄송합니다 즐거운 신정 보내세요
다음글
이전글