Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 257

 
Hallo noch mal! Helfen Sie mir bei dieser Kleinigkeit, denn ich werde nicht schlau daraus....

Ich möchte das Folgende tun!

Wenn der erste Handel zu einem Preis von z.B. 1,23455 eröffnet wird, möchte ich, dass der zweite Handel eröffnet wird, wenn der Preis auf 1,23415 steigt.

PHP-Code:
double positionTPask=NormalizeDouble(Ask*Point,Digits);
double lastTPask1=NormalizeDouble(Ask-40*Point,Digits);

if (
RSI0<RSIDownLevel&&RSIDownLevel<=RSI1){
TP=NormalizeDouble(Ask+Takeprofit*Point,Digits);
if (
OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),Slippage,0,TP,NULL,Magic)==-1)Print(GetLastError());

if (
positionTPask1>lastTPask1){
if (
takeprofit!=0)TPm=NormalizeDouble(Ask+takeprofit*Point,Digits);
if (
OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),Slippage,0,TPm,NULL,Magic)==-1) Print(GetLastError());
}}

Und ich eröffne 2 Aufträge zu einem Preis auf einmal...
Ist das richtig? Überprüfen Sie es...
 

sviter-pro:
Здраствуйте еще раз! Помогите с этой банальностью для вас, ато я разобраться не могу....

Хочу сделать следующее! 

Когда открывается первая сделка по цене к примеру 1.23455, то хочу что бы вторая сделка открывалась когда цена пойдет на 1.23415

double positionTPask = NormalizeDouble(Ask * Point, Digits);
double lastTPask1 = NormalizeDouble(Ask - 40 * Point, Digits);

if (RSI0 < RSIDownLevel && RSIDownLevel <= RSI1){
      TP  = NormalizeDouble(Ask + takeprofit * Point,Digits); 
      if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,0,TP,NULL,Magic)==-1) Print(GetLastError());
      
   if (positionTPask1 > lastTPask1){
      if (takeprofit!=0) TPm  = NormalizeDouble(Ask + takeprofit * Point, Digits); 
      if (OrderSend(Symbol(), OP_BUY, Lot, NormalizeDouble(Ask, Digits), slippage, 0, TPm, NULL, Magic)==-1) Print(GetLastError());
      }}  
Und ich habe gleichzeitig 2 Aufträge zum gleichen Preis offen...

Ist es richtig gemacht? Würden Sie sich das ansehen...

In der ersten Zeile habe ich etwas Seltsames gesehen. Ich habe nicht weiter gesucht.

Wozu ist das gut?

double positionTPask = NormalizeDouble(Ask * Point, Digits);

Auf einem Taschenrechner multiplizieren Sie Ask mit Point

Ich habe eine sehr gute Vorstellung davon, wie man den Code korrekt einfügt.

 
sviter-pro:
Hallo noch mal! Hilfe bei dieser Trivialität für Sie, weil ich es nicht herausfinden kann....

Ich möchte Folgendes tun!

Wenn mein erster Auftrag bei 1,23455 eröffnet wird, möchte ich, dass mein zweiter Auftrag eröffnet wird, wenn der Kurs auf 1,23415 steigt.

PHP-Code:
double positionTPask=NormalizeDouble(Ask*Point,Digits);
double lastTPask1=NormalizeDouble(Ask-40*Point,Digits);

if (
RSI0<RSIDownLevel&&RSIDownLevel<=RSI1){
TP=NormalizeDouble(Ask+Takeprofit*Point,Digits);
if (
OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),Slippage,0,TP,NULL,Magic)==-1)Print(GetLastError());

if (
positionTPask1>lastTPask1){
if (
takeprofit!=0)TPm=NormalizeDouble(Ask+takeprofit*Point,Digits);
if (
OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),Slippage,0,TPm,NULL,Magic)==-1) Print(GetLastError());
}}

Ich habe 2 Bestellungen zu einem Preis eröffnet ...
Ist das richtig? Bitte überprüfen Sie...
Sie sollten nicht von Ask-40*Point tanzen, sondern vom Preis bei der Eröffnung von 1 Position-40*Point.
 

Ich habe noch nicht viel mit Indikatoren gearbeitet, daher ist dies vielleicht eine einfache Frage: Wie kann ich die Anzeige des grafischen Puffers imDatenfenster deaktivieren? Ich möchte die Puffer 3 und 4 entfernen, hier ist der Code:

#property strict
#property indicator_chart_window
#property indicator_buffers 4
#property  indicator_color1 Black
#property  indicator_color2 Yellow
#property  indicator_color3 Black
#property  indicator_color4 Black

//---- input parameters
input int RSIPeriod=14;
input int Levl=50;
input ENUM_TIMEFRAMES TF=PERIOD_CURRENT;
//---- buffers
double RSIBuffer[];
double MABuffer[];
double PosBuffer[];
double NegBuffer[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- 2 additional buffers are used for counting.
   IndicatorBuffers(4);
   SetIndexBuffer(0,RSIBuffer);
   SetIndexBuffer(1,MABuffer);
   SetIndexBuffer(2,PosBuffer);
   SetIndexBuffer(3,NegBuffer);
   
//---- indicator line
   SetIndexStyle(0,DRAW_NONE);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexStyle(2,DRAW_NONE);
   SetIndexStyle(3,DRAW_NONE);
//----
//---- name for DataWindow and indicator subwindow label
   short_name="RSI("+IntegerToString(RSIPeriod,0,' ')+")";
   IndicatorShortName(short_name);
   SetIndexLabel(0,short_name);
   SetIndexLabel(1,"Levl"+"_"+IntegerToString(Levl,0,' ')+" Price");
   SetIndexLabel(2,"U");
   SetIndexLabel(3,"D");
   

   return(0);
  }

Dies ist ein modifizierter RSI - Puffer werden dort benötigt, weil die Berechnung auf vergangenen Daten basiert und ich nicht jedes Mal die Puffergröße ändern (wenn es nicht grafisch ist) und neue Daten hinzufügen möchte, also sind grafische Puffer für meine Zwecke praktisch.

 
Alekseu Fedotov:
Sie sollten nicht ab Ask-40*Punkt tanzen, sondern ab dem Eröffnungskurs1Position-40*Punkt.

Lesen Sie also den Eröffnungskurs und tanzen Sie....

 
Aleksey Vyazmikin:

Ich habe noch nicht viel mit Indikatoren gearbeitet, daher ist die Frage vielleicht einfach: Wie kann ich die Anzeige des grafischen Puffers im"Datenfenster" deaktivieren? Ich möchte die Puffer 3 und 4 entfernen, hier ist der Code:

Dies ist ein modifizierter RSI - Puffer werden dort benötigt, weil die Berechnung auf vergangenen Daten basiert und ich nicht jedes Mal die Puffergröße ändern (wenn es nicht grafisch ist) und neue Daten hinzufügen möchte, daher sind grafische Puffer für meine Zwecke praktisch.


Ich weiß nicht, ob ich Sie richtig verstanden habe.

Versuchen Sie es so:#property indicator_buffers 2

#property strict
#property indicator_chart_window
#property indicator_buffers 2
#property  indicator_color1 Black
#property  indicator_color2 Yellow
 
Alexander Voronkov:

Ich weiß nicht, ob ich das richtig verstanden habe.

Versuchen Sie es so:#property indicator_buffers 2


Es scheint, dass Sie Recht haben! Und aus reiner Herzensgüte dachte ich, es müsse angegeben werden, wenn ein grafischer Puffer für Berechnungen verwendet wird.

Danke!
 
Aleksey Vyazmikin: Wie lässt sich die Anzeige des grafischen Puffers imDatenfenster deaktivieren? Ich möchte die Puffer 3 und 4 entfernen, hier ist der Code:

Um die Anzeige im Datenfenster zu deaktivieren, gehen Sie wie folgt vor

SetIndexLabel(2,NULL);  // Запрет в окно Данные буфера 3
SetIndexLabel(3,NULL);  // Запрет в окно Данные буфера 4
 
STARIJ:

Um die Ausgabe im Datenfenster zu deaktivieren, gehen Sie wie folgt vor


Ich danke Ihnen. Wird dieser Schritt erlauben, die Puffer zu sehen, die für die Ausgabe an das Fenster über iCustom verboten sind?

 
Aleksey Vyazmikin: Ich danke Ihnen. Dadurch können Sie die Puffer, die nicht ausgegeben werden dürfen, im Datenfenster über iCustom? sehen.

Mit iCustom können Sie nur das sehen, was im Datenfenster steht. Der vorletzte Parameter der Funktion ist genau die Nummer des im Datenfenster sichtbaren Puffers

Просмотр и настройка графиков - Графики котировок, технический и фундаментальный анализ - Справка по MetaTrader 5
Просмотр и настройка графиков - Графики котировок, технический и фундаментальный анализ - Справка по MetaTrader 5
  • www.metatrader5.com
Графики в торговой платформе отображают изменение котировок финансовых инструментов во времени. Они необходимы для проведения технического анализа...