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

 
Richie писал(а) >>

Frage: Wer hat diesen EA, der sowohl Kauf- als auch Verkaufsaufträge öffnet?
Vielleicht verstehe ich auch etwas falsch, aber ich erhalte die Fehlermeldung 138.
https://www.mql5.com/ru/code/8177


Bei fünf Ziffern muss der Schlupf erhöht werden
 
Vinin писал(а) >> Bei fünf Ziffern muss der Schlupf vor allem erhöht werden .


>> Danke. Jetzt verstehe ich, warum es früher funktionierte und jetzt nicht mehr. Daran habe ich nicht gedacht.
 
Können Sie mir sagen, wie ich die Ausführung des gesamten Programms in einer Schleife wiederholen kann?
Vorzugsweise nicht eine ewige Schleife, sondern die Ausführung des Programms eine bestimmte Anzahl von Malen.
Hier ist ein einfaches Beispiel -

bool Log=false;

int start()
{


if(Log==false)
int tick=OrderSend("GBPUSD",OP_BUY,0.01,Ask,3,Bid-30*Point,Bid+30*Point);
Log = true;

Rückkehr;
}

Wie platziere ich die Schleifenanweisung so, dass bei Auslösung einer Stop-Order die gleiche Position (z.B.) sofort eröffnet wird?
 
Zyklen sind unnötig, da das Programm bereits in einer Schleife läuft und bei jedem Tick aufgerufen wird. Merken Sie sich das Auftragsticket und prüfen Sie dann jedes Mal OrderCloseTime(). Wenn sie nicht 0 ist, bedeutet dies, dass der Auftrag abgeschlossen ist. Wie genau - bei Take oder Stop - können Sie durch die Analyse von OrderProfit() herausfinden.
 
alsu >>:
циклов не надо, программа и так зациклена на вызов при каждом тике. Запомните тикет ордера, а потом проверяйте каждый раз OrderCloseTime(). Если оно не 0, значит ордер закрылся. Как именно - по тейку или стопу - можно узнать, проанализировав OrderProfit().

Was wäre, wenn der Stopp bei der Gewinnschwelle läge usw.?

 
sanyooooook >>:

а если стоп стоял в безубытке и т.п.?

Wenn nur Pilze in deinem Mund wachsen könnten.

 
alsu >>:

если б да кабы, да во рту росли б грибы.

Fällt Ihnen nichts Gescheiteres ein? Beantworten Sie die Frage richtig.

 
Lim1 >>:
Подскажите как зациклить выполнение всей программы?
Желательно не вечный цикл, а выполнение программы определенное количество раз.
Вот простой пример -

bool Log=false;

int start()
{


if(Log==false)
int tick=OrderSend("GBPUSD",OP_BUY,0.01,Ask,3,Bid-30*Point,Bid+30*Point);
Log = true;

return;
}

Как расположить оператор цикла чтобы при срабатывании стоп приказа сразу происходило бы открытие этой же (например) позиции?

Nicht ganz klar, Paraphrase.

int start()
{
 for(int i = 0; i < 15; i++){

  bool покупать=false,
       продавать=false;
  string Symbol_="GBPJPY";

  if(iRSI(Symbol_,5,144,0,1)>50)
  покупать=true;
  else
  продавать=true;

  if(покупать)
  int tick=OrderSend(Symbol_,OP_BUY,0.01,Ask,3,Bid-30*Point,Bid+30*Point);
  if(продавать)
  int tick=OrderSend(Symbol_,OP_SELL....................................);
  Sleep(100);//0.1 sec/ ждем 
 }
return(0);
}
 
costy_ >>:

Не совсем понятно, перефразируйте.

Ein guter Code eröffnet fünfzehn Orders in anderthalb Sekunden, abhängig von den RSI-Werten.
Es ist besser, in Worten zu beschreiben, was Sie erreichen wollen, und sich nicht auf Zyklen und all das zu beziehen. z.B. eine Order nach RSI-Messung zu eröffnen, wenn sie durch den Stop geschlossen wird, sofort die nächste zu eröffnen, usw.
 
splxgf >>:
Хороший код, за полторы секунды откроет пятнадцать ордеров в зависимости от показаний RSI.
Лучше описать словами то что хочется получить и не надо ссылаться на циклы и все такое. к примеру открыть один ордер по показаниям RSI, если он будет закрыт по стопу сразу открыть следующий и т.п.

=))

Können Sie mir sagen, wie ich die Ausführung eines ganzen Programms in einer Schleife wiederholen kann?
Vorzugsweise nicht in einer Endlosschleife, sondern um das Programm eine bestimmte Anzahl von Malen auszuführen.
Hier ein einfaches Beispiel.

Es macht mir nichts aus, es macht mir nichts aus.

Ich stimme zu: "Besser in Worten beschrieben"!