Spread-Handel in Meta Trader - Seite 158

 
hrenfx:
  1. Es laufen zwei EAs.
  2. Die Tabelle mit den Aufträgen/Positionen für diese Symbole kann nicht sofort nach der Eröffnung aktualisiert werden. Legen Sie Sleep(PAUSE).


1. Expert Advisor - einer wird ausgeführt.

2. Ja, - ich werde versuchen, jetzt zu schlafen, - danke.

 
forex-k:
Gehen Sie durch einen Filter!


Wenn es kein Geheimnis ist, können Sie ein Beispiel für einen solchen Filter nennen?

Ich habe eine Frage. Ist es möglich, die Bedingung der Ablaufzeit programmatisch festzulegen?

Ich danke Ihnen.

 

Und noch eine Frage.

Der Preislinienindikator für 5 Instrumente.

Vor ein paar Tagen (nachdem ich das Licht in der Wohnung ausgeschaltet und den Computer neu gestartet hatte) stellte ich fest, dass der Kommentar von der rechten Seite des Indikatorfensters in das Kurschartfenster (!) gesprungen war.

Die Neuinstallation des Indikators hilft nicht. Auch eine Deinstallation und Neuinstallation der Karte hilft nicht.

Code für die Ausführung des Rendering-Kommentars:

#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);
}

Können Sie mir bitte sagen, wie ich die Störung beheben kann? Wie kann man den "verlorenen Sohn" wieder in das Anzeigefenster zurückbringen?

 

Und erstellen Sie ein Profil ohne das defekte Fenster und installieren Sie das Terminal neu, vielleicht wurde ja die Terminalversion aktualisiert?

Ich habe noch die Version 225, ein alter Freund ist besser als die beiden neuen. )

Ich wollte ein Profil erstellen, das übertragen werden kann, falls das Terminal neu installiert wird.

 

Ich danke Ihnen. Ich werde versuchen, ein neues Profil zu erstellen.

Es ist gut möglich, dass ich die Terminalversion aktualisiert habe. Ich kann mich nicht mehr genau erinnern - es geschah vor dem Wochenende.

 
Vitya:


Können Sie mir ein Beispiel für einen solchen Filter nennen?

Wie dieses hier:

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

return(0);

 
Vitya:

Kann die Bedingung für die Ablaufzeit programmatisch festgelegt werden?

Das scheint nicht der Fall zu sein.
 
goldtrader:

Zum Beispiel so:

Es wäre wahrscheinlich besser, einen Indikator zu schreiben, der den Spread überwacht und nicht einsteigt, wenn der maximale Spread der letzten n Bars den zulässigen Spread überschritten hat. Dies ist effizienter, insbesondere bei der Marktausführung.
 

Hier ist ein Skript, das die Geld-Brief-Spanne verfolgt (speziell für Maklergeschäfte).

Irgendwo oben in der Mitte des Threads gibt es die gleiche Version, aber als Indikator.

Mein Skript verbraucht erhebliche CPU-Ressourcen (-schedule), daher ist es besser, es kurz vor dem Öffnen/Schließen einzufügen und dann sofort zu entfernen.

6NZ0, M1

Dateien:
scr_tiker.mq4  3 kb
 
Vitya:


Wenn es kein Geheimnis ist, können Sie ein Beispiel für einen solchen Filter nennen?

Ich habe eine Frage. Ist es möglich, die Bedingung der Ablaufzeit programmatisch festzulegen?

Ich danke Ihnen.

Alles lässt sich programmatisch erledigen.

Der Spread wird sowohl bei der Eröffnung als auch bei der Schließung eines Auftrags berücksichtigt, der Spread ist variabel.

Dieses Tool ist nicht lästig, sondern sehr informativ für Makler.

-Sie können beliebige Koeffizienten für die Instrumente festlegen, woraufhin Lot, Deposit und Spread automatisch berechnet werden.

-Sie zeigt auch an, ob der Markt geschlossen ist oder nicht, wenn 0, ist er geschlossen, wenn 1, ist er geöffnet.

-genaue Berechnung des Punktwerts

-Zeigt das Ablaufdatum an.

Dateien: