[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 600

 
evillive: Non potrebbe essere più semplice, vero?

Credo che sia così. Te l'avevo detto - sono un tonto, sono un tonto... Il profitto nella linea superiore è mostrato in pip, solo in 3 cifre:


Per quanto ho capito, PipProfit = USDprofit/lot/Point per EURUSD. Per le coppie con una quotazione inversa, dobbiamo prendere la differenza tra il prezzo di apertura e il prezzo corrente e moltiplicare per Digits: Pips = OrderOpenPrice()-Bid*Digits_coefficient; dove
Digits_coefficient = MathPow(10,Digits);

Non devi prendere la differenza, c'è la funzione OrderProfit().

Ripetiamolo ancora una volta per farvelo entrare nel cervello. Quindi, compriamo GBPJPY.

1. OrderProfit() è uguale a -15,27 USD = -1228,32 JPY (per la conversione in yen, moltiplicare per il tasso USDJPY).

2. Dividendo il profitto per il lotto, uguale a 0,1.

3. Dividiamo il risultato per il prezzo di 1 pip di 1 lotto, pari a 0,01 JPY * 100000 = 1000 JPY. Otteniamo -12,28 punti, cioè come è necessario.

Si tratta di un errore sottile, poiché le cifre non sono prese in uno stesso momento, ma lo Yen si sta rafforzando fortemente.

Formula per XXXYYY:

pips = ( USDYYY o 1/YYYUSD ) * OrderProfit() / ( OrderLots( ) * Point ).

Qui Point è il prezzo puntuale di 1 lotto in valuta YYYY, pari a 100000 * MathPow( 10, - Digits ).

 

Buon pomeriggio.

Quali potrebbero essere le ragioni per cui l'EA non è ottimizzato?

C'è un parametro ottimizzato, gli indicatori sono standard.

Il test si sta svolgendo normalmente.

 
DOCTORS:

Puoi darmi un suggerimento?

Lo script chiude gli ordini sovrapposti... Ma c'è un problema: per qualche motivo non chiude gli ordini con lotti di dimensioni diverse...

Può dirci dov'è il problema?


In primo luogo, sostituite la direzione del controllo con

for(int i=1; i<=OrdersTotal(); i++) // esegue il ciclo dell'ordine

su

for(int i=OrdersTotal() - 1; i>=0; i--) // ciclo degli ordini


ovunque

 
sting-igor:

Perché alcuni EAs funzionano bene nel tester prima e poi non aprono un solo trade? Non ricordo i nomi degli EAs, ma ne avevo tre, forse sto facendo qualcosa di sbagliato? mt4

Se il vostro EA è scritto male, potrebbe eseguire una divisione per zero e poi smettere di funzionare. Cerca nel log l'errore ZeroDevide...
 
ilunga:

Beh, per cominciare, sostituite la direzione di controllo con

for(int i=1; i<=OrdersTotal(); i++) // ciclo degli ordini

su

for(int i=OrdersTotal() - 1; i>=0; i++) // ciclo degli ordini


ovunque


Ritirato, poiché la sceneggiatura era estremamente scorretta... Un sacco di cose da fare... Volevo che si sovrapponesse ai trade a zero... ma si è appena sovrapposto... Grazie mille per il tuo aiuto... ...quando farò la sovrapposizione zero, la posterò per le domande.
 

Mathemat, se hai bisogno solo del numero di pips in profitto/perdita puoi farlo in un modo ancora più semplice, stavo proprio dormendo ieri quando ho scritto )))

Sembrano essere formule universali, adatte a tutte le coppie di valute:

double tickvalue = MarketInfo(OrderSymbol(),MODE_POINT); //если нужно значение тика для инструмента в окне которого установлен эксперт, то просто используем Point в дальнейшем

Pips = (OrderOpenPrice()-Ask)/tickvalue; // order short

Pips = (Bid - OrderOpenPrice())/tickvalue; // order long

.

 

Signori, per favore aiutatemi.

Ho bisogno di una funzione che controlli se il prezzo ha toccato il polso durante le ultime X barre?

Per favore, non prendetemi a calci troppo forte, perché sono un completo idiota.

 

Come riscrivere Awesome indicator solo per 1H. Supponiamo che io attacchi Awesome al 4H, voglio che l'indicatore mostri i dati relativi al 1H e non al 4H.

//---- nome per l'etichetta della DataWindow e della sottofinestra dell'indicatore
IndicatorShortName("AO");
SetIndexLabel(1,NULL);
SetIndexLabel(2,NULL);

ExtBuffer0[i]=iMA(NULL,0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA(NULL,0,34,0,MODE_SMA,PRICE_MEDIAN,i);

Cambio NULL in PeriodH1, ma non aiuta.

 
flintz:

Come riscrivere Awesome indicator solo per 1H. Supponiamo che io attacchi Awesome al 4H, voglio che l'indicatore visualizzi i dati relativi al 1H e non al 4H.

//---- nome per DataWindow e l'etichetta della sottofinestra dell'indicatore
IndicatoreNomeCorto("AO");
SetIndexLabel(1,NULL);
SetIndexLabel(2,NULL);

ExtBuffer0[i]=iMA(NULL,0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA(NULL,0,34,0,MODE_SMA,PRICE_MEDIAN,i);

Cambio NULL in PeriodH1, ma non aiuta.

Cambia da NULL a "0" (il parametro accanto a NULL).
 
Grazie!!!