Chiedete! - pagina 105

 

Domanda per i codificatori

Ciao

Ho scritto Alert ma funziona solo quando apro la finestra con il mio indicatore. Funziona solo quando salto tra le finestre dei grafici, in altre parole quando salto tra i livelli di tempo dei grafici. Sembra che l'indicatore non possa contare quando lavora. Come posso risolvere il mio problema? Ho bisogno di aiuto. È collegato con Indicatorcounted? Devo fare qualcosa nel parametro Alert. Come fare?

Devo usare qualcosa come:

double

= ObjectGetValueByShift(string name, int shift));

se (???????????)

Alert("Pattern su " + Symbol() + " " + Period());

Pucio

 

Domanda sciocca...

Nessuno? Cercando di creare quello che deve essere il più semplice indy di tutti i tempi e rovinando...

Ingresso: Ultimo valore Tic di (1)Coppia X e (2) Coppia Y.

(entrambi CDF "coppie" ..cioè 3 simboli di lettere))

Uscita 1: Stampa su schermo X-Y

Uscita 2: Tracciare nella finestra indicatore MA di X-Y..

Non chiedere...LoL

 

Allarme una volta

Ciao,

Per favore, potreste scrivere un esempio di codice dove Alert è solo una volta.

Quando un oggetto appare sul grafico e si vuole avere Alert una volta sola.

Pucio

 
Pucio:
Ciao,

Per favore, potreste scrivere un esempio di codice in cui Alert è solo una volta.

Quando un oggetto appare sul grafico e si vuole avere Alert una volta sola.

Pucio

Forse potresti usare questo pezzo di codice: https://www.mql5.com/en/forum/general

 

Ho un indicatore simile a questo. Qualcuno sa come passare i suoi valori all'EA? Ho provato a usare il buffer, in questo modo

doppio Trend[];

...

SetIndexBuffer(0,Trend);

...

Trend[0]=UpRating;

return(0);

}

Non so se funziona ma so che tutte le scritte dell'indicatore sono sparite. Qualche idea al riguardo?

 

bisogno di aiuto per la modifica

Ciao collega commerciante

Ho bisogno di aiuto con questo codice.

La funzione attuale è quella di chiudere i primi ordini aperti in base al tempo ed eventuali ordini successivi, cioè potrebbero essere più di 2 ordini chiusi nello stesso tempo.

Domanda: come posso modificarla per farle chiudere SOLO i PRIMI 2 ordini aperti in base al tempo.

Ecco il codice.

grazie per l'aiuto

//+------------------------------------------------------------------+

//| Condizione di chiusura tipo 2

//+------------------------------------------------------------------+

void CheckCloseConditionType2()

{

int Ordini[]

int i, j;

ArrayResize(Ordini, 0);

int cnt = OrdersTotal();

for (i=0; i < cnt; i++)

{

if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continua;

se (OrderSymbol() != Symbol()) continua;

se (OrderMagicNumber() != Magic) continua;

int type = OrderType();

se (tipo == OP_BUY || tipo == OP_SELL)

{

int size = ArraySize(Ordini);

ArrayResize(Ordini, size+1);

Ordini = OrderTicket();

}

}

//-----

dimensione = ArraySize(Ordini);

for (i=0; i < dimensione; i++)

{

if (!OrderSelect(Ordini, SELECT_BY_TICKET)) continua;

se (OrderCloseTime() > 0) continua;

datetime tm1 = OrderOpenTime();

for (j=i+1; j < dimensione; j++)

{

if (!OrderSelect(Ordini[j], SELECT_BY_TICKET)) continua;

se (OrderCloseTime() > 0) continua;

datetime tm2 = OrderOpenTime();

se (tm1 > tm2)

{

int ticket = Ordini;

Ordini = Ordini[j];

Ordini[j] = ticket;

}

}

}

//-----

for (i = size-1; i >= 1; i--)

{

double Profit = ArrayGetOrdersProfit(Orders);

if ((Profit >= TotalTakeProfit && TotalTakeProfit > 0) || (Profit >= Profit2Exit && Profit2Exit > 0))

{

Print("[Enter] Close by condition Type2");

stringa msg1 = "";

stringa msg2 = "";

doppio P;

doppio T.P = 0;

for (j=0; j < dimensione; j++)

{

if (Ordini[j] == -1) continua;

if (!OrderSelect(Ordini[j], SELECT_BY_TICKET)) continua;

se (OrderCloseTime() > 0) continua;

if (StringLen(msg1) > 0) msg1 = msg1 + " + ";

msg1 = msg1 + "ordine " +Ordini[j];

GetOrderProfit(Ordini[j], P);

if (StringLen(msg2) > 0) msg2 = msg2 + " + ";

msg2 = msg2 +DoubleToStr(P, 2);

T.P += P;

}

Print("Chiusura: " + msg1);

Stampa("Profitto: " + msg2 + " = " + DoubleToStr(T.P, 2));

ArrayCloseOrders(Ordini);

Print("[Exit] Close by condition Type2");

ritorno;

}

Ordini = -1;

}

}

 

Come contare il numero di pip

Ciao,

Mi sono reso conto che dopo che il mercato è andato per un grande movimento (tendenza al rialzo o al ribasso). Il mercato rimanente è in qualche modo rischioso per fare trading. Sto cercando di programmare un EA per evitare di entrare in qualsiasi trade diciamo dopo un grande movimento di circa 90pips.

Ho bisogno di sapere come calcolare il numero di pip dalla prima barra alle 8 del mattino (apertura del mercato di Londra) alla barra attuale. Se il mercato è già stato mosso per più di 90pips non prenderò alcun trade.

Qualcuno può codificare qualche linea per darmi qualche indizio? Molte grazie e apprezzato.

Shek

 
yyc196:
Ciao,

Ho capito che dopo che il mercato è andato per un grande movimento (tendenza al rialzo o al ribasso). Il mercato rimanente è in qualche modo rischioso per fare trading. Sto cercando di programmare un EA per evitare di entrare in qualsiasi trade, diciamo dopo un grande movimento di circa 90pips.

Ho bisogno di sapere come calcolare il numero di pip dalla prima barra alle 8 del mattino (apertura del mercato di Londra) alla barra attuale. Se il mercato è già stato mosso per più di 90pips non prenderò alcun trade.

Qualcuno può codificare qualche linea per darmi qualche indizio? Molte grazie e apprezzato.

Shek

Se necessario, controlla prima che tu sia più tardi delle 8 del mattino:

if(Hour() < 8) return;[/PHP]

Then, find the max and min of the current day. (if its ok for you, its easier than from 8 am): [PHP]double Max = iHigh(Symbol(), PERIOD_D1, 0);

double Min = iLow(Symbol(), PERIOD_D1, 0);

int Range = (Max - Min) / Point;

if(Range > 90) return;

...

 

Cerco di aggiungere una nuova funzione a questo indicatore High_Low (Zigzag) V2 in modo che per ogni volta che si forma un nuovo alto-basso la ZZ mi avviserà. Non so dove va male. L'indi invece non compare sul mio schermo. C'è qualcuno? Aiutatemi per favore... Sono nuovo nel campo della codifica, per favore perfezionate quello che ho fatto in modo che l'indi faccia proprio quello che voglio nel precedente. Ecco il codice.

high_low_v2_zigzag_con_alert.mq4

 

Ciao,

Come disegnare uno sfondo rettangolare? Intendo attraverso il conding. So che usa ObjectCreate() ma non so come scriverlo come dovrei.

Motivazione: