[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 469

 
Hat jemand eine Antwort oder was?
 
bikrus13:
Wie viel CPU-Leistung oder RAM-Speicher benötigt der Expert Advisor, um die Informationen zu verarbeiten und problemlos mit 52 Paaren arbeiten zu können?
bikrus13:
Kann mir jemand eine Antwort geben?
Oder wie. Die Problembedingungen enthalten keine Daten, die es uns erlauben, das mögliche Ergebnis auch nur zu schätzen. Wir können nur vermuten, dass es zwangsläufig zu Problemen kommen wird, wenn wir alle Karten öffnen. Und sie werden weniger, wenn wir alle Paare von einer Instanz des Expert Advisors aus handeln (aber es wird Probleme mit dem Laden der Historie geben).
Zum Beispiel ein ähnliches Problem: Wie lange wird es dauern, zwei Siedlungen und ein Dorf vor der Flut zu evakuieren? Da wir die Bevölkerung, die Anzahl und Art der Transporte sowie die Entfernung der Evakuierung nicht kennen?
 
rlx:

Das Archiv scheint nicht zu halten, wahrscheinlich weil es ein Rar-Archiv ist.

Hier ist das ZIP-Archiv.


Danke für die Hilfe!!! Ich werde Millionär, ich werde dich nicht vergessen))
 
Geben Sie mir einen Tipp, wo ich einen Fehler gemacht habe, ich kann die Daten nicht aus dem schwebenden Auftrag herausholen

if (OrdersHistoryTotal() != orto)
 {
int k1=OrdersTotal();
while
(k1>=1)
{
      OrderSelect(OrderTicket(),SELECT_BY_POS, MODE_HISTORY);
if (OrderProfit()>0)
{
if (OrderStopLoss()>0)
{
Alert("ОРДЕР ПРИБЫЛЕН");
Alert("ордер найден ",k1," шт"," общее количество ",OrdersHistoryTotal());
Alert("врямя бара на катором открыт ", Time[k1]," номер тикета ",OrderTicket());
int h=Time[k1];
Alert("профит ордера = ", OrderProfit()," SL ",OrderStopLoss()," TP ",OrderTakeProfit());
k1--;
break;
}
}
}
for (int k = OrdersTotal() ; k>=0; k--)
  {
   OrderSelect(k, SELECT_BY_POS, MODE_TRADES);
Alert("ОБЩЕЕ КОЛЛИЧЕСТВО ОТКРЫТЫХ И ОТЛОЖЕННЫХ ",OrdersTotal()," вид ордера ",OrderType());
int h1=Time[k];
if (h==h1)
{
Alert("ОРДЕР НАЙДЕН закрываем ",OrderTicket()," SL ",OrderStopLoss()," TP ",OrderTakeProfit()," time ", Time[k]);

//==================================================================================
//здесь не могу вытащить из найденого ордера не чего кроме Time
//данные из журнала
//2011.06.26 12:15:07    2011.06.24 03:00  555 EURUSD,M5: open #2 sell limit 0.30 EURUSD at 1.4290 tp: 1.4275 ok
//2011.06.26 12:15:07    2011.06.24 04:16  555 EURUSD,M5: Alert: ОРДЕР НАЙДЕН закрываем 0 SL 0 TP 0 time 1308888000
//==================================================================================




OrderDelete(OrderTicket());
}
}
orto = OrdersHistoryTotal();
}
 
OrderSelect(OrderTicket(),SELECT_BY_POS, MODE_HISTORY);
Bedarf
OrderSelect(OrderTicket(),SELECT_BY_TICKET);

oder

for(int i = 0; i <totalHistory; i++)
  {
   OrderSelect(i,SELECT_BY_POS, MODE_HISTORY);
  }
 
vik-777:
Sagen Sie mir, wo ich falsch liege, ich kann keine Daten aus ausstehenden Aufträgen abrufen


Eine Menge Fehler. Sie fiel mir sofort ins Auge:

Die Zeile ist falsch:

OrderSelect(OrderTicket(),SELECT_BY_POS, MODE_HISTORY);

Bei der Auswahl nach Fahrschein müssen Sie nicht nur angeben, dass die Auswahl nach Fahrschein erfolgt, sondern nach erfolgreicher Auswahl auch den Annahmeschluss für die Bestellung überprüfen. Ist der Wert größer als Null, wird der Auftrag aus den abgeschlossenen Aufträgen ausgewählt. Erforderlich:

OrderSelect(OrderTicket(),SELECT_BY_TICKET);

Nach dieser Zeile sollte geprüft werden, ob die OrderCloseTime()>0 ist. Wenn die Bedingung erfüllt ist, wird die Order aus dem Array der geschlossenen Orders ausgewählt; wenn sie falsch ist, befindet sich die Order noch auf dem Markt

... Aber ... Ein genauerer Blick auf Ihren Code zeigt dies:

Sie versuchen, einen Auftrag anhand seines Tickets auszuwählen, indem Sie eine Standardfunktion OrderTicket() verwenden ... Und diese Funktion gibt das Ticket der bereits ausgewählten Bestellung zurück. Und wo in Ihrem Code ist sie ausgewählt?

----------------------

Ein Ratschlag: Durchsuchen Sie die Historie der abgeschlossenen Aufträge mit Hilfe eines Indexes und nicht mit Hilfe eines Tickets.

Wenn Sie den gewünschten Auftrag gefunden haben, prüfen Sie die benötigten Daten.

Und wenn man sich Ihren Code noch genauer ansieht, scheint es, dass Sie überhaupt nicht verstehen, was Sie erreichen wollen.

Die Alerts informieren Sie (in ihrer Bedeutung) über die aktuelle Marktsituation... Und Sie versuchen, etwas aus Aufträgen auszuwählen, die bereits ausgeführt und geschlossen wurden.

Beschreiben Sie Ihre Aufgabe genau.

 
artmedia70:

Eine Menge Fehler. Sie fiel mir sofort ins Auge:

Die Zeile ist falsch:

Bei der Auswahl nach Fahrschein müssen Sie nicht nur angeben, dass die Auswahl nach Fahrschein erfolgt, sondern nach erfolgreicher Auswahl auch den Annahmeschluss für die Bestellung überprüfen. Ist der Wert größer als Null, wird der Auftrag aus den abgeschlossenen Aufträgen ausgewählt. Erforderlich:

Nach dieser Zeile sollte geprüft werden, ob die OrderCloseTime()>0 ist. Wenn die Bedingung erfüllt ist, wird die Order aus dem Array der geschlossenen Orders ausgewählt; wenn sie falsch ist, befindet sich die Order noch auf dem Markt

... Aber ... Ein genauerer Blick auf Ihren Code zeigt dies:

Sie versuchen, einen Auftrag anhand seines Tickets auszuwählen, indem Sie eine Standardfunktion OrderTicket() verwenden ... Und diese Funktion gibt das Ticket der bereits ausgewählten Bestellung zurück. Und wo in Ihrem Code ist sie ausgewählt?

----------------------

Ein Ratschlag: Durchsuchen Sie die Historie der abgeschlossenen Aufträge mit Hilfe eines Indexes und nicht mit Hilfe eines Tickets.

Wenn Sie den gewünschten Auftrag gefunden haben, prüfen Sie die benötigten Daten.

Und wenn man sich Ihren Code noch genauer ansieht, scheint es, dass Sie überhaupt nicht verstehen, was Sie erreichen wollen.

Die Alerts informieren Sie (in ihrer Bedeutung) über die aktuelle Marktsituation... Und Sie versuchen, etwas aus Aufträgen auszuwählen, die bereits ausgeführt und geschlossen wurden.

Beschreiben Sie Ihre Aufgabe genau.


Ich weiß den Tipp zu schätzen, ich bin ein Anfänger in diesem Geschäft.

Die Idee ist, einen Verkaufsauftrag bei 1,4000 sl 1,4030 tp 1,3985 zu eröffnen.

Nach erfolgreicher Eröffnung eines Verkaufsauftrags eröffnen Sie einen Verkaufslimitauftrag mit folgenden Parametern: Preis 1,4030 sl 1,4080 tp 1,4015

Hier ist das Problem: Wenn mein Auftrag bei 1,3985 geschlossen wird, sollte das Verkaufslimit gelöscht werden.

Bitte lassen Sie mich wissen, ob dies der richtige Schritt ist.

Im Feld für die Schließung von Verkaufsaufträgen suche ich in der Historie nach dem letzten geschlossenen Auftrag, finde heraus, wann er geöffnet wurde, und suche dann in den ausstehenden Aufträgen nach einer Übereinstimmung, und wenn diese gefunden wird, lösche ich den Auftrag.

 
Wie funktioniert der Auto-Profit-Berater in Kurzform und wo ist er im Forum beschrieben? Ich bin mir nicht sicher, wie das funktioniert.
 
yosuf:
Wie funktioniert der Auto-Profit-Berater in Kurzform und wo ist er im Forum beschrieben? Ich kann im Forum keine Beschreibung dazu finden.

Sie wurden verwarnt, weil Sie einen dekompilierten EA gepostet haben.
 

Guten Tag!

Ich sehe oft, dass in Foren über das Debuggen von EAs mit Hilfe von Optimierungen gesprochen wird. Ich habe sie ein paar Mal im Tester mit der Optimierungsmarkierung laufen lassen, aber ich habe keine greifbaren Ergebnisse gesehen.

Bitte teilen Sie mir mit, wo ich mehr über die Nutzung dieser Optimierung erfahren kann.

Ich würde das sehr begrüßen.