코딩 도움말 - 페이지 492

 

경고가 너무 많음 Re: 코딩 도움말

안녕하세요 마스터님, 훌륭한 작업에 감사드립니다. 이 TrendLine Alert를 모든 사람과 공유하고 싶었습니다. 시작점 입찰 가격이 귀하가 그리는 추세선이나 수평선 을 넘을 때 소리를 재생합니다. 경고도 팝업되도록 수정합니다. 유일한 문제는 그것은 가격(입찰)이 선을 넘을 때마다 경고를 표시합니다. 나는 그것을 끝에 타임 스탬프 기능을 추가하여 선을 넘을 때 각 막대 하나만 경고하도록 수정하려고 합니다. 준수하지만 작동하지 않습니다. 모두(경고 없음) . 시간되시면 보시고 올바른 방향으로 안내해 주시면 감사하겠습니다!! 내가 추가하려고하는 코드는

static datetime lastbar;

datetime curbar = Time[0];

if(lastbar!=curbar)

{

lastbar=curbar;

return (true);

}

else return(false);

}

 
huang jin:
안녕하세요 마스터님, 훌륭한 작업에 감사드립니다. 이 TrendLine Alert를 모든 사람과 공유하고 싶었습니다. 시작점 입찰 가격이 귀하가 그리는 추세선이나 수평선을 넘을 때 소리를 재생합니다. 경고도 팝업되도록 수정합니다. 유일한 문제는 그것은 가격(입찰)이 선을 넘을 때마다 경고를 표시합니다. 나는 그것을 끝에 타임 스탬프 기능을 추가하여 선을 넘을 때 각 막대 하나만 경고하도록 수정하려고 합니다. 준수하지만 작동하지 않습니다. 모두(경고 없음) . 시간되시면 보시고 올바른 방향으로 안내해 주시면 감사하겠습니다!! 내가 추가하려고하는 코드는
static datetime lastbar;

datetime curbar = Time[0];

if(lastbar!=curbar)

{

lastbar=curbar;

return (true);

}

else return(false);

}

Close_Time에 값을 할당하지 않습니다. 그렇게 하자마자 막대당 한 번만 경고합니다.

 

@mladen TradingView에서 이 표시기를 찾았고 mt4용으로 만들 수 있습니까?

소스 코드는 다음과 같습니다.

//크리스무디 사용자가 2014년 4월 24일에 작성했습니다.

//이동 평균의 대부분을 플로팅합니다.

//기본값은 현재 차트 시간 프레임 --- 그러나 더 높거나 낮은 시간 프레임으로 변경할 수 있습니다.

//교차 표시 기능이 있는 2차 MA 기능

연구(제목="CM_Ultimate_MA_MTF", shorttitle="CM_Ultimate_MA_MTF", 오버레이=true)

//입력

src = 닫기

useCurrentRes = input(true, title="현재 차트 해상도를 사용하시겠습니까?")

resCustom = input(title="다른 기간을 사용하시겠습니까? 위의 확인란을 선택 취소하세요.", type=resolution, defval="D")

len = input(20, title="이동 평균 길이 - 룩백 기간")

유형 = 입력(1,minval=1,maxval=7,title="1=SMA, 2=EMA, 3=WMA, 4=HullMA, 5=VWMA, 6=RMA, 7=TEMA")

cc = input(true,title="방향에 따라 색상을 변경하시겠습니까?")

smoothe = 입력(2, minval=1, maxval=10, title="색상 스무딩 - 1 = 스무딩 없음")

doma2 = input(false, title="선택적 2차 이동 평균")

len2 = input(50, title="이동 평균 길이 - 선택적 2차 MA")

atype2 = 입력(1,minval=1,maxval=7,title="1=SMA, 2=EMA, 3=WMA, 4=HullMA, 5=VWMA, 6=RMA, 7=TEMA")

cc2 = input(true,title="방향 2차 MA에 따라 색상 변경?")

warn = input(false, title="***십자가를 보기 위해 두 번째 MA를 플로팅하지 않고 아래에 점 표시 매개변수 를 켤 수 있음***")

warn2 = input(false, title="***2ndMA 플로팅 없이 교차 기능을 사용하는 경우 - 2ndMA 매개변수가 올바르게 설정되었는지 확인하세요***")

sd = input(false, title="두 MA의 교차점에 점 표시")

res = useCurrentRes ? 기간 : resCustom

//선체 정의

헐마 = wma(2*wma(src, len/2)-wma(src, len), round(sqrt(len)))

//TEMA 정의

ema1 = ema(src, len)

ema2 = ema(ema1, len)

ema3 = ema(ema2, len)

테마 = 3 * (ema1 - ema2) + ema3

평균 = 유형 == 1 ? sma(src,len) : atype == 2 ? ema(src,len) : atype == 3 ? wma(src,len) : atype == 4 ? 훌마 : atype == 5 ? vwma(src, len) : atype == 6 ? rma(src,len) : 테마

//2nd Ma - 선체 ma 정의

hullma2 = wma(2*wma(src, len2/2)-wma(src, len2), round(sqrt(len2)))

//2차 MA TEMA 정의

sema1 = ema(src, len2)

sema2 = ema(sema1, len2)

sema3 = ema(sema2, len2)

줄기 = 3 * (sema1 - sema2) + sema3

평균2 = 유형2 == 1 ? sma(src,len2) : atype2 == 2 ? ema(src,len2) : atype2 == 3 ? wma(src,len2) : atype2 == 4 ? 헐마2 : atype2 == 5 ? vwma(src, len2) : atype2 == 6 ? rma(src,len2) : 테마

아웃 = 평균

out_two = 평균 2

out1 = 보안(tickerid, res, out)

out2 = 보안(tickerid, res, out_two)

ma_up = out1 >= out1[스무딩]

ma_down = out1 < out1[스무딩]

열 = 참조 ? ma_up? 라임 : ma_down ? 빨강 : 아쿠아 : 아쿠아

col2 = cc2 ? ma_up? 라임 : ma_down ? 빨강 : 아쿠아 : 아쿠아

circleY위치 = out2

plot(out1, title="Multi-Timeframe Moving Avg", style=line, linewidth=4, color = col)

plot(doma2 and out2 ? out2 : na, title="2nd Multi-TimeFrame Moving Average", style=circles, linewidth=4, color=col2)

plot(sd 및 cross(out1, out2) ? circleYPosition : na,style=cross, linewidth=5, color=yellow)

 

표시기의 스크린샷:

파일:
pepqyie.png  84 kb
 

여러 코드 인스턴스에서 공유 파일 액세스의 예가 있습니까?

 
apprentice coder:
여러 코드 인스턴스에서 공유 파일 액세스의 예가 있습니까?

여기에서 한 가지 예를 볼 수 있습니다. https://www.mql5.com/en/forum/175881/page5

 
mladen:
여기에서 한 가지 예를 볼 수 있습니다. https://www.mql5.com/en/forum/175881/page5

알았다

 

표시기 "HalfTrend-1.02"를 사용 하는 것이 있는지 알 수 있습니까?

몇 가지 예제 코드가 필요합니다.

필터링을 위해 이 인디를 사용하려고 했으나 많은 거래가 누락된 것을 보았습니다.

그게 뭐가 잘못된건지 모르겠어....

double MA_Signal = iCustom(Symbol(),0,"HalfTrend-1.02",Amplitude,false,false,false,false,false,false,false,0);

double MA_Signal1 = iCustom(Symbol(),0,"HalfTrend-1.02",Amplitude,false,false,false,false,false,false,false,1);

double MA_Signala = iMA(Symbol(),0,UpperMa,UpperMaShift,UpperMaMode,UpperMaPrice,0);

double MA_Signalb = iMA(Symbol(),0,LowerMa,LowerMaShift,LowerMaMode,LowerMaPrice,0);

double Bbands = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,2);

double Bbands2 = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,3);

double Ma_Bid_Diff = MathAbs(MA_Signala - Bid)/vPoint;

double Ma_Bid_Diff1 = MathAbs(MA_Signalb - Bid)/vPoint;

if ( MA_Signal>MA_Signala ) if ( Bbands MAOpenDistance && Bid > MA_Signala ) Signal = 1;

if ( MA_Signal1MA_Signal1 ) if ( Ma_Bid_Diff1 > MAOpenDistance && Bid < MA_Signalb ) Signal = -1;
 
stevenpun:
표시기 "HalfTrend-1.02"를 사용하는 것이 있는지 알 수 있습니까?

몇 가지 예제 코드가 필요합니다.

필터링을 위해 이 인디를 사용하려고 했지만 많은 거래가 누락된 것을 보았습니다.

그게 뭐가 잘못된건지 모르겠어....

double MA_Signal = iCustom(Symbol(),0,"HalfTrend-1.02",Amplitude,false,false,false,false,false,false,false,0);

double MA_Signal1 = iCustom(Symbol(),0,"HalfTrend-1.02",Amplitude,false,false,false,false,false,false,false,1);

double MA_Signala = iMA(Symbol(),0,UpperMa,UpperMaShift,UpperMaMode,UpperMaPrice,0);

double MA_Signalb = iMA(Symbol(),0,LowerMa,LowerMaShift,LowerMaMode,LowerMaPrice,0);

double Bbands = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,2);

double Bbands2 = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,3);

double Ma_Bid_Diff = MathAbs(MA_Signala - Bid)/vPoint;

double Ma_Bid_Diff1 = MathAbs(MA_Signalb - Bid)/vPoint;

if ( MA_Signal>MA_Signala ) if ( Bbands MAOpenDistance && Bid > MA_Signala ) Signal = 1;

if ( MA_Signal1MA_Signal1 ) if ( Ma_Bid_Diff1 > MAOpenDistance && Bid < MA_Signalb ) Signal = -1;

안녕하세요 스티븐펀입니다.

즉시 시도할 수 있는 두 가지:

1) 인쇄 및 주석을 추가 하여 모든 값을 확인하고... 모든 지표 값을 올바르게 가져오고 있는지 확인하십시오...

인쇄물은 로그에 기록되고... 댓글은 화면에 표시되므로 즉시 볼 수 있습니다.

2) "Trade Logic"을 최소화하고... 각 신호를 자체적으로 테스트합니다... 그런 다음 작동하면... 다시 함께 결합하기 시작합니다.

그들이 작동하지 않으면 ... 문제를 찾은 것입니다.

"중첩된 경우"가 적을수록 거래 없이 문제를 추적하기가 더 쉬워집니다...

또한...여러 개의 "if's"는 대부분의 거래를 걸러냅니다...그래서 잘 작동하더라도...많은 거래가 없을 수 있습니다...

도움이 되었기를 바랍니다,

로버트

 

Mladen님, 감사합니다.

mladen:
.............. 막대당 한 번만 경고합니다.

그것이 바로 내가 원하는 것입니다. 사진을 참조하십시오. 몇 틱마다 라인과 함께 가격이 오르락 내리락하고, 라인이 지나갈 때마다 인디 경고가 발생하거나 라인을 만질 때마다 ............. 내가 원하는 것은 막대에 이미 하나의 경고가 있는 경우 새 막대가 줄을 통과하면 경고를 다시 줄 때까지 기다리는 것입니다. 그러나 내가 추가한 코드 는 indi가 전혀 작동하지 않게 합니다(경고 없음). 내가 뭘 잘못했는지 다시 한 번 봐주시겠어요? 그리고 M 많은 감사합니다!!