커뮤니티
문의합니다
2018-07-06 18:53:54
194
글번호 120336
var : Buyentry(false);
BW_SEVEN = value;
if BW_SEVEN >= 7 and BW_SEVEN[1] < 7 Then
{
T1 = 2;
T2 = T1[1];
T3 = T2[1];
}
if BW_SEVEN < 7 and BW_SEVEN[1] == 7 Then
{
T1 = 1;
T2 = T1[1];
T3 = T2[1];
}
if BW_SEVEN <= -7 and BW_SEVEN[1] > -7 Then
{
T1 = -2;
T2 = T1[1];
T3 = T2[1];
}
if BW_SEVEN > -7 and BW_SEVEN[1] == -7 Then
{
T1 = -1;
T2 = T1[1];
T3 = T2[1];
}
var1 = ma(c,5);
var2 = ma(C,20);
Condition1 = T1 != T1[1] and T1 == 2 and T2 == 1 and T3 == 2 and CrossUp(var1,var2);
if T != T1[1] and T1 == 2 and T2 == -1 Then
Buyentry = true;
if MarketPosition <= 0 and C > O and Condition1[1] == true Then
buy();
if MarketPosition == 1 then
{
BuyEntry = false;
}
1.
시스템 정말 많은 도움이 됐습니다
그런데 한가지 잘못질문한것이 있는듯해서요
바이너리가 2번째에만 매매를 하고 싶습니다
매번이 아니라....
다시말해 바이너리가 7을 찍고 -7을 찍지 않고 다시올라가서 7을 찍으면
그때부터 매수(5이평선이 20이평선을 골드크로스)를 하고 다시 7이하로 내려오면 이후에는 매매하지 않고
-7을 찍고 다시 7을 찍고 다시한번 7을 내려가고 -7을 찍지 않고 다시 7을 올라오면 그때 매수(5이평선이 20이평선을 골드크로스)를 하고 제가 말주변이 없어 이렇게 표현을 하네요....
그림으로 첨부했습니다
if (TotalTrades == 0 or (TotalTrades >= 1 and var1 == 1 )) and A 수식 then
buy("A 매수");
if (TotalTrades == 0 or (TotalTrades >= 1 and var1 == 2)) and B 수식 Then
buy("B 매수");
if (TotalTrades == 0 or (TotalTrades >= 1 and var1 == 3)) and C 수식 Then
sell("C 매도");
if (TotalTrades == 0 or (TotalTrades >= 1 and var1 == 4)) and D 수식 Then
sell("D 매도");
청산식
#청산완료
if TotalTrades > TotalTrades[1] then
{
var1 = 0;
var2 = 0;
if IsEntryName("A 매수",1) == true Then
{
if PositionProfit(1) > 0 then
var1 == 2;
else
var1 == 4;
}
if IsEntryName("C 매도",1) == true then
{
if PositionProfit(1) > 0 Then
var1 == 4;
Else
var1 == 2;
}
if IsEntryName("B 매수",1) == true then
{
if PositionProfit(1) > 0 Then
{
var1 == 1;
var1 == 3;
}
Else
{
var1 == 1;
var1 == 3;
}
}
if IsEntryName("D 매도",1) == true then
{
if PositionProfit(1) > 0 Then
{
var1 == 1;
var1 == 3;
}
Else
{
var1 == 1;
var1 == 3;
}
}
}
2.위의 식은
A 매수해서 이익이나면 B 매수로 손실이나면 D 매도로 진입하고
C 매도해서 이익이나면 D 매도료 손실이나면 B 매수로 진입하고
C 매수해서 이익과 손실이나도 A 매수나 C 매도나 빠른신호로 진입하고
D 매도해서 이익과 손실이나도 A 매수나 C 매도나 빠른신호로 진입하라라고
만든 함수인데 원하는데로 신호가 안나오네요
수정 부탁드립니다
감사합니다
늘 승리하세요
- 1. 120926_질문.png (0.01 MB)
답변 1
예스스탁 예스스탁 답변
2018-07-06 18:18:41
안녕하세요
예스스탁입니다.
Input: shortPeriod(12), longPeriod(26), Period(9), maPeriod(20), ROCPeriod(12), stoPeriod1(5),
stoPeriod2(3), CCIPeriod(9);
var: value(0),BW_SEVEN(0),T1(0),T2(0),T3(0);
//문장1 : MACD가 MACD 시그널선 보다 큼
if ema(C,shortPeriod)-ema(C,longPeriod) >= ema(ema(C,shortPeriod)-ema(C,longPeriod),Period) then
value = 1;
else
value = -1;
//문장2 : 종가가 이동평균선보다 큼
if C >= ma(C, maPeriod) then
value = value + 1;
else
value = value - 1;
//문장3 : Price ROC가 0선보다 큼
if (C - C[ROCPeriod]) / C[ROCPeriod] * 100 >= 0 then
value = value + 1;
else
value = value - 1;
//문장4 : StochasticsK선이 50선 보다 큼
if ema((C-lowest(L, stoPeriod1)) / (highest(H, stoPeriod1) - lowest(L, stoPeriod1)) * 100, stoPeriod2)>=50 then
value = value + 1;
else
value = value - 1;
//CCI가 0선 보다 큼
if CCI(CCIPeriod) > 0 then
value = value + 1;
else
value = value - 1;
//CO가 0선 보다 큼
if ema(accum(((C -L)-(H- C))/ (H-L)*V), 3) - ema(accum(((C -L)-(H- C))/(H-L)*V), 10) >=0 then
value = value + 1;
else
value = value - 1;
//문장7 : 종가가 파라볼릭보다 큼
if SAR(0.02,0.2) < C then
value = value + 1;
else
value = value - 1;
var : BuyEntry(false),count(0),T(0);
BW_SEVEN = value;
if BW_SEVEN == 7 Then
{
T = 1;
}
if BW_SEVEN == -7 Then
{
T = -1;
}
if T == -1 Then
count = 0;
if T == 1 and T[1] == -1 Then
{
count = 1;
BuyEntry = true;
}
if T == 1 and T[1] == 1 and BW_SEVEN == 7 and BW_SEVEN[1] < 7 Then
count = count+1;
var1 = ma(c,5);
var2 = ma(C,20);
if BuyEntry == true and BW_SEVEN == 7 and count == 2 and crossup(var1,var2) Then
buy();
if MarketPosition == 1 Then
BuyEntry = false;
즐거운 하루되세요
> 돌아온스머프 님이 쓴 글입니다.
> 제목 : 문의합니다
> var : Buyentry(false);
BW_SEVEN = value;
if BW_SEVEN >= 7 and BW_SEVEN[1] < 7 Then
{
T1 = 2;
T2 = T1[1];
T3 = T2[1];
}
if BW_SEVEN < 7 and BW_SEVEN[1] == 7 Then
{
T1 = 1;
T2 = T1[1];
T3 = T2[1];
}
if BW_SEVEN <= -7 and BW_SEVEN[1] > -7 Then
{
T1 = -2;
T2 = T1[1];
T3 = T2[1];
}
if BW_SEVEN > -7 and BW_SEVEN[1] == -7 Then
{
T1 = -1;
T2 = T1[1];
T3 = T2[1];
}
var1 = ma(c,5);
var2 = ma(C,20);
Condition1 = T1 != T1[1] and T1 == 2 and T2 == 1 and T3 == 2 and CrossUp(var1,var2);
if T != T1[1] and T1 == 2 and T2 == -1 Then
Buyentry = true;
if MarketPosition <= 0 and C > O and Condition1[1] == true Then
buy();
if MarketPosition == 1 then
{
BuyEntry = false;
}
시스템 정말 많은 도움이 됐습니다
그런데 한가지 잘못질문한것이 있는듯해서요
바이너리가 2번째에만 매매를 하고 싶습니다
매번이 아니라....
다시말해 바이너리가 7을 찍고 -7을 찍지 않고 다시올라가서 7을 찍으면
그때부터 매수(5이평선이 20이평선을 골드크로스)를 하고 다시 7이하로 내려오면 이후에는 매매하지 않고
-7을 찍고 다시 7을 찍고 다시한번 7을 내려가고 -7을 찍지 않고 다시 7을 올라오면 그때 매수(5이평선이 20이평선을 골드크로스)를 하고 제가 말주변이 없어 이렇게 표현을 하네요....
그림으로 첨부했습니다
감사합니다
행복한 주말 보내세요
다음글
이전글