[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 112

 
Ciao a tutti. Non so dove scriverlo, quindi lo scrivo qui. Ho bisogno di un indicatore semplice, che per i professionisti locali non sarebbe difficile da scrivere. Forse è da qualche altra parte, ma la ricerca non ha dato nulla (+7). Voglio usare l'istogramma delle strisce di attraversamento con barre sotto e sopra lo zero, rispettivamente rosse e verdi. Io uso 7EMA close e 7EMA open. Se non si può difficile da scrivere per favore o puntare il naso se un tale indicatore esiste già. Lo userò come indicatore e non so come usarlo).
 
Djon777:
Ciao a tutti. Non so dove scriverlo, quindi lo scrivo qui. Ho bisogno di un indicatore semplice, che per i professionisti locali non sarebbe difficile da scrivere. Forse è da qualche altra parte, ma la ricerca non ha dato nulla (+7). Voglio usare l'istogramma delle strisce di attraversamento con barre sotto e sopra lo zero, rispettivamente rosse e verdi. Io uso 7EMA close e 7EMA open. Se non si può difficile da scrivere per favore o puntare il naso se un tale indicatore esiste già. Lo userò come indicatore e non so come usarlo).
MACD è nel set standard di indicatori MT4.
 
Zhunko:
Il MACD è incluso nel set di indicatori standard di MT4.


Lo so, ma quello che mi serve è un istogramma come questo http://savepic.org/2586171.gif
 
artmedia70:
La sola discriminazione... :(
Per "discriminare", bisogna prima discriminare! L'unica domanda è chi? ;)
 

Buon pomeriggio!

Voglio usare un indicatore personalizzato nel mio EA. Ho scaricato l'indicatore, ho preso il suo codice e l'ho incollato nel mio EA. La mia comprensione è che la funzioneSetIndexBuffer() può essere usata solo negli indicatori. Cosa devo fare: cambiarlo in un'altra funzione (in quale) o estrarre i dati dall'indicatore personalizzato e inserirlo nel codice di Expert Advisor?

Sarei molto grato per l'aiuto!

 

Buon pomeriggio.

Ho SupDem, l'ho cambiato un po', ho aggiunto un buffer di spessore della striscia.

Sto cercando di trovare queste barre in base al loro numero rispetto alla barra 0-esima.

double GetSapDemUP(string sy="0", int tf=0,int ne=0) {
  if (sy=="" || sy=="0") sy=Symbol();
  double zz;
  int    i, k=iBars(sy, tf), ke=0;

  for (i=1; i<k; i++) {
    zz=iCustom(sy, tf, "SupDem_5z_1", 6, i+1);
    if (zz!=0) {
      ke++;
      if (ke>ne) return(zz);
    }
  }
  Print("SupDem_5z_1(): SupDem ",ne," не найден");
  return(0);
}

double GetSapDemDN(string sy="0", int tf=0,int ne=0) {
  if (sy=="" || sy=="0") sy=Symbol();
  double zz;
  int    i, k=iBars(sy, tf), ke=0;

  for (i=0; i<k; i++) {
    zz=iCustom(sy, tf, "SupDem_5z_1", 5, i);
    if (zz!=0) {
      ke++;
      if (ke>ne) return(zz);
    }
  }
  Print("SupDem_5z_1(): SupDem ",ne," не найден");
  return(0);
}
Non funziona, cosa ho fatto di sbagliato? Aiutatemi con il codice
File:
 

Buon pomeriggio!

Cari professionisti, potreste per favore consigliarmi?

Se il prezzo supera di 50 pip il prezzo aperto di questo ordine, l'ordine deve essere modificato.

OrderSelect(0, SELECT_BY_POS,MODE_TRADES);

doppio OPEN = OrderOpenPrice();
doppio maximus = OPEN + 0,00500;
Avviso ("maximus = ",maximus);
doppio minimus = OPEN - 0,00500;
RefreshRates();//aggiornare i dati.
timecur = TimeToStr(TimeCurrent(),TIME_SECONDS); //Calcolare il tempo corrente nel formato HH:MM.
if ((timecur > "00:00:00") && (timecur < "22:58:00") && (Deal_s == 1) && (Deal_bb == 0)&& (Bid > maximus))
{
OrderSelect(0, SELECT_BY_POS,MODE_TRADES);
Lootup = OrderLots () * 0.34;
Lootdown = OrderLots () * 0.34;
OrderClose(OrderTicket(), Lootdown, Ask, 10, CLR_NONE);
Avviso (GetLastError());
Deal_bb = 1;
}

Se succede durante il giorno, sono in grado di farlo. Si prega di consigliare, come controllare se il prezzo di apertura + 50 P è controllato dal prezzo per ogni lotto, fino alla chiusura in pochi giorni?

 
berezhnuy:

Buon pomeriggio.

Ho SupDem, l'ho cambiato un po', ho aggiunto un buffer di spessore della striscia.

Sto cercando di trovare queste barre in base al loro numero rispetto alla barra 0-esima.

Non lo trovo, cosa ho fatto di sbagliato? aiuto codice

È così che si cercano i prezzi degli estremi che si trovano nel buffer 0 e 1!!!

Provate ad emettere i valori via print o soment, 2 e 3, 4 e 5 buffer.

esempio:

Comment(iCustom(NULL,0, "SupDem_5z_1", 5, i));

Qualcosa del genere...

 
Egori4:

Buon pomeriggio!

Voglio usare un indicatore personalizzato nel mio EA. Ho scaricato l'indicatore, ho preso il suo codice e l'ho incollato nel mio EA. La mia comprensione è che la funzioneSetIndexBuffer() può essere usata solo negli indicatori. Cosa dovrei fare: cambiarlo in un'altra funzione (in quale funzione) o estrarre i dati dall'indicatore personalizzato e inserirlo nel codice di Expert Advisor?

Vi sarei molto grato per il vostro aiuto!

Primo di una serie di articoli:


https://www.mql5.com/ru/articles/1456

 
Boneshapper:

Buon pomeriggio!

Cari professionisti, potreste per favore consigliarmi?

Se il prezzo supera di 50 pip il prezzo aperto di questo ordine, l'ordine deve essere modificato.

OrderSelect(0, SELECT_BY_POS,MODE_TRADES);

doppio OPEN = OrderOpenPrice();
doppio maximus = OPEN + 0,00500;
Avviso ("maximus = ",maximus);
doppio minimus = OPEN - 0,00500;
RefreshRates();//Rinfresca i dati.
timecur = TimeToStr(TimeCurrent(),TIME_SECONDS); //Calcolare il tempo corrente nel formato HH:MM.
if ((timecur > "00:00:00") && (timecur < "22:58:00") && (Deal_s == 1) && (Deal_bb == 0)&& (Bid > maximus))
{
OrderSelect(0, SELECT_BY_POS,MODE_TRADES);
Lootup = OrderLots () * 0.34;
Lootdown = OrderLots () * 0.34;
OrderClose(OrderTicket(), Lootdown, Ask, 10, CLR_NONE);
Avviso (GetLastError());
Deal_bb = 1;
}

Se succede durante il giorno, sono in grado di farlo. Per favore consigliatemi, come controllare come impostare la condizione che controlla il prezzo di apertura + 50 P per ogni lotto, fino alla chiusura in pochi giorni.

Prova a fare un ciclo attraverso le posizioni

for(int i=OrdersTotal()-1; i>=0; i--)
   {
    if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
       {
         if(OrderType()==OP_BUY)
            {
          //ваши действия 
            }
         if(OrderType()==OP_SELL)
            {
          //ваши действия 
            }
       }
   }