[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 553

 
okvseok:

Bitte um Rat!

Es ist möglich, ein einzelnes Blatt zu drucken, aber wie kann ich einstellen, dass ab einem bestimmten Datum bis zu einem bestimmten Datum Blätter gedruckt werden? Es wird also nicht ein Blatt nach dem anderen gedruckt.

Ich danke Ihnen!



ignorieren)
 
Guten Tag! Wissen Sie, irgendetwas funktioniert nicht in meinem Skript. Wenn ich sie auf das Diagramm ziehe, passiert überhaupt nichts.
 
Der Start ist bei jedem Ticken unvermeidlich, aber die notwendigen Voraussetzungen können darin geschaffen werden.
 
Guten Tag! Wissen Sie, irgendetwas funktioniert nicht in meinem Skript. Wenn ich sie auf das Diagramm ziehe, passiert überhaupt nichts. Wie verwende ich es?
//+------------------------------------------------------------------+
//|                                                      Покупка.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
for(int i=0;i<=OrdersTotal();i++){
   if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
 { if(OrderSymbol() != Symbol()) continue; 
   if(OrderType()==OP_SELL) 
  OrderClose(OrderTicket(),OrderLots(),Ask,6,Red);
   if(OrderType()==OP_BUY)
  OrderClose(OrderTicket(),OrderLots(),Bid,6,Red);
   if(OrderType()>=2)
  OrderDelete(OrderTicket());}} 
//----
   for(i=0;i<23;i++){
    Sleep(2000);RefreshRates(); if(!IsTradeAllowed())continue;
    int tiket=OrderSend(Symbol(),OP_BUY,0.1,Ask,6,0,0,"Skript",98600,0,Blue);
   if( tiket!=-1)break;
   if (tiket==-1){ int Error=GetLastError();  
            string errorcomment = "Ошибка открытия  ордера OP_BUY"  + " " + Symbol() +  " " + ErrorDescript(Error); 
            Print (errorcomment);}}
//----
   return(0);
  }
//+------------------------------------------------------------------+

//------- :  Коды ошибок
string ErrorDescript(int error_code){string error_string;switch(error_code){
      //---- Коды ошибок, возвращаемые торговым сервером:
      case 0:   error_string="Нет ошибок";                                                                                             break;
      case 1:   error_string="Нет ошибки, но результат неизвестен";                                                                    break;
      case 2:   error_string="Общая ошибка";                                                                                           break;
      case 3:   error_string="Неправильные параметры";                                                                                 break;
      case 4:   error_string="Торговый сервер занят";                                                                                  break;
      case 5:   error_string="Старая версия клиентского терминала";                                                                    break;
      case 6:   error_string="Нет связи с торговым сервером";                                                                          break;
      case 7:   error_string="Недостаточно прав";                                                                                      break;
      case 8:   error_string="Слишком частые запросы";                                                                                 break;
      case 9:   error_string="Недопустимая операция нарушающая функционирование сервера";                                              break;
     
 
paladin80:

Nach der Normalisierung ändert sich die Zahl, z. B:

Eine andere Sache ist, wenn Sie es ausdrucken, mit DoubleToStr, z. B.:

Und wenn Sie es nach der Normalisierung ausdrucken, sieht es so aus:


Ich danke Ihnen.
 

Guten Tag.

Ich muss den Gesamtgewinn nur für die letzten beiden Kaufpositionen berechnen. Wie kann ich den Code umschreiben?

double profits_buy_2pos()
{
   double pr_buy = 0;
   int cnt = 0;
   int OpenOrders=OrdersTotal();
   for(cnt=0;cnt<OpenOrders;cnt++)   // scan all orders and positions. ..
   {
     OrderSelect(cnt, SELECT_BY_POS);
          if (OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType() == OP_BUY)
          {     
          if (OrderType()==OP_BUY) 
          {
            pr_buy+= OrderProfit();
          } 
          }                               
   } 
return(pr_buy);   
}
 
Wie setze ich einen Take Profit in Metatrader4, indem ich auf einen Chart klicke? Es ist nicht sehr bequem, das Kontextmenü -> "Reihenfolge ändern" zu verwenden.
 
abeiks:

Guten Tag.

Ich muss den Gesamtgewinn nur für die letzten beiden Kaufpositionen berechnen. Wie kann ich den Code umschreiben?


Funktion von Kim IV.

Die Funktion GetProfitOpenPosInCurrency(). - Zu helfen.

+ Sie ordnen die Schleife selbst um, d.h. Sie gehen von der letzten zur ersten, summieren den Gewinn der Kaufaufträge und addieren den Zähler der berechneten Kaufpositionen. Sobald der Wert 2 erreicht ist, verlassen Sie die Schleife und das war's.

 
ascerdfg:
Wie setze ich einen Take Profit in Metatrader4, indem ich auf einen Chart klicke? Das Kontextmenü -> "Auftrag ändern" ist sehr unpraktisch.
Das Terminal selbst kann dies nicht, aber es gibt Skripte, die dies tun können. Zum Beispiel das hier. Es gibt mehrere ähnliche Skripte in unserer Datenbank.
 
Roman.:

Funktion von Kim IV.

GetProfitOpenPosInCurrency() Funktion. - helfen.

+ Sie führen die Schleife selbst erneut durch, d.h. Sie gehen von der letzten zur ersten, summieren den Gewinn der Kaufaufträge und addieren den Zähler der gezählten Kaufpositionen. Sobald der Wert 2 erreicht ist, verlassen Sie die Schleife und das war's.


Ich danke Ihnen!