il problema è come aggiungere il codice indicatore in un ea?
Si può, con certe limitazioni, ma usare iCustom è molto più facile.
Ma se vuoi veramente farlo: Trasferire un codice indicatore in un codice Expert Advisor. Struttura dell'indicatore - Articoli MQL4
Per Stocastico non è necessario iCustom
Parametri:
Esempio: 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)) return(0); |
come aggiungere l'indicatore rvi nell'ea?
anche utilizzando lo stesso codice come il modo di aggiungere stocastico?
come aggiungere l'indicatore rvi nell'ea?
anche utilizzando lo stesso codice come il modo di aggiungere stocastico?
iCustom() o iRVI()
come aggiungere l'indicatore rvi nell'ea?
anche utilizzando lo stesso codice come l'aggiunta di stocastico modo?
Ecco il codice che ho fatto questa mattina.
qualcuno può aiutarmi a sistemarlo?
//+------------------------------------------------------------------+
int init()
{
//---- mappatura dei buffer degli indicatori
SetIndexBuffer(0,Buffer);
SetIndexBuffer(1,SignalBuffer);
//---- linea dell'indicatore
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
//---- impostazioni di disegno
SetIndexDrawBegin(0,RVIPeriod+3);
SetIndexDrawBegin(1,RVIPeriod+7);
//---- nome per DataWindow e l'etichetta della sottofinestra dell'indicatore
IndicatorShortName("RVI("+RVIPeriod+")");
SetIndexLabel(0, "RVI");
SetIndexLabel(1, "RVIS");
//---- inizializzazione fatta
return(0);
}
{
double bid =MarketInfo(Symbol(),MODE_BID); // Richiesta del valore di Bid
double ask =MarketInfo(Symbol(),MODE_ASK); // Richiesta del valore di Ask
double point =MarketInfo(Symbol(),MODE_POINT);//Richiesta di Point
return; // Esci da start()
if(ContoFreeMargin()<100)
Print("Non abbiamo soldi. Margine libero = ", AccountFreeMargin());
return(0);
}
int start()
{
{
int i,j,nLimit,nCountedBars;
double dValueUp,dValueDown,dNum,dDeNum;
//----
if(Bars<=RVIPeriod+8) return(0);
//----
nCountedBars=IndicatorCounted();
//---- controllare eventuali errori
if(nCountedBars<0) return(-1);
//---- l'ultima barra contata sarà ricontata
nLimit=Bars-RVIPeriod-4;
se(nCountedBars>RVIPeriod+4)
nLimit=Bars-nCountedBars;
//---- RVI contati nel 1° buffer
for(i=0; i<=nLimit; i++)
{
dNum=0.0;
dDeNum=0.0;
for(j=i; j<i+RVIPeriod; j++)
{
dValueUp=((Close[j]-Open[j])+2*(Close[j+1]-Open[j+1])+2*(Close[j+2]-Open[j+2])+(Close[j+3]-Open[j+3]))/6;
dValueDown=((High[j]-Low[j])+2*(High[j+1]-Low[j+1])+2*(High[j+2]-Low[j+2])+(High[j+3]-Low[j+3]))/6;
dNum+=dValueUp;
dDeNum+=dValueDown;
}
if(dDeNum!=0.0)
Buffer[i]=dNum/dDeNum;
altrimenti
Buffer[i]=dNum;
}
//---- linea di segnale contata nel 2° buffer
nLimit=Bars-RVIPeriod-7;
if(nCountedBars>RVIPeriod+8)
nLimit=Bars-nCountedBars+1;
for(i=0; i<=nLimit; i++)
SignalBuffer[i]=(Buffer[i]+2*Buffer[i+1]+2*Buffer[i+2]+Buffer[i+3])/6;
//----
return(0);
}
{
OrderSend(Symbol,LotSize,Ask,StopLoss,TakeProfit,0,0);
se (Chiusura<i)
OpenBuy();
return(0);
OrderSend(Symbol,LotSize,Bid,StopLoss,TakeProfit,0,0);
se (Chiusura>i)
OpenSell();
return(0);
}
double GetSizeLot() { return(LotSize); }
double GetTakeProfitBuy() { return(Ask+TakeProfit*Point); }
double GetTakeProfitSell() { return(Bid-TakeProfit*Point); }
double GetStopLossBuy() { return(Bid-StopLoss*Point); }
double GetStopLossSell() { return(Ask+StopLoss*Point); }
string GetCommentForOrder() { return();}
return(0); }
Prima di postare per favore leggete alcuni degli altri thread. . . allora avreste visto numerose richieste come questa:
Si prega di utilizzare questo per postare il codice . . rende più facile la lettura.
Ecco il codice che ho fatto questa mattina.
qualcuno può aiutarmi a risolvere il problema?
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
come ho detto sopra, desidero fare un ea con codice stocastico.
il problema è come aggiungere il codice dell'indicatore nell'ea?