Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 81

 
Gevorg Hakobyan:
if(v=="NZD")
{
h=(iClose("NZDUSD",p,b)-iOpen("NZDUSD",p,b))/MarketInfo("NZDUSD",MODE_POINT)+
(iOpen("EURNZD",p,b)-iClose("EURNZD",p,b))/MarketInfo("EURNZD",MODE_POINT)+
(iOpen("GBPNZD",p,b)-iClose("GBPNZD",p,b))/MarketInfo("GBPNZD",MODE_POINT)+
(iOpen("AUDNZD",p,b)-iClose("AUDNZD",p,b))/MarketInfo("AUDNZD",MODE_POINT)+
(iClose("NZDJPY",p,b)-iOpen("NZDJPY",p,b))/MarketInfo("NZDJPY",MODE_POINT)+
(iClose("NZDCAD",p,b)-iOpen("NZDCAD",p,b))/MarketInfo("NZDCAD",MODE_POINT)+
(iClose("NZDCHF",p,b)-iOpen("NZDCHF",p,b))/MarketInfo("NZDCHF",MODE_POINT);
}
Es spielt keine Rolle, was Sie in Ihrem Code haben. Können Sie sagen, mit welchem DC Sie verbunden sind, so dass Sie Null anstelle von Point() erhalten?
 
sile:

Hallo.

Bitte um Hilfe.

Nun steigt die Menge jeder folgenden Reihenfolge in 1, 2, 3, 4, 5...

Ich möchte, dass die Menge jeder Bestellung nicht bei jeder Bestellung steigt, sondern in 3er-Schritten, also 1, 1, 1, 1, 2, 2, 2, 3, 3, 3...

Der Zähler sollte gestartet und auf den Anfangswert zurückgesetzt werden, wenn der eingestellte Schwellenwert erreicht ist:
extern double   LotStop        = 0.01;
extern double   Plus_LotStop   = 0.01;
extern double   Plus_N_ORD  = 3;        //каждые N ордеров
void OnTick()
  {
//---
int c=0;
  for (int i=1; i<=OrdersStop; i++)
   {
       if((Close[1]<Open[1]&&Close[2]>Open[2]&&NumberOfPositions(Symbol(), -1,_Magic)<1))
         {
            OPENORDER (OP_BUYSTOP,PriceBS,LOTs,_Magic,i);
            numB++;
            PriceBS = NormalizeDouble(PriceBS+Step_Stop*Point,Digits);
          
            OPENORDER (OP_SELLSTOP,PriceSS,LOTs,_Magic,i);
            numS++;
            PriceSS = NormalizeDouble(PriceSS-Step_Stop*Point,Digits);
         }
      c++;
      if(c==3){LOTs+=Plus_LotStop;c=0;}
    }
  }
 

Können Sie mir sagen, ob ein Indikator namens "iSignal" im Terminal funktioniert, ist es möglich, von einem EA herauszufinden, dass dieser Indikator wirklich in einem beliebigen Fenster oder in einem Fenster mit einem EA existiert?

 
Vitaly Muzichenko:

Können Sie mir sagen, ob ein Indikator namens "iSignal" im Terminal funktioniert, ist es möglich, von einem EA herauszufinden, dass dieser Indikator wirklich in einem beliebigen Fenster oder in einem Fenster mit einem EA existiert?

In der Hilfe ChartIndicatorName(); Und andere werden Sie dort sehen.


ChartIndicatorName

Gibt den Kurznamen des Indikators nach seiner Nummer in der Liste der Indikatoren im angegebenen Diagrammfenster zurück.

stringChartIndicatorName(
longchart_id,// Diagramm-ID
int sub_window,// Nummer des Unterfensters
intindex// Index des Indikators in der Liste der zum angegebenen Teilfenster hinzugefügten Indikatoren
);

Parameter

chart_id

[Karten-ID. 0 bedeutet die aktuelle Karte.

Unterfenster

[in] Nummer des Unterfensters des Diagramms. 0 bedeutet das Hauptdiagrammfenster.

Index

[in] Index des Indikators in der Liste der Indikatoren. Die Nummerierung der Indikatoren beginnt bei Null, d. h. der allererste Indikator in der Liste hat einen Index von Null. Die Anzahl der Indikatoren in der Liste kann mit ChartIndicatorsTotal() ermittelt werden.

Zurückgegebener Wert

Kurzname des Indikators, derin der Eigenschaft INDICATOR_SHORTNAME mit der Funktion IndicatorSetString() definiert wird.Um Informationen über den Fehler zu erhalten, rufen Sie die Funktion GetLastError() auf.


Gehen Sie alle Diagramme durch, und suchen Sie nach dem gewünschten Indikator. Sie können auch die Anzahl der Indikatoren im Diagramm sowie die Anzahl aller Fenster eines Diagramms festlegen. Sie werden es in der Hilfe sehen.
 
Vitaly Muzichenko:

Können Sie mir sagen, ob ein Indikator namens "iSignal" im Terminal funktioniert, ist es möglich, von einem EA herauszufinden, dass dieser Indikator wirklich in einem beliebigen Fenster oder in einem Fenster mit einem EA existiert?

Das ist möglich. Gehen Sie die Indikatoren in der Schleife auf dem gewünschten Diagramm durch und vergleichen Sie den Namen des ausgewählten Indikators mit dem angegebenen Indikator. Die Funktion ChartIndicatorName().

Wahrscheinlich muss er auch in den Unterfenstern des Charts suchen, wenn sich der Indikator im "Keller" befindet.

 
Artyom Trishkin:

In der Hilfe ChartIndicatorName(); Und andere werden Sie dort auch sehen.


ChartIndicatorName

Gibt den Namen des Kurzindikators nach Nummer in der Liste der Indikatoren im angegebenen Diagrammfenster zurück.

stringChartIndicatorName(
longchart_id,// Diagramm-ID
intsub_window,// Nummer des Unterfensters
intindex// Index des Indikators in der Liste der Indikatoren, die zu diesem Teilfenster hinzugefügt wurden
);

Danke, genau das habe ich gesucht, und es funktioniert!

Und jetzt zurück) Ist es das gleiche, aber von einem Indikator finden Experten: (c) dieser Experte ist wirklich in jedem Fenster, oder ein Fenster mit Indikator?

 
Vitaly Muzichenko:

Danke, genau das habe ich gesucht, und es funktioniert!

Und jetzt zurück) Gibt es eine ähnliche, nur aus dem Indikator, um den Experten zu finden: (c) ist dieser Experte wirklich in jedem Fenster, oder ein Fenster mit einem Indikator?

Wie programmieren Sie im Allgemeinen?
WindowExpertName - Операции с графиками - Справочник MQL4
WindowExpertName - Операции с графиками - Справочник MQL4
  • docs.mql4.com
WindowExpertName - Операции с графиками - Справочник MQL4
 
Vitalie Postolache:
Wie können Sie überhaupt codieren?
Ich kenne dieses Programm, aber es weiß nicht, wie man in den Grafiken anderer Leute sucht.
 
Vitaly Muzichenko:
Das kenne ich, aber es kann nicht in der Karte eines anderen suchen.

Es weiß nicht nur nicht, wie man in einem fremden Chart sucht, sondern findet in seinem eigenen Chart nur "seinen" Indikator, sein Skript oder seinen Experten, in dem diese Funktion vorgeschrieben ist.

Ich habe es nicht überprüft, aber ich habe versucht, die Schleife der Diagramme durchzugehen.

ChartGetString(chart_id, CHART_EXPERT_NAME)
Ich denke, es sollte funktionieren.
 
Alexey Viktorov:

Es weiß nicht nur nicht, wie man in einem fremden Chart sucht, sondern findet in seinem eigenen Chart nur "seinen" Indikator, sein Skript oder seinen Experten, in dem diese Funktion vorgeschrieben ist.

Ich habe es nicht überprüft, aber ich habe es beim Durchlaufen von Diagrammen ausprobiert

ChartGetString(chart_id, CHART_EXPERT_NAME)
Ich denke, es sollte funktionieren.

Ja, es funktioniert, und es findet von Experten-Indikator durch den Namen. Aber nun eine Frage: Gibt es ein ähnliches Programm, aber für Vierer, und vorzugsweise plattformübergreifend?

Ich danke Ihnen!