[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 270

 

Ciao a tutti.

Ho bisogno di aiuto - ditemi come fare questo in EA:

Sovrapporre un indicatore su un altro?

Chiamo il primo indicatore, che prende i valori dal grafico.

Come chiamare il secondo, in modo che prenda i valori dal primo?

Se possibile, con un esempio (applichiamo i muwings all'atp).

Grazie in anticipo.

 

Potete dirmi per favore dove nel codice c'è un errore? L'Expert Advisor compra solo... Dopo uno stop o una presa, aspetta che la barra si chiuda e compra di nuovo... Se scambio buy e sell sulle prime righe, vende e basta... Per favore, ditemi cosa può essere...

if (PerkyBuf1!=0 && OrdCon(MG)==0) {OrderOp(OP_SELL,Lots);  
    }  
    if (PerkyBuf2!=0 && OrdCon(MG)==0) {OrderOp(OP_BUY,Lots);  
    }
 }

return(0);
}


int OrderOp(int ord,double lot)  
{
   int ticket1;
   string ccm="";
   double l;
   bool SLTP;
   
   
   if (ord==OP_BUY) {
      l=NormalizeDouble(MarketInfo(Symbol(), MODE_ASK), MarketInfo(Symbol(), MODE_DIGITS));
      ccm="pivot: BUY";
      ticket1=OrderSend(Symbol(),ord,lot,l,3,0,0,ccm,MG,0,White);
      if (ticket1!=0) {
            if (StopLoss!=0) {SL=NormalizeDouble(l-StopLoss*Point,Digits);}
            if (TakeProfit!=0) {TP=NormalizeDouble(l+TakeProfit*Point,Digits);}
            SLTP=OrderModify(ticket1,OrderOpenPrice(),SL,TP,0,Red);
            if (SLTP) {return(0);}
      } 
   }           
   
   if (ord==OP_SELL) {
      l=NormalizeDouble(MarketInfo(Symbol(), MODE_BID), MarketInfo(Symbol(), MODE_DIGITS));
      ccm="pivot: SELL";
      ticket1=OrderSend(Symbol(),ord,lot,l,3,0,0,ccm,MG,0,White);
      if (ticket1!=0) {
            if (StopLoss!=0) {SL=NormalizeDouble(l+StopLoss*Point,Digits);}
            if (TakeProfit!=0) {TP=NormalizeDouble(l-TakeProfit*Point,Digits);}
            SLTP=OrderModify(ticket1,OrderOpenPrice(),SL,TP,0,Red);
            if (SLTP) {return(0);}
 
Mihoi:

Ciao a tutti.

Ho bisogno di aiuto - ditemi come fare questo in EA:

Sovrapporre un indicatore su un altro?

Chiamo il primo indicatore, che prende i valori dal grafico.

Come chiamare il secondo, in modo che prenda i valori dal primo?

Se possibile, con un esempio (applichiamo i muwings all'atp).

Grazie in anticipo.

Nell'indicatore ATR stesso inserite qualche riga in più.

Un buon esempio per risolvere il problema sarebbe l'indicatore MACD dal gruppo di indicatori personalizzati.

Aprite il codice dell'indicatore MACD e vedete come si fa.

È molto semplice. iMAOnArray().

 
ostrik:

Potete dirmi per favore dove nel codice c'è un errore? L'Expert Advisor compra solo... Dopo uno stop o una presa, aspetta che la barra si chiuda e compra di nuovo... Se scambio buy e sell sulle prime righe, vende e basta... Per favore, ditemi cosa può essere...


if (PerkyBuf1!=0 && OrdCon(MG)==0) {OrderOp(OP_SELL,Lots);  
    }  
    if (PerkyBuf2!=0 && OrdCon(MG)==0) {OrderOp(OP_BUY,Lots);  
    }
 } --- может, эта скобка лишняя???
 
Grazie, farò una prova!
 
DhP:



No, la staffa sembra a posto...
 
ostrik:

No, le parentesi vanno bene...

Voi state un po' accennando al fatto che avete fornito un codice incompleto con una funzione incompleta.

Infatti, Print or Comment rules.

 
sergeev:

Voi state un po' accennando al fatto che avete fornito un codice incompleto con una funzione incompleta.

In generale, le regole di Print or Comment.


Il fatto è che sto imparando queste cose difficili e non so fare proprio niente... Ho la sensazione che le mie mani non stiano crescendo nella giusta direzione ))

 

Ciao, come spostare la linea dell'indicatore in avanti di una barra?

#property copyright "autoforex"
#property link "http://www.autoforex.ru"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
#property indicator_width1 2
#property indicator_style1 0

double Buffer1[];

int init()
{
SetIndexBuffer(0,Buffer1);
SetIndexStyle(0,DRAW_LINE);
return(0);
}
int start()
{
for(int i=0;i<Bars;i++)
{
Buffer1[i]=High[i];
}
return(0);
}

Ho un'idea invece di Buffer1[i]=High[i]; mettere Buffer1[i-1]=High[i]; ma ahimè non disegna avanti(

 
tmt0086:

Ciao, come spostare la linea dell'indicatore in avanti di una barra?

#property copyright "autoforex"
#property link "http://www.autoforex.ru"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
#property indicator_width1 2
#property indicator_style1 0

double Buffer1[];

int init()
{
SetIndexBuffer(0,Buffer1);
SetIndexStyle(0,DRAW_LINE);
return(0);
}
int start()
{
for(int i=0;i<Bars;i++)
{
Buffer1[i]=High[i];
}
return(0);
}

Ho un'idea invece di Buffer1[i]=High[i]; mettere Buffer1[i-1]=High[i]; ma ahimè non disegna avanti(


l'ha capito