Spread trading in Meta Trader - pagina 158

 
hrenfx:
  1. Due EA sono in esecuzione.
  2. La tabella degli ordini/posizioni per questi simboli non ha il tempo di aggiornarsi immediatamente dopo l'apertura. Mettere Sleep(PAUSE).


1. Expert Advisor - uno è in esecuzione.

2. Sì, - cercherò di mettere Sleep ora , - grazie.

 
forex-k:
Passa attraverso un filtro!


Se non è un segreto, può fare un esempio di un tale filtro?

Ecco una domanda. È possibile impostare programmaticamente la condizione di scadenza?

Grazie.

 

E un'altra domanda.

Indicatore di linea di prezzo per 5 strumenti.

Qualche giorno fa (dopo aver spento la luce nell'appartamento e riavviato il computer) ho scoperto che il commento dal lato destro della finestra dell'indicatore saltava alla finestra del grafico dei prezzi (!).

Reinstallare l'indicatore non aiuta. Anche rimuovere il grafico e reinstallarlo non aiuta.

Codice per l'esecuzione del commento di rendering:

#property indicator_separate_window
#property indicator_buffers 6

int deinit()  {
  // Удаляем все графические объекты
  DeleteObject(oSymb1);   DeleteObject(oSymb2); 
  DeleteObject(oSymb3);  DeleteObject(oSymb4);
  DeleteObject(oSymb5);  DeleteObject(oSymbS); 
  return(0);  }
//-------------------------------------------------------------------+

int start() {
// ... ... ... ... 

  // Построение графических объектов
  // Пишем комментарий в окне индикатора с правой стороны
  string sVolA1="",sVolA2="",sVolA3="",sVolA4="",sVolA5="",
         sVolP1="",sVolP2="",sVolP3="",sVolP4="",sVolP5="";
  
  DrawLabel(oSymb1, sVolP1+ Symbol1.Name +sVolA1,10, indicator_color1, 5);
  DrawLabel(oSymb2, sVolP2+ Symbol2.Name +sVolA2,10, indicator_color2,18);
  DrawLabel(oSymb3, sVolP3+ Symbol3.Name +sVolA3,10, indicator_color3,31);
  DrawLabel(oSymb4, sVolP4+ Symbol4.Name +sVolA4,10, indicator_color4,44);
  DrawLabel(oSymb5, sVolP5+ Symbol5.Name +sVolA5,10, indicator_color5,57);
  DrawLabel(oSymbS, "AVERAGE", 10, indicator_color6, 70);
 
    return(0);
} // Конец функции Start

//+----------------- Пользовательские функции ------------------------------------------+

// Рисуем коммент
void DrawLabel(string aName, string aText, int aFontSize, color aColor, int aValue) {
  string objName=aName+wndName;
  ObjectDelete(objName);
  ObjectCreate(objName, OBJ_LABEL, wndNum, 0, 0);
  ObjectSetText(objName, aText, aFontSize, "Verdana", aColor);
  ObjectSet(objName, OBJPROP_CORNER, 1);
  ObjectSet(objName, OBJPROP_XDISTANCE, 4);
  ObjectSet(objName, OBJPROP_YDISTANCE, aValue); 
}

// Удаляем графический объект
void DeleteObject(string name) {
  ObjectDelete(name+wndName);
}

Potete per favore dirmi come risolvere il problema? Come riportare il "figliol prodigo" alla finestra dell'indicatore?

 

E creare un profilo senza la finestra difettosa e reinstallare il terminale, a proposito, forse la versione del terminale è stata aggiornata?

Ho ancora la versione 225, un vecchio amico è meglio dei due nuovi. )

Intendevo dire di creare un profilo da trasferire, nel caso in cui il terminale venga reinstallato.

 

Grazie. Proverò a creare un nuovo profilo.

È molto probabile che io abbia aggiornato la versione del terminale. Non ricordo esattamente - è successo prima del fine settimana.

 
Vitya:


Puoi darmi un esempio di un tale filtro?

Come questo:

if (MarketInfo("EURUSD", MODE_ASK) - MarketInfo("EURUSD", MODE_BID) > MaxSpread)

return(0);

 
Vitya:

La condizione del tempo di scadenza può essere impostata programmaticamente?

Non sembra esserlo.
 
goldtrader:

Come questo:

Probabilmente sarebbe meglio scrivere un indicatore che controlla lo spread e non entra se lo spread massimo sulle ultime n barre ha superato lo spread consentito. Questo è più efficiente, specialmente con l'esecuzione sul mercato.
 

Ecco uno script che tiene traccia dello spread bid-ask (in particolare per il brokeraggio).

Da qualche parte sopra, a metà del thread, c'è la stessa versione, ma come indicatore.

Il mio script consuma una risorsa significativa della CPU (-schedule), quindi è meglio metterlo appena prima di aprire/chiudere, e poi rimuoverlo subito.

6NZ0, M1

File:
scr_tiker.mq4  3 kb
 
Vitya:


Se non è un segreto, può fare un esempio di un tale filtro?

Ecco una domanda. È possibile impostare programmaticamente la condizione di scadenza?

Grazie.

Tutto può essere fatto programmaticamente.

Lo spread viene preso sia quando si apre un ordine che quando lo si chiude, lo spread è fluttuante.

Questo strumento non è fastidioso ma molto informativo per i broker.

-È possibile impostare qualsiasi coefficiente per gli strumenti e come risultato, lotto, deposito e spread sono calcolati automaticamente.

-mostra anche se il mercato è chiuso o no, se 0, è chiuso, se 1, è aperto.

-calcolo accurato del valore del punto

-mostra la data di scadenza.

Motivazione: