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

 
MQL414:

Può " Se TP. e Ask< iClose("USDCHF",PERIOD_H1,i) allora Lot=0.0.


La condizione è soddisfatta all'inizio di ogni ora se l'apertura è al di sotto (in vendita) della linea di tendenza, e le candele possono essere qualsiasi, questa restrizione può portare al fatto che il primo commercio non si aprirà nemmeno.

Ho un'opzione. Per esempio, se oggi dopo una compravendita il saldo è salito di TP, allora proibisci una compravendita oggi, se compra, allora proibisci una compravendita. Ma non so come codificarlo.

 
deyron:
Grazie signore, ho fatto questo e altro - molte volte in diverse varianti. Quando provo a usare l'indicatore iCustom, funziona bene allo stesso modo, quando cambio TF viene disegnato ... Se lo rimuovo dagli appunti, verrà disegnato in una cartella diversa in iCustom ... Se provo a mettere un commento in iCustom, verrà disegnato in una cartella diversa in iCustom. Cercherò di cambiarlo nello stesso modo in cui è disegnato nel codice. Sarò felice di sentire qualsiasi altro suggerimento)).

Opzione)))... Modello salvato con lo stesso nome dell'EA con questo indicatore... allora, no?

.... Trattamento))) Rimuovere il modello .

 

Grazie! Si è schiarito un po'. Con il buffer.

E qui...

IndicatoreConteggiato( )
La funzione restituisce il numero di barre invariate dall'ultima chiamata dell'indicatore. Come? L'ho attaccato al grafico una volta, e il numero di barre sarà lo stesso? Non può essere, forse sta contando il numero dopo ogni tick. Bar dove? Probabilmente, sulla parte visibile del grafico? È davvero scritto in modo tale che si può solo indovinare! Scusa per il layout ucraino, mio fratello ha cambiato il Windows, non posso cambiarlo!
 if(counted_bars>0) counted_bars--; limit=Bars-counted_bars;
Perché è così difficile scrivere? E comunque, più bar, meno bar? Ok, continuerò a leggere il codice, forse lo capirò.

 

È possibile essere così complicati? E comunque, bar più, bar meno? OK, continuerò a leggere il codice e vedrò se riesco a capirlo.

Se il calcolo è piuttosto complicato, allora il ricalcolo inutile di migliaia di barre invariate è una grande perdita di tempo. Ho bisogno di arrivarci prima del prossimo tick, e potrebbe richiedere 250 millisecondi (sul mio server)
 
Heroix:
Korinf, leggete su OrderCloseBy().

Per quanto ho capito chiude due ordini. Cioè +1 sul primo ordine e -2 sul secondo, li chiuderà entrambi con -1 profitto totale. Ho bisogno che chiuda +1 e -1 e il saldo è il numero di lotti che dà -1. Cioè, tutto il primo + parte del secondo per lasciare un saldo.

Puoi darmi un suggerimento?
Tutto il giorno non riesco a trovare la funzione trawl points. Cioè ho trovato un sacco di piste, ma tutte usano candele o frattali o qualcos'altro.
Se il mio profitto diventasse +1, dovrei pescare per diversi punti. Per esempio, ho impostato un margine di trailing di 10 pip. Il prezzo si è mosso di 10 punti nella mia direzione - lo SL si è avvicinato di n punti. Si è spostato di 10 punti e lo SL si è avvicinato.
Penso che questo avrebbe dovuto essere implementato molto tempo fa!
 
C'è una funzione che calcola dove un gruppo di ordini raggiungerà il pareggio?

Per esempio, ho due ordini di vendita e uno di acquisto (anche se sono gli stessi). Voglio tracciare una linea dove il livello di pareggio di queste posizioni sarà se il prezzo scende.
 

korinf:
Есть ли функция которая считает где будет безубыток у кучи ордеров?

У меня есть к примеру два ордера sell и один buy(пусть одинаковые). Хочу чтобы рисовалась линия где будет уровень безубытка по этим позициям если цена идет вниз.

https://www.mql5.com/ru/code/9703

https://www.mql5.com/ru/code/9375

https://www.mql5.com/ru/code/10007

 
korinf:

Per quanto ho capito chiude due ordini. Cioè il primo +1 sul secondo -2 chiuderà entrambi con un profitto totale di -1. E ho bisogno che chiuda +1 e -1 e un resto di quel kolichuvto lotti, che dà -1. Cioè tutto il primo + parte del secondo per lasciare un saldo.



E così sarà. Solo la parte sovrapposta degli ordini sarà chiusa, ma il saldo avrà il suo biglietto. Sembrerà un nuovo ordine, ma sarà aperto al prezzo dell'ordine il cui volume era maggiore.
 

OK!) Tutte le sovrapposizioni sono state risolte!

Puoi darmi un suggerimento?
È tutto il giorno che cerco di trovare la funzione trall voce per voce. Cioè ho trovato un sacco di trall, ma tutti usano candele o frattali.
Se il mio profitto è diventato +1, dovrei pescare per diversi punti. Per esempio, ho impostato un margine di trailing di 10 pip. Il prezzo si è mosso di 10 punti nella mia direzione - lo SL si è avvicinato di n punti. Si è spostato di 10 punti e lo SL si è avvicinato.
Penso che questo avrebbe dovuto essere implementato molto tempo fa!

 

Aiuto) Qual è il bug nel codice) nel tester tutto va bene) e nella demo tutto è morto) non è stato il caso per diversi giorni) Ecco il codice)

extern inttern Tenkan=5;
extern int dd=9;
extern int slowing=3;
extern int kk=9;
extern inttern UrovenUp=56;
extern double TakeProfit=100;
extern double Lots=3;
extern double StopLoss=100;

int start()
{double MY,priceBuy,priceBuy2,Ich,D,K,K1;
doppio Cc1,C2,C3,C4;
biglietto int;


MY=(Open[0] + Close[0] )/2;
Ich=((Open[iHighest(NULL, 0, MODE_OPEN, Tenkan)]) +
(Close[iLowest(NULL, 0, MODE_CLOSE, Tenkan)]))/2;

D=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_SIGNAL,0));
K=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_MAIN,0))
K1=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_MAIN,1))
Cc1=Close[2] < Close[1];
C2=Close[0] > Close[1];
C3=K>K1;
C4=D<UrovenUp;


//Condizione di prezzo di acquisto e di vendita//
priceBuy=MarketInfo(Symbol(),MODE_ASK);
priceBuy2=MarketInfo(Symbol(),MODE_BID);


//condizione di acquisto//


{if (MY > Ich && Cc1 && C2 && C3 && C4)

//ticket=OrderS³; //ticket=OrderS³; //condizione per comprare e vendere//
{ticket=OrderSend(Symbol(),OP_BUY,Lots,priceBuy,3,priceBuy2-StopLoss*Point,priceBuy2+TakeProfit*Point,
"Il mio bambino",123453,0,Verde);
se(biglietto>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
ritorno(0);
}

}

}



Motivazione: