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

 
Karabas >> :

Hallo, können Sie mir sagen, ob es möglich ist, die Farbe des Indikators zu ändern? Nehmen wir an, es gibt zwei gleitende Durchschnitte mit unterschiedlichen Perioden im Hauptfenster mit unterschiedlichen Farben. >> Danke!


Klicken Sie mit der rechten Maustaste auf einen der MAs (Gleitender Durchschnitt), es öffnet sich ein Fenster, klicken Sie auf "Eigenschaften des Gleitenden Durchschnitts" und dort sehen Sie, wo Sie die Farbe ändern können

 
xruss >> :

Cls_B und Cls_S erlauben es, eine Position zu schließen, und sie können nicht im Widerspruch zu Opn_B Opn_S stehen. Hier müssen Sie in den Code eine Zeitreihe schreiben, die den Balken markiert, an dem der Kauf- oder Verkaufsauftrag eröffnet wurde und an dem er geschlossen werden sollte, damit während dieses Zeitraums keine weiteren Positionen eröffnet werden((

Damit meine ich nicht, dass Sie die bereits bestehenden Eröffnungsbedingungen ersetzen, sondern dass Sie ihnen neue hinzufügen. So wie ich es verstehe, möchten Sie dem EA verbieten, eine Position auf ein Eröffnungssignal hin zu öffnen, wenn es kein Signal zum Schließen auf demselben Signal gibt. Fügen Sie also hinzu:

if (Opn_B==true && Cls_B==false) { не открывать Buy }
if (Opn_C==true && Cls_C==false) { не открывать Sell }

Und wenn Sie es so machen - wie berechnen Sie den Balken, an dem eine Position irgendwann geschlossen werden sollte? :)

 

Hallo

//+------------------------------------------------------------------+
int start()
  {
//----
 double Macd_0=iMACD(NULL,0, MAFastPeriod, MASlowPeriod, MASignalPeriod,1,0,0);
 double Macd_1=iMACD(NULL,0, MAFastPeriod, MASlowPeriod, MASignalPeriod,1,0,1);
 double signal_0=iMACD(NULL,0, MAFastPeriod, MASlowPeriod, MASignalPeriod,1,1,0);
 double signal_1=iMACD(NULL,0, MAFastPeriod, MASlowPeriod, MASignalPeriod,1,1,1);
    
    if(( Macd_0 < Macd_1 && Macd_1 > 0) && ( signal_0 < signal_1 && signal_1 > 0))
     if( CheckOrders(OP_SELL))
      {
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
       
    if(( Macd_0 > Macd_1 && Macd_1 < 0) && ( signal_0 > signal_1 && signal_1 < 0))
     if( CheckOrders(OP_BUY))
      {
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }

//----
   return(0);
  }
//+------------------------------------------------------------------+

Dies ist die erste Option.

//+------------------------------------------------------------------+
int start()
  {
//----
 double Macd_0=iMACD(NULL,0, pFast, pSlow, pSignal,1,0,0);
 double Macd_1=iMACD(NULL,0, pFast, pSlow, pSignal,1,0,1);
 double signal_0=iMACD(NULL,0, pFast, pSlow, pSignal,1,1,0);
 double signal_1=iMACD(NULL,0, pFast, pSlow, pSignal,1,1,1);
    
    if(( Macd_0 < Macd_1 && Macd_1 > 0) && ( signal_0 < Macd_0 && signal_1 < Macd_1 && signal_1 > 0))
     if( CheckOrders(OP_SELL)) //продажа
      {
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
       
    if(( Macd_0 > Macd_1 && Macd_1 < 0) && ( signal_0 > Macd_0&& signal_1 > Macd_1&& signal_1 < 0))
     if( CheckOrders(OP_BUY)) //покупка
      {
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }

//----
   return(0);
  }
//+------------------------------------------------------------------+

Dies ist die zweite Variante.

Expert Advisor basiert auf macd, Handel ist einfach (alles basiert auf 0 und 1 bar, Preis ist offen).

Im ersten Fall steigen die Macd-Werte (für Kauf), für Verkauf sinken sie. Die Signalleitung basiert ebenfalls auf diesen Bedingungen.

Im zweiten Fall habe ich versucht, das Kreuzen der schnellen und langsamen Macd-Linie zu erkennen. Aber einige Zweifel blieben............., ob es richtig ist.........

 
Everlost >> :

Damit meine ich nicht, dass Sie die bereits bestehenden Eröffnungsbedingungen ersetzen, sondern dass Sie ihnen neue hinzufügen. So wie ich es verstehe, möchten Sie dem EA verbieten, eine Position auf ein Eröffnungssignal hin zu öffnen, wenn es kein Signal zum Schließen auf demselben Signal gibt. Fügen Sie sie also hinzu:

if (Opn_B==true && Cls_B==false) { не открывать Buy }
if (Opn_C==true && Cls_C==false) { не открывать Sell }

Und wenn Sie es auf Ihre Weise machen - wie berechnen Sie den Balken, bei dem die Position irgendwann geschlossen werden sollte? :)

wie eröffne ich eine Position?)

weil es sich öffnet, wenn Opn_B=true Cls_B=false und Cls_B zu diesem Zeitpunkt nicht wahr sein kann.


Nehmen wir an, wir haben einen MA`, der die Kursnotierungen gekreuzt hat (gebildet Opn_S), eine Position nach unten eröffnet und SL- auf Breakeven verschoben. und dann rutschte der Preis SL auf Breakeven und...

in meinem Fall wird eine Position nach unten(((( geöffnet, bevor ein neues Signal der MA`-Kursüberquerung (Cls_S) gebildet wird



 
xruss >> :

aber wie wird meine Stelle eröffnet?:)

weil es sich öffnet, wenn Opn_B=true Cls_B=false und Cls_B zu diesem Zeitpunkt nicht wahr sein kann.

Ok, erstellen Sie eine weitere Variable, zum Beispiel int Last_Position=-1. Geben Sie darin die Auftragsart ein, sobald die Position eröffnet wird. Und fügen Sie Bedingungen hinzu:

if (Opn_B==true && Last_Position==OP_BUY) { сигнал Buy пропускаем }

 
Everlost >> :

OK, erstellen Sie eine weitere Variable, z. B. int Last_Position=-1. Geben Sie dort die Auftragsart ein, sobald die Position eröffnet wird. Und fügen Sie Bedingungen hinzu:

if (Opn_B==true && Last_Position==OP_BUY) { сигнал Buy пропускаем }

So habe ich es mehr oder weniger gemacht, aber ich war etwas enttäuscht von dem Ergebnis(

Manchmal schwächt sich der Trend ab, geht in eine flache Position (er korrigiert) und bewegt sich dann wieder mit neuer Stärke weiter und gibt das richtige Opn_S-Signal, das auf diese Weise blockiert wird. Wie kann man den Handel durch eine Order im Bereich vom Opn_S-Signal bis Cls_S und von Opn_B bis Cls_B begrenzen?

 
xruss >> :

Ich habe es so gemacht, aber ich bin mit dem Ergebnis nicht zufrieden((

Manchmal schwächt sich der Trend ab, geht in ein Flat (macht eine Korrektur) und bewegt sich dann mit neuer Stärke weiter und gibt das richtige Signal Opn_S, das somit blockiert wird. Wie begrenzt man den Handel mit einer Order im Bereich vom Signal Opn_S bis Cls_S und von Opn_B bis Cls_B?

Es ist sehr einfach - wenn das Signal Cls_S oder Cls_B empfangen wird, sollten Sie die zuletzt geöffnete Position vergessen (setzen Sie den Wert der Variablen Last_Position auf -1 zurück).

if ((Cls_S==true || Cls_B==true) && Last_Position>=0) Last_Position=-1;

 
Können Sie mir sagen, wie ich dem Expert Advisor eine Bedingung hinzufügen kann, damit er weiß, dass der vorherige Handel verloren war?
 
Dimoncheg >> :
Können Sie sagen, wie man die Bedingung in Ihrem EA schreibt, damit er weiß, dass der vorherige Handel verlustbringend war?

if (OrderProfit() < 0) {

...

}

 
Liebe Experten, bitte ignorieren Sie meine Frage nicht.

Gibt es einen Indikator, der die Volatilität zählt, zum Beispiel täglich. Aber nicht die, die eine undefinierte Zahl wie 0,34 ergibt. Er sollte jedoch die Anzahl der Kerzen pro Tag berechnen und diese durch einen bestimmten Zeitraum (Anzahl der Tage) teilen, damit der Indikator den Durchschnittswert kennt. Beispiel: Eröffnung 100, Schluss 200; am zweiten Tag - Eröffnung 200, Schluss 250. Durchschnittliche Volatilität für diese 2 Tage = ((200-100)+(250-200))/2 Tage=(100+50)/2=75
Wo herunterladen, falls verfügbar.