[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

[Deleted]  
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.
[Deleted]  
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? ;)
[Eliminato]  

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!

[Eliminato]  

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)
            {
          //ваши действия 
            }
       }
   }