문제는 표시기 코드를 ea에 추가하는 방법입니다 ??
특정 제한 사항이 있기는 하지만 iCustom을 사용하는 것이 훨씬 쉽습니다.
그러나 정말로 원하는 경우: 지표 코드를 전문가 고문 코드로 전송. 지표 구조 - MQL4 기사
Stochastic의 경우 iCustom이 필요하지 않습니다.
매개변수:
견본: if(iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0)>iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,0)) 리턴(0); |
ea에 rvi 표시기를 추가하는 것은 어떻습니까?
또한 stochastic 을 추가 하는 방법과 동일한 코드를 사용합니까?
ea에 rvi 표시기를 추가하는 것은 어떻습니까?
또한 stochastic 을 추가하는 방법과 동일한 코드를 사용합니까?
iCustom() 또는 iRVI()
ea에 rvi 표시기를 추가하는 것은 어떻습니까?
또한 stochastic 을 추가하는 방법과 동일한 코드를 사용합니까?
여기 내가 오늘 아침에 한 코드입니다.
누구든지 내가 그것을 고칠 수 있도록 도와 줄 수 있습니까 ??
//+----------------------------------------------- -------------------+
정수 초기화()
{
//---- 표시기 버퍼 매핑
SetIndexBuffer(0,버퍼);
SetIndexBuffer(1, 신호 버퍼);
//---- 표시줄
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
//---- 그리기 설정
SetIndexDrawBegin(0,RVIPeriod+3);
SetIndexDrawBegin(1,RVIPeriod+7);
//---- DataWindow의 이름 및 표시기 하위 창 레이블
IndicatorShortName("RVI("+RVIPeriod+")");
SetIndexLabel(0,"RVI");
SetIndexLabel(1,"RVIS");
//---- 초기화 완료
리턴(0);
}
{
이중 입찰 =MarketInfo(Symbol(),MODE_BID); // Bid 값 요청
이중 요청 =MarketInfo(Symbol(),MODE_ASK); // Ask 값 요청
더블 포인트 =MarketInfo(Symbol(),MODE_POINT);//포인트 요청
반품; // 시작() 종료
if(AccountFreeMargin()<100)
Print("돈이 없습니다. Free Margin = ", AccountFreeMargin());
리턴(0);
}
정수 시작()
{
{
int i,j,nLimit,nCountedBars;
더블 dValueUp, dValueDown, dNum, dDeNum;
//----
if(막대<=RVIPeriod+8) return(0);
//----
nCountedBars=IndicatorCounted();
//---- 가능한 오류 확인
if(nCountedBars<0) return(-1);
//---- 마지막으로 계산된 막대가 다시 계산됩니다.
nLimit=바-RVIPeriod-4;
if(nCountedBars>RVIPeriod+4)
nLimit=막대-nCountedBars;
//---- 첫 번째 버퍼에서 계산된 RVI
for(i=0; i<=nLimit; i++)
{
dNum=0.0;
dDeNum=0.0;
for(j=i; j<i+RVIPeriod; j++)
{
dValueUp=((닫기[j]-열기[j])+2*(닫기[j+1]-열기[j+1])+2*(닫기[j+2]-열기[j+2]) +(닫기[j+3]-열기[j+3]))/6;
dValueDown=((높음[j]-낮음[j])+2*(높음[j+1]-낮음[j+1])+2*(높음[j+2]-낮음[j+2]) +(높음[j+3]-낮음[j+3]))/6;
dNum+=dValueUp;
dDeNum+=dValueDown;
}
if(dDeNum!=0.0)
버퍼[i]=dNum/dDeNum;
또 다른
버퍼[i]=dNum;
}
//---- 두 번째 버퍼에서 카운트된 신호 라인
nLimit=바-RVIPeriod-7;
if(nCountedBars>RVIPeriod+8)
nLimit=막대-nCountedBars+1;
for(i=0; i<=nLimit; i++)
신호버퍼[i]=(버퍼[i]+2*버퍼[i+1]+2*버퍼[i+2]+버퍼[i+3])/6;
//----
리턴(0);
}
{
OrderSend(Symbol,LotSize,Ask,StopLoss,TakeProfit,0,0);
if (닫기<i)
오픈바이();
리턴(0);
OrderSend(Symbol,LotSize,Bid,StopLoss,TakeProfit,0,0);
if (닫기>i)
오픈셀();
리턴(0);
}
더블 GetSizeLot() { 반환(LotSize); }
이중 GetTakeProfitBuy() { return(Ask+TakeProfit*Point); }
이중 GetTakeProfitSell() { 반환(입찰가-가득점*포인트); }
더블 GetStopLossBuy() { return(Bid-StopLoss*Point); }
더블 GetStopLossSell() { return(Ask+StopLoss*Point); }
문자열 GetCommentForOrder() { 반환();}
리턴(0); }
게시하기 전에 다른 스레드를 읽으십시오. . . 그러면 다음과 같은 수많은 요청을 보았을 것입니다.
이것을 사용하여 코드를 게시하십시오. . . 읽기 쉽게 만듭니다.여기 내가 오늘 아침에 한 코드입니다.
누구든지 내가 그것을 고칠 수 있도록 도와 줄 수 있습니까 ??
위에서 언급했듯이 확률적 코딩으로 ea를 만들고 싶습니다.
문제는 표시기 코드를 ea에 추가하는 방법입니다 ??