Nützliche Funktionen von KimIV - Seite 83

 
Kann i-Sessions auch eine Nachtsitzung hinzufügen, z. B. von 23 bis 01, d. h. ich kann sie selbst hinzufügen, aber wie gehe ich durch die 00-Stunden? Hilfe bitte!!!
 
Helfen Sie mit , e-TFL_v2 zu überarbeiten!

Wie kann man den EA dazu bringen, nicht nur eine Position zu öffnen, sondern 2 oder 3 auf einmal in eine Richtung. Wie kann ich zum Beispiel zwei einseitige Positionen zu 0,5 und 0,5 Lots anstelle von einem Lot eröffnen? Oder 0,3+0,3+0,3 Lose.
 
Können Sie mir sagen, wie ich das Terminal so einrichten kann, dass beim Umschalten auf Russisch alles auf Russisch geschrieben wird, denn alles ist in Hieroglyphen geschrieben.
 
arvis >> :
>> Wie kann ich das Terminal so einrichten, dass es, wenn ich es auf Russisch umschalte, alles auf Russisch sagt, denn alles ist mit Hieroglyphen geschrieben.

Stellen Sie in den Windows-Regionaleinstellungen die Sprache auf Russisch ein, um sie in Anwendungen zu verwenden, die nicht mit Unicode arbeiten.

 

Hallo, ich habe eine Frage direkt an Igor Kim, denn er ist der Autor (wenn ich mich nicht irre) des i-SignalOfTrade Indikators.

Der Indikator führt alle seine Funktionen einwandfrei aus, aber beim Senden einer E-Mail erscheinen folgende Einträge im Protokoll

Mail: 'i-SignalOfTrade' fehlgeschlagen

Mail: 451 Siehe http://pobox.com/~djb/docs/smtplf.html.

und natürlich geht die Nachricht nirgendwo hin.

Können Sie mir sagen, was das Problem sein könnte und wie ich es beheben kann?

P.S. Der Mail-Client ist korrekt konfiguriert, Testnachrichten werden ohne Probleme gesendet und zugestellt.

 

Guten Tag. Können Sie mir sagen, wer es weiß? Ich arbeite mit dem RTS-Index. Die Positionsgröße wird von einem Drittanbieterprogramm berechnet und über eine txt-Datei an den Expert Advisor übermittelt. Ich habe hier zwei Probleme:

Da der Startblock {...} nur aktiviert wird, wenn ein neuer Tick kommt und Ticks im Index selten sind, kommt es zu einer Verzögerung bei der EA-Ausführung.

Ich habe es auf ein häufiger tickendes Instrument ( EURUSD ) gelegt, aber ich möchte trotzdem fragen - ist es möglich, den Start zu erzwingen {...}?

2) Die von meinem Broker erlaubte maximale Positionsgröße beträgt 20 Lots. Ich muss eine Position von 100 Lots eröffnen. Im Moment eröffne ich eine Position nach der anderen,

aber es dauert sehr lange, etwa 4 Sekunden pro Bestellung. (d.h. es dauert 20 Sekunden, um eine Position zu eröffnen), und manchmal ist das nicht gut. Gibt es eine Möglichkeit, dies schneller zu tun? (über voreingestellte Stopp-Aufträge - funktioniert bei mir nicht).

 
ADI1966 >> :

2. Die vom Broker erlaubte maximale Positionsgröße beträgt 20 Lots. Ich muss eine Position von 100 Lots eröffnen. Jetzt öffne ich nacheinander,

aber es dauert sehr lange, etwa 4 Sekunden pro Bestellung. (d.h. es dauert 20 Sekunden, um eine Position zu eröffnen), und manchmal ist das nicht gut. Gibt es eine Möglichkeit, dies schneller zu tun? (durch im Voraus platzierte Stopp-Aufträge - funktioniert bei mir nicht).

https://forum.mql4.com/ru/13567
 
kombat писал(а) >>
https://forum.mql4.com/ru/13567

lesen.

Ich habe richtig verstanden, dass der EA auf einen Tick mehrere Kaufaufträge gleichzeitig an das Handelssystem sendet,

anstatt darauf zu warten, dass der Server auf die erste Auftragsannahme und -ausführung antwortet, dann auf die zweite und so weiter? ??

Ich habe es bisher so gemacht - Beispiel - (Log, echtes Konto, Echtzeit)

10.55.13 - Auftrag buy market 20 RTS - das sind die ersten 20 Lose

10.55.13 - Anfrage wurde vom Server abgelehnt

10.55.13 - Antrag in Bearbeitung

10.55.17 - Auftrag wurde eröffnet

10.55.18 - Auftrag kaufen Markt 20 RTS - dies ist die zweite 20 Lose

10.55.18 - Anfrage wurde vom Server abgelehnt

10.55.19 - Antrag in Bearbeitung

10.55.22 - Auftrag wurde eröffnet

10.55.23 - Auftrag kaufen Markt 20 RTS - dies ist die dritte 20 Lose

10.55.23 - Anfrage wurde vom Server abgelehnt

10.55.24 - Antrag in Bearbeitung

10.55.27 - Auftrag wurde eröffnet

und ich möchte, dass die gesamte Position innerhalb der ersten 4 Sekunden geöffnet wird, d.h. bis 10.55.17

 
ADI1966 писал(а) >>

2. Die vom Broker erlaubte maximale Positionsgröße beträgt 20 Lots. Ich muss eine Position von 100 Lots eröffnen. Jetzt öffne ich nacheinander,

aber es dauert sehr lange, etwa 4 Sekunden pro Bestellung. (d.h. es dauert 20 Sekunden, um eine Position zu eröffnen), und manchmal ist das nicht gut. Gibt es eine Möglichkeit, dies schneller zu tun? (über vorab platzierte Stopp-Aufträge - funktioniert bei mir nicht).

Wenn Sie 4 Terminals betreiben, werden 4 Anfragen auf einmal an den Händler weitergeleitet, nicht eine nach der anderen.

 

Igor, hallo!

Könnten Sie mir bitte sagen, wie man eine akustische Benachrichtigung in einen bestehenden Indikator einbaut?

Zum Beispiel in ZigZag. Ich möchte wissen, wo und wie es geschrieben werden kann, damit beim Ziehen der neuen Linie ein Ton zu hören ist:

//+------------------------------------------------------------------+
//| Zigzag.mq4 |
//| Copyright © 2005-2007, MetaQuotes Software Corp.
//| https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#Eigenschaftslink "https://www.metaquotes.net//"

#property indicator_chart_window
#Eigenschaft indicator_buffers 1
#property indicator_color1 Rot
//---- Indikatorparameter
extern intDepth=12;
extern inttern ExtDeviation=5;
extern inttern ExtBackstep=3;
//---- Indikatorpuffer
double ZigzagBuffer[];
double HighMapBuffer[];
double LowMapBuffer[];
int level=3; // Tiefe der Nachzählung
bool downloadhistory=false;
//+------------------------------------------------------------------+
//| Benutzerdefinierte Initialisierungsfunktion für Indikatoren |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(3);
//---- Zeichnungseinstellungen
SetIndexStyle(0,DRAW_SECTION);
//---- Zuordnung von Indikatorpuffern
SetIndexPuffer(0,ZigzagPuffer);
SetIndexPuffer(1,HighMapPuffer);
SetIndexBuffer(2,LowMapBuffer);
SetIndexEmptyValue(0,0.0);

//---- Indikator Kurzbezeichnung
IndicatorShortName("ZigZag("+ExtDepth+", "+ExtDeviation+", "+ExtBackstep+")");
//---- Initialisierung abgeschlossen
zurück(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
int i, counted_bars = IndicatorCounted();
int limit,counterZ,whatlookfor;
int shift,back,lasthighpos,lastlowpos;
double val,res;
double curlow,curhigh,lasthigh,lastlow;

if (counted_bars==0 && downloadhistory) // Verlauf wurde heruntergeladen
{
ArrayInitialize(ZigzagBuffer,0.0);
ArrayInitialize(HighMapBuffer,0.0);
ArrayInitialize(LowMapBuffer,0.0;)
}
if (gezählte_Balken==0)
{
limit=Bars-ExtDepth;
downloadhistory=true;
}
if (gezählte_Balken>0)
{
while (counterZ<level && i<100)
{
res=ZickzackPuffer[i];
if (res!=0) counterZ++;
i++;
}
i--;
limit=i;
if (LowMapBuffer[i]!=0)
{
curlow=LowMapBuffer[i];
whatlookfor=1;
}
sonst
{
curhigh=HighMapBuffer[i];
whatlookfor=-1;
}
for (i=limit-1;i>=0;i--)
{
ZickzackPuffer[i]=0,0;
LowMapBuffer[i]=0.0;
HighMapBuffer[i]=0.0;
}
}

for(shift=limit; shift>=0; shift--)
{
val=Low[iLowest(NULL,0,MODE_LOW,ExtDepth,shift)];
if(val==lastlow) val=0.0;
sonst
{
lastlow=val;
if((Low[shift]-val)>(ExtDeviation*Point)) val=0.0;
sonst
{
for(back=1; back<=ExtBackstep; back++)
{
res=LowMapBuffer[shift+back];
if((res!=0)&&(res>val)) LowMapBuffer[shift+back]=0.0;
}
}
}
if (Low[shift]==val) LowMapBuffer[shift]=val; sonst LowMapBuffer[shift]=0.0;
//--- hoch
val=High[iHighest(NULL,0,MODE_HIGH,ExtDepth,shift)];
if(val==lasthigh) val=0.0;
sonst
{
lasthigh=val;
if((val-High[shift])>(ExtDeviation*Point)) val=0.0;
sonst
{
for(back=1; back<=ExtBackstep; back++)
{
res=HighMapBuffer[shift+back];
if((res!=0)&&(res<val)) HighMapBuffer[shift+back]=0.0;
}
}
}
if (High[shift]==val) HighMapBuffer[shift]=val; sonst HighMapBuffer[shift]=0.0;
}

// endgültiger Schnitt
if (whatlookfor==0)
{
lastlow=0;
lasthigh=0;
}
sonst
{
lastlow=curlow;
lasthigh=curhigh;
}
for (shift=limit;shift>=0;shift--)
{
res=0,0;
switch(whatlookfor)
{
Fall 0: // Suche nach Spitze oder Rasen
if (lastlow==0 && lasthigh==0)
{
if (HighMapBuffer[shift]!=0)
{
lasthigh=high[shift];
lasthighpos=shift;
whatlookfor=-1;
ZigzagBuffer[shift]=lasthigh;
res=1;
}
wenn (LowMapBuffer[shift]=0)
{
lastlow=Low[shift];
lastlowpos=shift;
whatlookfor=1;
ZigzagBuffer[shift]=lastlow;
res=1;
}
}
Pause;
Fall 1: // Suche nach Spitzenwert
if (LowMapBuffer[shift]=0.0 && LowMapBuffer[shift]<lastlow && HighMapBuffer[shift]==0.0)
{
ZigzagBuffer[lastlowpos]=0.0;
lastlowpos=shift;
lastlow=LowMapBuffer[shift];
ZigzagBuffer[shift]=lastlow;
res=1;
}
if (HighMapBuffer[shift]=0.0 && LowMapBuffer[shift]==0.0)
{
lasthigh=HighMapBuffer[shift];
lasthighpos=shift;
ZigzagBuffer[shift]=lasthigh;
whatlookfor=-1;
res=1;
}
Pause;
Fall -1: // Suche nach Rasen
if (HighMapBuffer[shift]=0.0 && HighMapBuffer[shift]>lasthigh && LowMapBuffer[shift]==0.0)
{
ZickzackPuffer[lasthighpos]=0,0;
lasthighpos=shift;
lasthigh=HighMapBuffer[shift];
ZigzagBuffer[shift]=lasthigh;
}
if (LowMapBuffer[shift]=0.0 && HighMapBuffer[shift]==0.0)
{
lastlow=LowMapBuffer[shift];
lastlowpos=shift;
ZigzagBuffer[shift]=lastlow;
whatlookfor=1;
}
Pause;
Standard: Rückgabe;
}
}

zurück(0);
}
//+------------------------------------------------------------------+