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

 

Buona giornata a tutti voi!

Potete per favore consigliarmi...

Supponiamo di avere la seguente costruzione OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,0,0);

Al quarto posto, abbiamo uno slittamento = 3.

Questo è un frammento del riferimento:

slittamento - Slittamento di prezzo massimo consentito per gli ordini di mercato(ordini di acquisto o vendita).

1. Se non vi dispiace, spiegate sulle vostre dita cos'è, da cosa e perché. )) Non è molto chiaro da cosa sia la deviazione e in cosa (pip, minuti...).

2. E il secondo, a quale livello dovrei impostare? Da qualche parte ho visto in articoli che questo valore dovrebbe essere impostato a 30 per coppie di valute con cinque segni (come EURUSD).

Grazie mille!

 
Andrey067:

Ciao a tutti!

Sto iniziando a muovere i primi passi nella programmazione. Mi sto esercitando con esempi semplici. Ma voglio capire meglio la sintassi e voglio scrivere qualcosa di più interessante: per esempio, creare un indicatore di massimo e minimo per un periodo, frattale... Sarei molto grato se qualcuno potesse condividere le fonti...

Condividere la linea più preziosa con voi. http://www.google.ru/advanced_search?q=codebase+site:mql4.com&hl=en&lr=&newwindow=1&prmd=ivns
 
NickXXX:

Buona giornata a tutti voi!

Potete consigliarmi per favore...

Supponiamo di avere la seguente costruzione OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,0,0);

Al quarto posto, abbiamo uno slittamento = 3.

Questo è un frammento del riferimento:

slittamento - Slittamento di prezzo massimo consentito per gli ordini di mercato (ordini di acquisto o vendita).

1. Se non vi dispiace, spiegate sulle vostre dita cos'è, da cosa e perché. )) Non è molto chiaro da cosa sia la deviazione e in cosa (pip, minuti...).

2. E il secondo, a quale livello dovrei impostare? Da qualche parte ho visto in articoli che questo valore dovrebbe essere impostato a 30 per coppie di valute con cinque segni (come EURUSD).

Grazie in anticipo!


a 1 - leggere su internet per una spiegazione dello "slippage" - questo è il parametro dello slippage

Per il secondo - si dovrebbe impostare su 4 - ad esempio 3 - a 5 - 30

 
NickXXX:

Buona giornata a tutti voi!

Potete per favore consigliarmi...

Supponiamo di avere la seguente costruzione OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,0,0);

Al quarto posto, abbiamo uno slittamento = 3.

Questo è un frammento del riferimento:

slittamento - Slittamento di prezzo massimo consentito per gli ordini di mercato (ordini di acquisto o vendita).

1. Se non vi dispiace, spiegate sulle vostre dita cos'è, da cosa e perché. )) Non è molto chiaro da cosa sia la deviazione e in cosa (pip, minuti...).

2. E il secondo, a quale livello dovrei impostare? Da qualche parte ho visto in articoli che questo valore dovrebbe essere impostato a 30 per coppie di valute con cinque segni (come EURUSD).

Grazie mille!


1. Vedi qui, in particolare "... Se il prezzo di apertura richiesto è gravemente superato, verrà generato un errore 138 (ERR_REQUOTE) indipendentemente dal valore del parametro slippage. Se, tuttavia, il prezzo richiesto è obsoleto ma è ancora presente nel flusso dei prezzi, la posizione sarà aperta al prezzo corrente e solo se il prezzo corrente cade all'interno dell'intervallo prezzo+-slippage." Deviazione in pip.

2. Nel libro di testo, il valore di 2 (pip reali su coppie a quattro cifre), per coppie a cinque cifre - il valore è 20-30, dipende dal broker... Quando facevo trading su A..... e usavo 20-30 - non ho avuto problemi con l'apertura degli ordini in base al valore di questo parametro.

 
Roman.:


1. Vedi qui, cioè "... Se il prezzo aperto richiesto è fortemente superato, allora verrà generato un errore 138 (ERR_REQUOTE), indipendentemente dal valore del parametro slippage. Se, tuttavia, il prezzo richiesto è obsoleto ma è ancora presente nel flusso dei prezzi, la posizione sarà aperta al prezzo corrente e solo se il prezzo corrente rientra nel range prezzo+-slippage." Deviazione in pip.

2. Nel tutorial - valore 2 (pip reali, su quattro cifre), per cinque cifre - valore 20-30, dipende dal broker... Ho fatto trading con il valore di 20-30 su A..... e non ho avuto problemi con gli ordini di apertura in base al valore di questo parametro.

Per esempio, se A.....i ha le seguenti condizioni:

1. per coppie di valute con 5 posizioni decimali - cambio minimo della quarta posizione decimale (0,0001);

2. per le coppie di valute con 3 posizioni decimali - il cambiamento minimo della seconda posizione decimale (0,01).

Lo imposto a 20-30 su una coppia a 5 cifre (per esempio EURUSD) o a 2-3, perché viene preso in considerazione un cambiamento della quarta posizione decimale?

 
NickXXX:

E se, per esempio, A..... e queste sono le condizioni:

  • per coppie di valute con 5 posizioni decimali - il cambiamento minimo della quarta posizione decimale (0,0001);
  • per le coppie di valute con 3 posizioni decimali - il cambiamento minimo della seconda posizione decimale (0,01).

Ho impostato 20-30 per coppie di 5 decimali (ad esempio EURUSD) o 2-3, poiché solo il cambiamento del quarto segno decimale è preso in considerazione????


Comunque, su broker a cinque cifre mettete 40 e non preoccupatevi, alla fine, a meno che non si tratti di scalping masochistico, quattro punti reali su/giù non mineranno il vostro piano di gioco... :-))) Prova il microreale ed è tutto.
 
NickXXX:

E se, per esempio, A..... ha queste condizioni:

1. per coppie di valute con 5 posizioni decimali - cambio minimo della quarta posizione decimale (0,0001);

2. per le coppie di valute con 3 posizioni decimali - il cambiamento minimo della seconda posizione decimale (0,01).

Lo imposto a 20-30 su una coppia a 5 cifre (per esempio EURUSD) o a 2-3, perché viene preso in considerazione un cambiamento della quarta posizione decimale?


No. Esattamente, si moltiplicano i punti reali per 10, poiché si tratta di un CINQUE, cioè il valore di slittamento sarà nell'intervallo 20-30.
 
Grazie mille...!
 
Andrey067:

Ciao a tutti!

Sto iniziando a muovere i primi passi nella programmazione. Mi sto esercitando con esempi semplici. Ma voglio capire meglio la sintassi e voglio scrivere qualcosa di più interessante: per esempio, creare un indicatore di massimo e minimo per un periodo, frattale... Sarei molto grato se qualcuno potesse condividere le fonti...

Vuoi prendere un esempio già pronto e risolverlo?

Che ne dici di leggere prima questa sezione del libro di testo?

 

Sto scrivendo un EA per la ripartizione dei canali. Sono inciampato sul controllo delle ripartizioni dei canali prima di aprire un affare, cioè ho bisogno di calcolare o registrare il tempo della ripartizione dei canali prima di aprire un affare. Ottengo i canali con l'aiuto dell'indicatore e ottengo valori come questo:

per (i = 0; i < ObjectsTotal(); i++)
{
if (StringFind(ObjectName(i), "#",0) >= 0) continua;
if (ObjectType(ObjectName(i)) == 1)
{
if (var_400 < ObjectGet(ObjectName(i),OBJPROP_PRICE1)
{
ChangeTrend1 = ObjectGet(ObjectName(i),OBJPROP_TIME2);
var_416 = ObjectGet(ObjectName(i),OBJPROP_PRICE1);
var_400 = ObjectGet(ObjectName(i),OBJPROP_PRICE1);
FirstPrice1 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend1, false);
}
se ((var_408 > ObjectGet(ObjectName(i),OBJPROP_PRICE1)) && (ObjectGet(ObjectName(i),OBJPROP_PRICE1) > 0))
{
var_408 = ObjectGet(ObjectName(i),OBJPROP_PRICE1);
FirstPrice2 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend2, false));
ChangeTrend2 = ObjectGet(ObjectName(i),OBJPROP_TIME2);
}
}
if (ObjectType(ObjectName(i)) == 2)
{
if (var_400 < ObjectGetValueByShift(ObjectName(i),0))
{
ChangeTrend1 = ObjectGet(ObjectName(i),OBJPROP_TIME2);
var_416 = ObjectGetValueByShift(ObjectName(i),1);
var_400 = ObjectGetValueByShift(ObjectName(i),0);
FirstPrice1 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend1, false);
}
se ((var_408 > ObjectGetValueByShift(ObjectName(i),0)) && (ObjectGetValueByShift(ObjectName(i),0) > 0))
{
ChangeTrend2 = ObjectGet(ObjectName(i),OBJPROP_TIME2);
var_408 = ObjectGetValueByShift(ObjectName(i),0);
FirstPrice2 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend2, false));
}
}
}

var_392 = MathRound((var_400 - var_416)/ld_84 * 100);
if ((var_400 != 0) && (var_408 != 9999) && (var_400 != var_408)){
var_400 = NormalizeDouble(var_400,Digits);

var_408 = NormalizeDouble(var_408,Digits);

Per favore, aiutatemi a risolvere questo problema. Grazie in anticipo.