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

 
VOLDEMAR:
Wenn Sie es im wirklichen Leben ausführen: "Schritt*Punkt wird > aktueller Verlust, dann wird der Gewinn zu Ihnen kommen", werden Sie sehen, dass Ihr Gewinn ein festes Minus wird .... Aufgrund der Arbeit des Maklers ... Ich habe den Take Profit nicht umsonst gesetzt, er ist bereits überprüft ..........
Sie sind ein seltsamer Mensch. Mein Beitrag ist eine weitere Antwort auf Ihre Frage. Das ist nur ein anderer Weg. Aber es ist visuell verständlicher.
 
Könnten Sie einem unerfahrenen Programmierer bitte erklären, wie er mit der Funktion OrderSelect den letzten geschlossenen Handel auswählen kann? Ich habe folgendes versucht: OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), aber anscheinend wird auf diese Weise kein Auftrag ausgewählt...
 
bitte jemand diese Idee des Beraters umsetzen:

Idee Nummer 5 TS - Eigenes Muster (Muster). Dort gibt es auch eine Zeichnung. Die TS- und Handelskriterien sind einfach und

Ein guter Programmierer wird dafür nicht viel Zeit benötigen. Möchte denn niemand die Ergebnisse sehen?
 
Bitte teilen Sie uns mit, ob Sie wissen, wie man einen 1:1-Hebeltest durchführt?
 

Versuchen Sie, ein Demokonto mit einer Hebelwirkung von 1:1 zu eröffnen. Und testen Sie es.

Wird es funktionieren?


 
Moslift:
Könnten Sie einem unerfahrenen Programmierer bitte erklären, wie er mit der Funktion OrderSelect den letzten geschlossenen Handel auswählen kann? Ich habe versucht, es so zu machen: OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), aber anscheinend wird auf diese Weise kein Auftrag ausgewählt...


Schauen Sie hier: https://www.mql5.com/ru/forum/131859

-Seite #4
GetTypeLastClosePos - Gibt den Typ der letzten geschlossenen Position oder -1 zurück
GetTypeLastOpenPos - Liefert den Typ der zuletzt geöffneten Position oder -1
isCloseLastPosByStop - Gibt das Flag der letzten durch Stop geschlossenen Position zurück
isCloseLastPosByTake - Gibt das Flag zum Schließen der letzten Position durch Take zurück.
isLossLastPos - Gibt das Flag für den Verlust der letzten Position zurück.
isTradeToDay - Gibt das Flag des heutigen Handels zurück
NumberOfBarCloseLastPos - Gibt die Schlussnummer der letzten Position oder -1 zurück.
NumberOfBarOpenLastPos - Gibt die Taktnummer der zuletzt geöffneten Position oder -1 zurück.
NumberOfLossPosToday - Gibt die Anzahl der heute geschlossenen Verlustpositionen zurück.
PriceCloseLastPos - Gibt den Schlusskurs der letzten geschlossenen Position zurück.

 
Moslift:
Können Sie einen unerfahrenen Programmierer beraten, wie er mit der Funktion OrderSelect den letzten abgeschlossenen Auftrag auswählen kann? Ich habe versucht, es so zu machen: OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), aber anscheinend wird auf diese Weise kein Auftrag ausgewählt...

Versuchen Sie es auf diese Weise:

   int      i, j;
   datetime t;
   for (i=0; i<OrdersHistoryTotal(); i++) {           // Цикл по закрытым ордерам терминала
      if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) {// Если выбран ордер...
         if (OrderType()>1)               continue;   // ... если его тип не Buy и не Sell, переходим к следующему...
         if (OrderSymbol()!=Symbol())     continue;   // ... если его символ не соответствует символу графика - к следующему...
         if (OrderMagicNumber()!=Magic)   continue;   // ... если его магик не соответствует магику советника (в переменной Magic) - к следующему
         if (OrderCloseTime()>t) {                    // ... если время его закрытия больше предыдущего
            t=OrderCloseTime();                       // ... сохраним новое наибольшее время закрытия, ...
            j=i;                                      // ... сохраним индекс ордера в массиве закрытых ордеров
            }                   
         }
      }
   if (OrderSelect(j,SELECT_BY_POS,MODE_HISTORY))     // На этом этапе j содержит индекс последнего закрытого ордера
      Print("Выбран последний закрытый ордер с тикетом ",OrderTicket());

Beachten Sie, dass in der Schleife nur Kaufen oder Verkaufen markiert ist. Hoffentlich können Sie auf dieser Grundlage eine Auswahl anderer Auftragsarten treffen

ZS... Ich habe mit den Händen geschrieben und habe vielleicht irgendwo einen Fehler übersehen...

 

Bitte sagen Sie mir, warum diese Funktion nicht funktioniert und wie man sie zum Laufen bringen kann.


nomer_sdelki=OrderSend(Symbol(),OP_SELL,1,Bid,3, Bid-10*Point,Ask+10*Point, "Meine Order #"+1,16384,0,Green);

------------------------------------------------------------------------------------------------------------------------

Und so funktioniert es!!!

nomer_sdelki=OrderSend(Symbol(),OP_SELL,koefficent,Bid,3,0,0, "Mein Auftrag #"+1,16384,0,Green);

d.h. wenn keine Stopps gesetzt sind, funktioniert es.

------------------------------------------------------------------------------------------------------------------------------

Diese Funktion funktioniert auch nicht, wie kann ich sie reparieren?

OrderClose(nomer_sdelki,koefficent,Bid,3,Red);


-----------------------------------------------------------------------------------------------------------------------------------



 
leonid553:

Versuchen Sie, ein Demokonto mit einer Hebelwirkung von 1:1 zu eröffnen. Und testen Sie es.

Wird es funktionieren?


Senx ( Danke ) :))
 

Es ist ein Wunder...

Es gab eine Nachricht und keine Nachricht...

Ich antworte: Ist es das, was es braucht?

// ----------------- SchBuyLs() ---------------------------------------------
//  Функция возвращает суммарный лот Бай-ордеров 
//----------------------------------------------
double SchBuyLs_b() {
   double SchBuyLs=0;
   int i;
   string SMB=Symbol();
   for (i=OrdersTotal()-1; i>=0; i--) {                  //Начало цикла
      if (!OrderSelect(i, SELECT_BY_POS)) WriteError(i);
      else  {                                            //начало работы с выбранным ордером
         if (OrderSymbol()!=SMB)    continue;
         if(OrderType()==OP_BUY)    SchBuyLs+=OrderLots();
         }                                               //конец работы с выбранным ордером
      }                                                  //Конец цикла
   return(SchBuyLs);                                     // При ошибке выбора ордера функция вернёт ноль
}
// ----------------------------------------------------------------------------