Guten Abend!
Ich denke daran, zwei Paare zu einem EA zu kombinieren. Ich habe es getan.
Aber plötzlich hatte ich Zweifel. Ich habe es so gemacht:
extern bool GBP=true; extern bool EUR=true; - - - - - - - - - - - - - - - - - - - - int start() { double A = iRSI("GBPUSD", 0, .....); double B = iRSI("GBPUSD", 0, .....); double C = iRSI("EURUSD", 0, .....); double D = iRSI("EURUSD", 0, .....); //------------------------------------------------------ if (GBP) {//если есть разрешение true if (A<B) { double BID = MarketInfo("GBPUSD", MODE_BID); double ASK = MarketInfo("GBPUSD", MODE_ASK); double POINT =MarketInfo("GBPUSD",MODE_POINT); (ticket=OrderSend .... //ПОКУПАЕМ/ПРОДАЕМ...) }}} //---------------------------------------------------------- if (EUR) { //если есть разрешение true if (C>D) { double BID = MarketInfo("EURUSD", MODE____BID); double ASK = MarketInfo("EURUSD", MODE____ASK); double POINT =MarketInfo("EURUSD",MODE____POINT); (ticket=OrderSend .... //ПОКУПАЕМ/ПРОДАЕМ...) }}} //------------------------------------------------------------ return(0); }
Online und im Strategietester funktioniert alles! Vielleicht ist das nicht ganz der richtige Weg, um es zu tun:
extern bool GBP=true; extern bool EUR=true; - - - - - - - - - - - - - - - - - - - - int start() { //------------------------------------------------------ if (GBP) //если есть разрешение true{ double C = iRSI("GBPUSD", 0, .....); double D = iRSI("GBPUSD", 0, .....); if (A<B) { double BID = MarketInfo("GBPUSD", MODE_BID); double ASK = MarketInfo("GBPUSD", MODE_ASK); double POINT =MarketInfo("GBPUSD",MODE_POINT); (ticket=OrderSend .... //ПОКУПАЕМ/ПРОДАЕМ...) }}} //---------------------------------------------------------- if (EUR) { //если есть разрешение true double C = iRSI("EURUSD", 0, .....); double D = iRSI("EURUSD", 0, .....); if (C>D) { double BID = MarketInfo("EURUSD", MODE____BID); double ASK = MarketInfo("EURUSD", MODE____ASK); double POINT =MarketInfo("EURUSD",MODE____POINT); (ticket=OrderSend .... //ПОКУПАЕМ/ПРОДАЕМ...) }}} //------------------------------------------------------------ return(0); }Die zweite Option scheint auch im Testgerät zu funktionieren.
Aber wie geht man am besten vor?
Normalerweise berechne ich alle Indikatorwerte zu Beginn, d.h. Variante 1, das ist einfacher, man kommt nicht durcheinander und der Code ist strukturierter.
Ich danke Ihnen! Für die Antwort. Eine weitere Frage. Nachlaufende Stopps wollen nicht funktionieren. Sie funktionieren einzeln im Prüfgerät!
Aber online funktioniert es für ein Paar. Aber bei einem anderen erzeugt er einen Fehler - direkt nach dem Anhängen des Expert Advisors.
Aber Angebote gehen - nur ohne Schleppnetz auf das zweite Paar.
Fehler 130 beim Ändern von SL
int start() { РАСЧЁТ ИНДИКАТОРОВ { ПОКУПКА/ПРОДАЖА } for (int j=0; j<OrdersTotal(); j++) { if (OrderSelect(j, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()=="GBPUSD" && OrderMagicNumber()==Magic1) { ИДЕТ КОД 1 ТРЕЙЛИНГА. } for (int r=0; r<OrdersTotal(); r++) { if (OrderSelect(r, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()=="EURUSD" && OrderMagicNumber()==Magic2) { ИДЕТ КОД 2 ТРЕЙЛИНГА } return(0); }Die nachgestellten Codes sind identisch, aber die externen und internen Variablen haben unterschiedliche Zeichen.
Ich kann nicht verstehen, was los ist. Vielleicht kann mir das jemand sagen?
int start() { //РАСЧЁТ ИНДИКАТОРОВ //ПОКУПКА/ПРОДАЖА for (int j=0; j<OrdersTotal(); j++) { if (OrderSelect(j, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()=="GBPUSD" && OrderMagicNumber()==Magic1) { ИДЕТ КОД 1 ТРЕЙЛИНГА. } if (OrderSymbol()=="EURUSD" && OrderMagicNumber()==Magic2) { ИДЕТ КОД 2 ТРЕЙЛИНГА } } } return(0); }
Ich werde es ausprobieren, danke.
Es scheint zu funktionieren!
Noch kein Fehler. Ich warte auf Gewinne, um das Schleppnetz zu überprüfen.
Weitere Fragen. Wenn es Ihnen nichts ausmacht.
Das sind bei weitem nicht die einfachsten Beispiele für Experimente mit mehreren Währungen, und wo sie vorhanden sind, sind sie nichts für schwache Nerven. Es ist zu kompliziert, um alles zu verstehen.
Es gibt eine in meinem Code:
double BID = MarketInfo("GBPUSD", MODE_BID); double ASK = MarketInfo("GBPUSD", MODE_ASK); double POINT =MarketInfo("GBPUSD",MODE_POINT); //-------Проверяем условие на покупку------------- if (
In den seltenen Beispielen auf dieser Website, in denen ein ähnlicher Block vorhanden ist, gibt es jedoch eine Linie:
RefreshRates(); double BID = MarketInfo("GBPUSD", MODE_BID); double ASK = MarketInfo("GBPUSD", MODE_ASK); double POINT =MarketInfo("GBPUSD",MODE_POINT);
Ich habe auch diese Zeile eingefügt. Es wurde zusammengestellt. Aber ich bemerke keine Veränderung der Leistung.
Wie viel wird hier benötigt? Vielleicht sollte es in meinem EA belassen werden. Es wirkt bei allen Zecken. Und es verwendet ein Array von Werten -
//------заполняем массив значениями RSI GBPUSD ----------- double RSI_array[30]; int i=0; while (i<31) { RSI_array[i]=iRSI("GBPUSD",0,GBPUSD_period,3,3,MODE_SMA,0,MODE_MAIN,i); i++;
1. bei der Berechnung von Indikatoren bestimmte Währungen und Zeitintervalle angeben, z.B.: iRSI("GBPUSD",60,GBPUSD_period,3,3,MODE_SMA,0,MODE_MAIN,i); //aber hier ist ein Fehler
2. mit Hilfe von MarketInfo Preise, Punkte usw. ermitteln.
3. iLow(...) anstelle von z. B. Low[0] verwenden
und gelten für alle Währungspaare.
Viel Glück!
Ich habe den Fehler! Anstelle von "0" gebe ich Indikatorvariablen für Währungen ein - den Zeitrahmen, in dem der Expert Advisor arbeitet.
Mein Expert Advisor scheint reibungslos zu funktionieren. Und die Schleppnetze funktionieren auch.
Und eine letzte Frage, hoffe ich. Ich habe eine weitere eingefügt. Es handelt sich jedoch nicht um den eingebauten Indikator, sondern um einen benutzerdefinierten Indikator. Im Testgerät funktioniert dieses Paar. Aber online geht das nicht! Es erzeugt etwas Seltsames: fast jede Sekunde wird dieser Indikator gesetzt und gelöscht. ..... - Haben Sie einen Rat?
//***************************************************************
kLerk ! Von allen Experten, die diese Woche hier waren, sind Sie der einzige, der auf meine Frage geantwortet hat. Und ich habe die Antworten bekommen, mit denen ich meistens zufrieden war. ( Außer bei der Frage nach RefreshRates() )
Bitte tragen Sie hier Ihre E-Mail-Adresse ein.
Als Zeichen meiner Dankbarkeit sende ich Ihnen einen einfachen Handels-"Gral" - EA! der von meinem guten Freund erfunden wurde.(Einverstanden) Ich arbeite mit ihm mit manueller Bestätigung. Ich arbeite mit ihm als manuelle Bestätigung und verwende nur zwei eingebaute Induktionsindikatoren.
Ohne Ironie, - dass es wirklich fast ein "Gral" ist (bei einiger Geschicklichkeit der Arbeit mit ihm), - werden Sie nach ein paar Minuten nach Erhalt sehen! Aber - jeder soll es sich ansehen:
Das Symbol ---------
Zeitraum 30 Minuten (M30) 2007.01.02 11:00 - 2007.08.15 00:00
Modell Alle Ticks (basierend auf allen kleinsten verfügbaren Perioden mit fraktaler Interpolation jedes Ticks)
Qualität der Modellierung 67.35%
Ersteinlage 10000,00
Reingewinn 4009,24
Gesamtgewinn 6335,06 Gesamtverlust -2325,82
Rentabilität 2,72 Erwartete Auszahlung 21,44
Maximale Absenkung 245,63 (2,18%) Relative Absenkung 2,18% (245,63)
Handel insgesamt 187
Short-Positionen (% Gewinn) 71 (80,28%)
Long-Positionen (% Gewinn) 116 (68,10%)
Gewinnbringende Geschäfte (in % aller Geschäfte) 136 (72,73%)
Verlustgeschäfte (% von allen) 51 (27,27%)
Größter gewinnbringender Handel 145,02, Verlusthandel -47. 77
Durchschnittlich profitabler Handel 46,58, Verlusthandel -45,60
Maximale Anzahl von Dauergewinnen (Gewinn) 9 (586. 96)
laufende Verluste (Verlust) 4 (-189,99
Und hier ist die Out-of-Sample-Testtabelle für November/Dezember des vergangenen Jahres 2006:
Höchstwahrscheinlich entsprechen die tatsächlichen Parameter, mit denen der benutzerdefinierte Indikator aufgerufen wird, nicht den formalen Parametern, die mit dem externen Schlüssel im Listing aufgeführt sind (Anzahl, Reihenfolge, Typ, ...). Ein sehr häufiger Fehler.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Guten Abend!
Ich denke daran, zwei Paare zu einem EA zu kombinieren. Ich habe es getan.
Aber plötzlich hatte ich Zweifel. Ich habe es so gemacht:
Online und im Strategietester funktioniert alles! Vielleicht ist das nicht ganz der richtige Weg, um es zu tun:
Die zweite Option scheint auch im Testgerät zu funktionieren.Aber wie geht man am besten vor?