[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 965

 
Vinin:


DC - Dealing Desk

Im Tester für andere Instrumente können Sie nur den Eröffnungskurs am Null-Bar abrufen, Ticks für andere Instrumente werden nicht modelliert, das Marktumfeld ist fast unzugänglich.

Der Handel mit anderen Instrumenten wird nicht eröffnet.

Wenn Sie eine korrekte Multicurrency-Analyse durchführen müssen, sollten Sie besser MT5 verwenden. Dort gibt es einen Multicurrency-Tester.


Ist es möglich, über MT5 mit echten Konten zu handeln? Oder ist es bisher nur für Demokonten?
 
ViktorF:

Ist es möglich, über MT5 mit echten Konten zu handeln? Oder gilt das nur für Demokonten?

Einige Maklerunternehmen bieten diesen Service an.
 
Bitte helfen Sie mir. Ich habe mir einen kleinen Code ausgedacht, aber es gibt einen Fehler bei den Klammern... was ist los?
//+------------------------------------------------------------------+
void line()
{
 ObjectCreate("MILINE", 1, 0, Time[0], Bid-5*Point);
 
 if (Bid<ObjectGet("MILINE", 1) 
 {
 ObjectSet("MILINE", 1, (ObjectGet("MILINE", 1)-1*Point));
 return;
   }
 
 
 if (Bid>ObjectGet("MILINE", 1)
 
 {
  ObjectSet("MILINE", 1, (ObjectGet("MILINE", 1)+1*Point));
 return;
   }
   //+------------------------------------------------------------------+
  }
 
143alex:
Fragen Sie mich bitte. Ich habe einen kleinen Code gemacht, ein Fehler mit Klammern erscheint... was ist los?


Ist es schwierig, die Klammern selbst zu berechnen, oder ist es unmöglich, einen fehlerhaften Code auszukommentieren?

//+------------------------------------------------------------------+
void line(){
 ObjectCreate("MILINE", 1, 0, Time[0], Bid-5*Point);
 if (Bid<ObjectGet("MILINE", 1)) { ObjectSet("MILINE", 1, ObjectGet("MILINE", 1)-1*Point); return; }
 if (Bid>ObjectGet("MILINE", 1)) { ObjectSet("MILINE", 1, ObjectGet("MILINE", 1)+1*Point); return; }
   //+------------------------------------------------------------------+
  }

ZS: all das wird nicht funktionieren - keine Prüfung, ob das Objekt erstellt ist, kein Neuzeichnen des Fensters, um die Erstellung eines Objekts zu prüfen

 
IgorM:


Ist es schwierig, die Klammern selbst zu berechnen, oder ist es unmöglich, einen fehlerhaften Code auszukommentieren?

HH: es wird sowieso nicht funktionieren - keine Prüfung, ob das Objekt erstellt wurde, kein Neuzeichnen des Fensters, um zu prüfen, ob das Objekt erstellt wurde

Ich danke Ihnen! Ich lerne gerade... Irgendwann komme ich zu Inspektionen.
 
143alex:
Ich danke Ihnen! Ich lerne gerade... Irgendwann komme ich zu Inspektionen.
Im Testgerät auf dem m-1 funktioniert es... sehr interessant für Experimente zu scharfen Bewegungen. Nochmals vielen Dank!
 
 void Send_BUYLIMIT(double Lot,double cena)
{
if ( OrdersTotal()==0  ) OrderSend(Symbol(),OP_BUY,0.01,Ask,10,0,Bid+10*Point);
if (OrderType()==OP_BUY && OrdersTotal()<=4)OrderSend(Symbol(),OP_BUYLIMIT,Lot,cena,10,0,cena+tp*Point,0,123,0,Blue);
 
}
   return(0);


Wie kann ich einen Kaufauftrag eröffnen und 4 schwebende By-Limit-Aufträge einstellen? Insgesamt 5 Aufträge, 1 Marktauftrag und 4 schwebende Aufträge. Wo liegt hier der Fehler?

 

Hallo zusammen.

Können Sie mir bitte sagen: Gibt es nach dem Testen der Historie eine Möglichkeit, den Kommentar oder die magische Zahl jedes getätigten Handels zu erhalten, oder eine andere Möglichkeit, die Geschäfte zu identifizieren? Lassen Sie mich versuchen, die Bedeutung zu erklären. Angenommen, ich programmiert ein paar Muster und lief der EA auf die Geschichte, das Ergebnis, wie es oft geschieht, ist Verlust. Es wäre interessant zu sehen, welche der Muster unter welchen Marktbedingungen immer häufiger verlieren und welche (wenn überhaupt) zumindest einen gewissen Gewinn aufweisen.

Vielen Dank im Voraus für die Antworten.

 
artmedia70:


Artemida70, danke für den Tipp zur Fehlersuche beim Debuggen des Programms.

Ich habe noch ein paar Fragen, die Sie bitte so weit wie möglich beantworten.

Frage eins. Während der Tests zeige ich mit Hilfe von Warnmeldungen technische Informationen über die Höhe der Ausrutscher, die Wachstumsrate des Trends usw. an. Am Ende des Tests überprüfe ich das Journal mit Trades und technischen Informationen zum Zeitpunkt der Auftragseröffnung. Ich überprüfe alle Einträge im Protokoll mithilfe des Schiebereglers. Es hat den Anschein, dass die Informationen über die jüngsten Abschlüsse sichtbar sind, während die allerersten Abschlüsse und in der Mitte des getesteten Zeitrahmens nicht sichtbar sind. Frage: Wie kann ich alle Informationen über den gesamten Prüfzeitraum einsehen?

Frage zwei. Auf einem der geschlossenen Foren habe ich ein Gespräch über die Existenz eines vollständigeren Buches über die MQL4-Sprache gesehen und auch über ein kleines Handbuch oder eine Anleitung für das MT4-Terminal, die die wichtigsten Operatoren gibt, die es erlauben, den Expert Advisor aus dem Handel zu entfernen, setzen Sie es zum Testen, etc. auf programmatische Weise.

FRAGE: können Sie bei der Beschaffung dieser Informationen helfen?

DANKESCHÖN

 

Ich habe einen benutzerdefinierten Indikator mit den folgenden externen Daten erstellt:

//------- Параметры индикатора --------------------------------------+
extern datetime  Zero_Point      = D'2010.10.10 00:00';
extern int       cnt_Bars        = 0;
extern string    Lots            = "0.1";                            // Размеры лотов
extern string    BUY_Pairs       = "AUDJPY;AUDCAD;EURJPY;GBPJPY;GBPUSD;NZDUSD;CADJPY";
extern string    SELL_Pairs      = "AUDUSD;CHFJPY;EURCHF;EURUSD;GBPCHF;NZDJPY;USDJPY";
extern bool      CalculateInPips = False;

Ich rufe es von der EA aus:

string List = DSDig (MathMax (Lot, gd_Lot[gi_cur_Basket]));
        Print ("Zero_Point = ", Zero_Point, "; Lot = ", List, "; Basket Long = ", cur_Basket_Long, "; Basket Short = ", cur_Basket_Short);
        iCustom (Symbol(), TF_ind, "i-PSI@EquityBasket", Zero_Point, 0, List, cur_Basket_Long, cur_Basket_Short, False, 0, 0);

EA-Protokoll:

20:13:54 e-PSI@BasketBull_v2.4 EURUSD,H4: Zero_Point = 1288915200; Lot = 0.10; Basket Long = USDJPY;USDCHF;CADJPY;CADCHF; Basket Short = NZDUSD;AUDCAD;EURJPY;EURGBP;AUDUSD;EURCAD;EURCHF;EURUSD

Hier habe ich, dass die Daten korrekt übertragen werden.

Schauen wir uns das Indikatorprotokoll an:

Basket LONG[8]: 0 - NZDUSD; 1 - AUDCAD; 2 - EURJPY; 3 - EURGBP; 4 - AUDUSD; 5 - EURCAD; 6 - EURCHF; 7 - EURUSD; 
Basket SHORT[7]: 0 - AUDUSD; 1 - CHFJPY; 2 - EURCHF; 3 - EURUSD; 4 - GBPCHF; 5 - NZDJPY; 6 - USDJPY; 
20:13:34 i-PSI@EquityBasket EURUSD,M30: List Lot = USDJPY;USDCHF;CADJPY;CADCHF
20:13:34 i-PSI@EquityBasket EURUSD,M30: Zero_Point = 0; Lot = 0.00

Zero_Point-Wert im EA:

extern datetime Zero_Point          = D'2010.10.10 00:00';
Übertragener Wert gleich (aus EA-Protokoll)
Zero_Point = 1288915200

und wir erhalten 0 im Indikator. Kann mir jemand sagen, wo das Problem liegt?

Grund der Beschwerde: