Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 792

 

Voglio fare un EA per aprire un certo numero di ordini di acquisto e di vendita ad una certa distanza.

int pendolare()

{
int t = 0;
for(int i=OrdersTotal()-1;i>=0;i--)
{
se(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if( OrderSymbol()!=Symbol() || OrderType() != OP_BUYSTOP ||
OrderType()!= OP_SELLSTOP)continua;
{
t++;
se(nOrdini < t*2)

{
OrderSend(Symbol(),OP_SELLSTOP,lot,Ask - (opdist + mn)*Point,3,Ask - (opdist + mn)*Point + sl*Point,Ask - (opdist + mn)*Point - sl*Point,",mn,0,Red);
}
else if(nOrders < t*2)
OrderSend(Symbol(),OP_BUYSTOP,lot,Bid + (opdist + mn + 1)*Point,3,Bid + (opdist + mn + 1)*Point - sl*Point,Bid + (opdist + mn + 1)*Point + sl*Point,",mn + 1,0,Blue);
}
mn +1;
}}

ritorno(o);
}
 
È così difficile premere Ctrl+Alt+M per inserire il codice? Per quanto riguarda la domanda - ci sono molti consulenti di griglia nel kodobase, cercate qualcosa come questo.
 
evillive:
È così difficile premere Ctrl+Alt+M per inserire il codice? Per quanto riguarda la domanda - ci sono un sacco di EAs in kodobase - gridlockers, guarda così.
grazie mille
 
Vinin:
Cambio dell'ora della candela
Grazie, ma non capisco bene la risposta. Ti riferisci a

TimeCurrent

https://docs.mql4.com/ru/dateandtime/timecurrent


Ozero.

 
Ozero:
Grazie, ma non capisco bene la risposta. Vuoi dire che

TimeCurrent

https://docs.mql4.com/ru/dateandtime/timecurrent


Ozero.

Significa il tempo di una candela, Time[0] è il tempo di apertura della candela corrente. Dovrebbe essere confrontato con il tempo della candela salvata in precedenza in qualche variabile, ogni tick. Se il valore della variabile è inferiore all'arrivo del prossimo tick, significa che è apparsa una nuova candela.

Da questa parte:

static datetime prevtime=0;                  
void OnInit()
{
   prevtime=Time[0];
}
void OnTick() 
{
{код, исполняемый на каждом тике}

   if(Time[0] <= prevtime) return;
   else      prevtime=Time[0];

{код, исполняемый на открытии нового бара}

}
 
evillive:

Significa il tempo di una candela, Time[0] è il tempo di apertura della candela corrente. Dovrebbe essere confrontato con il precedente salvato nel tempo di qualche candela variabile, ogni tick. Se il valore della variabile è inferiore all'arrivo del prossimo tick, significa che è apparsa una nuova candela.

Sembra in qualche modo così:

Perché avete bisogno di statica a livello di variabili globali?


Non capisco anche perché

if(Time[0] <= prevtime) return;

Perché se arriva una nuova barra, prevtime sarà uguale a Time[1], che sarà sempre inferiore a Time[0].

 
evillive:

Allora qual è il problema? Penso che la soluzione sia in grassetto...

Non so come convertire la funzione in Unicode, è quello che sto chiedendo.
 
AlexeyVik:

E perché abbiamo bisogno di mantenerlo a livello di variabili globali?


Non capisco anche perché

Dopo tutto, se c'è una nuova barra, prevtime sarà uguale a Time[1], che sarà sempre inferiore a Time[0].

La statica è stata scritta anni fa e non da me, e in generale, la struttura ha funzionato per diversi anni senza problemi nella stessa forma, e ciò che funziona - non toccarlo, è una regola di ferro ))))

E per quanto riguarda la logica della seconda domanda, ripensaci, devi aver frainteso qualcosa.

 

Prendine due.

È possibile mostrare il grafico dell'equilibrio in una finestra separata, ma senza barre?

Cioè, per disegnare una linea curva come quella del tester di strategia, in modo che tutto entri in una finestra.

 

Ciao, ho questo indicatore: potenza totale. Io ci lavoro. Sono un completo estraneo alla programmazione, quindi sto scrivendo qui nella speranza di un aiuto e anche nella speranza che la mia domanda sia semplice e non complicata per una persona esperta.

Come posso dipingere questi tre valori numerici con i loro colori (nello screenshot sono contrassegnati da una linea tratteggiata)? Che non fossero di un solo colore grigio. Volevo anche farli un po' più grandi?

Motivazione: