[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 100

 

warum kein Verkaufseintrag?

Zugangsvoraussetzungen

f2=iForce(NULL, 0, 13,MODE_SMA,PRICE_CLOSE,1);
if (f2>0) // buy

{

Opn_B=true; // Критерий откр. Buy
}

if (f2<0) // sell

{

Opn_S=true; // Критерий откр. Sell }

wenn Sie

rsi >50 kaufen

rsi<50 verkaufen

es funktioniert so, wie es sollte, d.h. es gibt sowohl Kauf- als auch Verkaufsangebote

 
Dimka-novitsek:
Der Expert Advisor begann zu arbeiten, als ich die Stops 20 Pips vom Preis entfernt entfernte, nicht näher!!! Ich habe mich gefragt, woher der Fehler 130 kommt, vom Brokerage-Server?

Ja, Server... Feste Größe ist gut, aber es ist besser, auf MarketInfo zu schauen, es hat nur das Niveau der Stops im Moment, es kann sich ändern. https://docs.mql4.com/ru/constants/marketinfo

MODE_STOPLEVEL14Mindeststopp-Loss/Stake-Profit-Niveau in Pips
 
Das werde ich mir merken! (wahrscheinlich)
 

Leute, sagt mir bitte .... Das Problem ist, dass ich eine 5 Dezimalstelle im Terminal und 5 offene Geschäfte auf einem Paar habe, ich verwende eine Schleife, um alle Aufträge zu schließen

Das Problem ist, dass diese Schleife Aufträge zu unterschiedlichen Preisen abschließt! Wenn ich 5 Aufträge habe, dann werden nur 3 oder 2 davon zu einem Preis abgeschlossen und die anderen zu unterschiedlichen Preisen ... Wie man alle Aufträge zu einem Preis abschließt?????

if (сумма по профиту всех сделок >= заданная сумма)

{

for (цикл перебора ордеров)

{

if (проверка на символ)

{

if (ордертип==бай)

{

закрыть ордера по БИД цене 

} 

if (ордертип==сел)

{

закрыть ордера по Аск цене 

}  

} 

} 

} 
 
SeALALex:

Vielen Dank, ich sagte Ihnen, ich bin nur lernen, kann ich eine Frage stellen LotsInitial - für welchen Zweck? weil es baut Aufträge richtig, ich verstehe nicht, welches Prinzip öffnet einen Auftrag mit einer solchen Losgröße?

Ein Wörterbuch wird Ihre Frage beantworten. Und haben Sie sich den Code überhaupt angeschaut? Für wie lange? Wenn es Ihr Code ist, werden Sie nicht lange brauchen, um die Bedeutung der 10 hinzugefügten Zeilen zu verstehen.


vilard:

warum gibt es kein Verkaufslogin?

Zugangsvoraussetzungen

f2=iForce(NULL, 0, 13,MODE_SMA,PRICE_CLOSE,1);
if (f2>0) // buy

{

Opn_B=true; // Критерий откр. Buy
}

if (f2<0) // sell

{

Opn_B=true; // Критерий откр. Buy
}

wenn Sie

rsi >50 kaufen

rsi<50 verkaufen

es funktioniert so, wie es sollte, d.h. es gibt sowohl einen Verkauf als auch einen Kauf

Wo sehen Sie SELL? :((


VOLDEMAR:

Leute, bitte sagt mir .... Ich habe ein Problem mit 5 Nachkommastellen in meinem Client-Terminal. 5 offene Geschäfte für ein Paar und ich verwende eine Schleife, um alle Aufträge zu schließen.

Das Problem ist, dass diese Schleife Aufträge zu unterschiedlichen Preisen abschließt! Wenn ich 5 Aufträge habe, dann werden nur 3 oder 2 davon zu einem Preis abgeschlossen und die anderen zu unterschiedlichen Preisen ... Wie man alle Aufträge zu einem Preis abschließt?????

Der Abschluss eines Auftrags braucht Zeit. Während dieser Zeit kann sich der Preis leicht ändern. Die Antwort liegt auf der Hand.


Leute, eine Frage:

Auf zwei Computern läuft ein Terminal mit demselben Konto. Angenommen, Sie versuchen, zwei verschiedene Aufträge von verschiedenen Computern aus gleichzeitig abzuschließen, wie wird das Terminal reagieren? :)) "Handeln, dann beschäftigt"?

Obwohl es mir so vorkommt, als ob es dasselbe ist, wenn Sie zwei Terminals auf einem Computer öffnen und sich mit einem Konto verbinden, aber Sie können Aufträge nicht synchron schließen...

 

Bitte entschuldigen Sie, wenn ich die Frage wiederhole, denn ich habe sie im Verlauf des Themas nicht gefunden.

Ich möchte, dass der Expert Advisor die ganze Zeit über Daten zum Auftragsgewinn aufzeichnet.

Es wäre besser in einer Tabelle.

Für den Anfang, hier ist der Code:

int h=FileOpen("test.txt",FILE_BIN|FILE_WRITE);
   for (int j=0; j<OrdersTotal(); j++)         // По всем ордерам
  {
   if(OrderSelect(j,SELECT_BY_POS)==true)  // Если есть следующ.
     {                                     
      double ТР =    OrderTakeProfit();     // TakeProfit ордера
      double Profit= OrderProfit();         // Прибыль по ордеру
      double Lots  = OrderLots();           // Количество лотов
      //......Использование значений ТР и Profit в программе..... 
      FileWriteInteger(h,Profit,LONG_VALUE);
      FileWrite(h,"\n");
      FileClose(h);
     }
  }     
Вопрос, а где создать файл? как лучше это все реализовать?
 
Max7, ich bin daran interessiert, warum der Indikator nicht funktioniert, wie es sollte, die durch die Kreuzung "0", ich wiederhole noch einmal, dass mit den Kriterien rsi<>50 alles funktioniert gut!
 
nuan:

Ich bitte um Entschuldigung, wenn ich die Frage wiederhole, da ich sie in der Geschichte des Themas nicht gefunden habe.

Ich brauche es, um die Auftragsgewinndaten ständig aufzuzeichnen.

Es wäre besser in einer Tabelle.

Für den Anfang, hier ist der Code:

Erstellen Sie eine Datei, bevor Sie etwas in sie schreiben wollen.

Schließen Sie die Datei, nachdem alles in die Datei geschrieben wurde.

In Ihrem Fall werden die Funktionen init() und deinit() funktionieren.


vilard:
Max7, ich bin daran interessiert, warum der Indikator nicht funktioniert, wie es sollte, die durch die Kreuzung "0", ich wiederhole noch einmal, dass mit den Kriterien rsi<>50 alles funktioniert gut!

Max7... Lustig! :DD


Die Kraftindexanzeige funktioniert einwandfrei. Überprüfen Sie lieber Ihren früher geschriebenen Code.

 
Ich habe das schon erlebt, können Sie mir ein Beispiel oder eine Funktion nennen.
 
nuan:
Ich habe das schon erlebt, können Sie mir ein Beispiel oder eine Funktion nennen.

Ja, ich habe Ihre Frage nicht sorgfältig gelesen! :)) Die Antwort steht oben...

Nach Ihrem Code wird die Datei einmal angelegt, aber so oft geschlossen, wie die Schleife Aufträge findet.

Und wenn dieser Code in der Funktion start() enthalten ist, dann wird dieses Problem bei jedem Tick auftreten! Und jedes Mal, nachdem FileOpen ausgeführt wurde, wird Ihre Datei gelöscht...

Es empfiehlt sich auch, OrderSymbol(), OrderTicket(), OrderType() und andere optionale Informationen in die Datei zu schreiben. Wie kann man sonst OrderProfit() von den anderen unterscheiden? Zu diesem Zweck wäre es besser, die Daten in eine Datei in Form einer Tabelle(FILE_CSV) einzugeben, die sich leicht in Excel öffnen lässt.

Grund der Beschwerde: