[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 598

 

double min=Low[iLowest(NULL,PERIOD_M15,MODE_LOW,32,0)];

Guten Tag, bitte beraten Sie mich

Wie kann ich zum Beispiel 1,30320 für EURUSD aufzeichnen?

 
hoz:

Hier ist die Handelsfunktion, die Positionen eröffnet:

Alles klar und prägnant. Der Fehler 130 taucht immer wieder im Testprogramm auf, obwohl der Expert Advisor funktioniert, aber der Fehler 130 taucht immer wieder auf. Was ist der Grund dafür?

Diese Funktion verwendet Funktionen zur Positionseröffnung, hier sind sie:

Ich dachte, es hätte etwas mit der Haltestellenebene zu tun, ich habe nachgesehen, aber es ist nicht dasselbe. Ich habe es vorerst entfernt, da auf Alpari diese Stufe 0 ist. Bitte geben Sie an, was korrigiert werden muss, um diesen Fehler zu vermeiden.


Ich glaube, es liegt an der Funktion GetPriceToInput().
 
sasha1995:


 double min=Low[iLowest(NULL,PERIOD_M15,MODE_LOW,32,0)];

Wie schreibt man zum Beispiel 1.30320 für EURUSD?

NormalizeDouble(...,Ziffern)
 
double max=High[iHighest(NULL,PERIOD_M15,MODE_HIGH,32,0)]; // Maximum der nächsten 32 Takte ermitteln
double min=Low[iLowest(NULL,PERIOD_M15,MODE_LOW,32,0)]; // Minimum der nächsten 32 Takte ermitteln
double min=NormalizeDouble(min,Digits); //Umrechnung in T/P

double max=NormalizeDouble(max,Digits); // Umrechnung in T/P

Ticket=OrderSend (Symbol(), OP_BUY, lot, Ask, 3,0, max, "Buy");

Bitte beraten Sie, was ist der Fehler? will nicht zu erstellen Take Profit

Ich glaube, ich verstehe, dass ihighest nur den Index angibt, aber wie finde ich den höchsten Preis?

 
sasha1995:
double max=High[iHighest(NULL,PERIOD_M15,MODE_HIGH,32,0)]; // Maximum der nächsten 32 Takte ermitteln
double min=Low[iLowest(NULL,PERIOD_M15,MODE_LOW,32,0)]; // Minimum der nächsten 32 Takte ermitteln
double min=NormalizeDouble(min,Digits); //Umrechnung in T/P

double max=NormalizeDouble(max,Digits); // Umrechnung in T/P

Ticket=OrderSend (Symbol(), OP_BUY, lot, Ask, 3,0, max, "Buy");

Bitte beraten Sie, was ist der Fehler? will nicht zu erstellen Take Profit

Ich glaube, ich habe verstanden, dass ihighest nur den Index angibt, aber wie finde ich den höchsten Preis?


Hoch[i]

Wenn derHöchstkurs des Nullbalkens der höchste der letzten 32 Kurse ist (der Kurs steigt), kann der Take-Profit-Wert <= aktueller Kurs sein.

 
rigonich:

Hoch[i].

Ich verstehe nicht ) bitte erklären
 
sasha1995:
double max=High[iHighest(NULL,PERIOD_M15,MODE_HIGH,32,0)]; // Maximum der nächsten 32 Takte ermitteln
double min=Low[iLowest(NULL,PERIOD_M15,MODE_LOW,32,0)]; // Minimum der nächsten 32 Takte ermitteln
double min=NormalizeDouble(min,Digits); //Umrechnung in T/P

double max=NormalizeDouble(max,Digits); // Umrechnung in T/P

Ticket=OrderSend (Symbol(), OP_BUY, lot, Ask, 3,0, max, "Buy");

Bitte sagen Sie mir, was ist der Fehler? will nicht, um Take Profit erstellen

Ich glaube, ich habe verstanden, dass ihighest nur den Index angibt, aber wie findet man den höchsten Preis?

Das ist ein völliges Durcheinander. Richtig:

 double max= NormalizeDouble (High[iHighest(NULL,PERIOD_M15,MODE_HIGH,32,0)], Digits); // найти максимум последующих 32 баров
 double min= NormalizeDouble (Low[iLowest(NULL,PERIOD_M15,MODE_LOW,32,0)], Digits); // найти минимум последующих 32 баров
 
sasha1995:

Ich verstehe nicht ) Bitte erklären Sie

Die Höchstpreise für den aktuellen Chart werden in einem Array gespeichert - Zeitreihe High[]
 
TarasBY:

Es ist ein völliges Durcheinander. Richtig:


Es funktioniert nicht (immer noch kein T/P-Ausgang

if(TimeToStr(TimeCurrent(),TIME_SECONDS) == "00:00:00"){ // если время сервера 00:00:00, тогда

 double max= NormalizeDouble (High[iHighest(NULL,PERIOD_M15,MODE_HIGH,32,0)], Digits);

double min= NormalizeDouble (Low[iLowest(NULL,PERIOD_M15,MODE_LOW,32,0)], Digits); // ????? ??????? ??????????? 32 ?????

 }

 int Ticket;

if (TimeToStr(TimeCurrent(),TIME_SECONDS)== "09:00:00"){ // если время сервера 09:00:00, тогда

   if (napravl > 0){ // если направление больше 0, то

      Ticket=OrderSend (Symbol(), OP_BUY, lot, Ask, 3,0,max, "Покупаю"); // купить и поставить Take profit через 35 пунктов Bid + 385 * Point

      Alert (GetLastError());

   }

   else {

      if (napravl < 0) { // иначе, если направление меньше 0, то

        Ticket=OrderSend (Symbol(), OP_SELL, lot, Bid, 3,0,min, "Продаю"); // продать и поставить Take profit через 35 пунктов Ask - 385 * Point

         Alert (GetLastError());

      }

   }

//----

   return(0);

  } 

 

Guten Tag alle, ich interessiere mich für eine solche Frage, wie kann ich mit Ticks arbeiten, ausgehend von einem bestimmten Ereignis, zum Beispiel, vergleichen Sie den Wert des ersten Tick nach einem bestimmten Ereignis und der n-ten, wie ich während der Funktion verstehen, starten Sie den Preis, zum Beispiel, Bieten Sie die ganze Zeit überschrieben wird, plus ich kann mit dem vorherigen Wert zu betreiben, aber wie man mit den bereits bestehenden und so weiter, wo und wie es alle geschrieben zu betreiben? Vielen Dank für Ihre Aufmerksamkeit)