[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 55

 
mr_Johns:

se((b_mod) && (prezzoB > Ask)) OrderModify(b_ticket,priceB,priceS,0,0,Brown);
if((s_mod) && (priceS < Bid)) OrderModify(s_ticket,priceS,priceB,0,0,Brown);


Qui dovremmo considerare MarketInfo(Symbol(),MODE_STOPLEVEL) cioè

prezzoB >= Ask+ MarketInfo(Symbol(),MODE_STOPLEVEL)*Point

priceS < =Bid- MarketInfo(Symbol(),MODE_STOPLEVEL)*Point




No. Questa domanda è già stata risolta sopra. La funzione ha semplicemente lavorato durante il test su ogni tick e un nuovo prezzo non è stato ottenuto così rapidamente. Ma quando il prezzo non è cambiato, si è verificato l'errore.
 
hoz:

Bene, se si passano elementi a una funzione di tipo double oint, questa può anche eseguire le stesse operazioni, ma senza alcuna perversione. Perché complicarsi la vita?

Se una funzione ha un tipo, si presume che la funzione restituisca un valore di quel tipo.

int test() {
  int res;
  
  // какие-то действия
  
  return(res);
}

La vostra funzione non restituisce nulla.

 
hoz:

No. Questa domanda è già stata risolta sopra. La funzione ha semplicemente lavorato durante il test su ogni tick e il nuovo prezzo non è stato ottenuto così rapidamente. Ma quando il prezzo non è cambiato, l'errore è saltato fuori.

Cosa vuol dire no? Se la condizione

priceB >= Ask+ MarketInfo(Symbol(),MODE_STOPLEVEL)*Point

non è soddisfatto e priceB >Ask (come nel codice)

otterrete un errore.

Per non modificare l'ordine quando il prezzo non ha avuto il tempo di cambiare, dovremmo inserire la condizione priceB!=OrderOpenPrice()

 
MikeM:
Io scrivereiOra()>=18, e butterei via i minuti.
Ed è la cosa giusta da fare. Ho usato la funzione per altri scopi e l'ho trasferita meccanicamente qui.
//---не давать коду советника работать в пятницу с 18-00 по серверному времени 
   if(DayOfWeek()==5 && Hour()>=18){
      
      return(0);  
   } 
 
Potete per favore consigliarmi se è possibile scrivere un indicatore in cui le linee saranno disegnate in un timeframe, e i dati per il suo disegno saranno presi da un altro timeframe? lo scopo: visualizzare il ridisegno dell'ultima barra. come farlo?
 
lottamer:
Potete consigliarmi se è possibile scrivere un indicatore che disegnerà delle linee in un timeframe, e i dati per il suo disegno saranno presi da un altro timeframe? Lo scopo: visualizzare il ridisegno dell'ultima barra.

È l'elementare Watson... In ogni caso, invece di Period() usate PERIOD_M15 (il lasso di tempo dal quale volete ricevere i dati)... E metti l'indicatore sul grafico corrente. Vale a dire, impostare forzatamente l'arco di tempo da cui si vogliono prendere i dati.
 
Sepulca:

È l'elementare Watson... In ogni caso, invece di Periodo() usate PERIODO_M15 (il timeframe da cui volete ottenere i dati)... E metti l'indicatore sul grafico corrente. Vale a dire, impostare forzatamente l'arco di tempo da cui si vogliono prendere i dati.


Sarebbe facile, se stessi scrivendo un Expert Advisor.

ma c'è un indicatore, non li ho mai scritti prima.

Ho guardato uno stocastico standard come esempio. Ho letto il primer sugli indicatori.

Non ho mai letto nulla a proposito di periodi. sembra significare che le barre sono considerate nel timeframe al quale l'indicatore è stato applicato.

questo è il motivo della mia domanda.....

 
lottamer:


Questo sarebbe facile se stessi scrivendo un EA.

ma c'è un indicatore, non li ho mai scritti prima.

Ho guardato uno stocastico standard come esempio. Ho letto il primer sugli indicatori.

Non ho mai letto nulla a proposito di periodi. sembra significare che le barre sono considerate nel timeframe al quale l'indicatore è stato applicato.

questo è il motivo della mia domanda....


In stocastico standard:

double iStochastic( string symbol, int timeframe, int %Kperiod, int %Dperiod, int slowing, int method, int price_field, int mode, int shift)

Se scrivete il vostro indicatore unico, usate int iBars( string symbol, int timeframe) invece di Bars

https://docs.mql4.com/ru/series/iBars

 
Sepulca:


In uno stocastico standard:

double iStochastic( string symbol, int timeframe, int %Kperiod, int %Dperiod, int slowing, int method, int price_field, int mode, int shift)

Se scrivete il vostro indicatore unico, usate int iBars( string symbol, int timeframe) invece di Bars

https://docs.mql4.com/ru/series/iBars


il problema sembrava facilmente risolvibile.

sostituito tutte le barre coniBars (viaint iB; iB=iBars("EUROUSD",PERIOD_M5);) Nessun errore.

ma nessun grafico. Appare una finestra vuota.

Chiaramente manca qualcosa.

L'indicatore può disegnare 12 linee su una barra? Perché ci sono 12 pentametri a ore 1 e ognuno disegna la sua linea.

 
lottamer:


Il problema sembrava essere facilmente risolvibile.

sostituito tutte le barre coniBars (viaint iB; iB=iBars("EUROUSD",PERIOD_M5);) nessun errore.

Ma nessun grafico. Appare una finestra vuota.

Chiaramente manca qualcosa.

L'indicatore può disegnare 12 linee su una barra? Per esempio, ci sono 12 pentametri a ore 1 e ognuno disegna la sua linea.


Lo stesso vale per Close - iClose, Open - iOpen, Time - iTime Volume - iVolume, ecc.

L'indicatore può disegnare fino a 8 linee da 0 a 7 https://docs.mql4.com/ru/customind/indicatorbuffers.