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

 
alsu:
Machen Sie sich die Mühe, in das Terminal zu schauen, RSI "in code" ist dort standardmäßig vorhanden.
Wenn Sie es nicht haben, hier ist es.
Dateien:
rsi.mq4  3 kb
 

Wie kann ich das Menü in MetaTrader4 sperren? Manchmal ist es so über den ganzen Bildschirm verstreut, dass es unheimlich ist. Nun, so wie die Taskleiste in Windows fixiert ist, sind vielleicht auch die Fenster hier fixiert?

 

Hallo, könnten Sie mir bitte sagen

Ich habe jetzt diesen Code:

         if(M_1<NizUroven && M_0 >=NizUroven)
                {
 for(int i=OrdersTotal()-1;i>=0;i--)
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
     {     CloseOrder();
     }
   Lot2=GetLot(MaxRisk);
NewOrder(OP_SELL,Lot2);
}


             if(M_1>VerhUroven && M_0<=VerhUroven)
               {
 for(int j=OrdersTotal()-1;j>=0;j--)
   if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES))
     {    CloseOrder();
     }
Lot2=GetLot(MaxRisk);
 NewOrder(OP_BUY,Lot2);
}



wie kann ich es so vereinfachen?

 for(int i=OrdersTotal()-1;i>=0;i--)
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
     {     CloseOrder(); 
     }
   Lot2=GetLot(MaxRisk);

         if(M_1<NizUroven && M_0 >=NizUroven) 
                { NewOrder(OP_SELL,Lot2);
}
             if(M_1>VerhUroven && M_0<=VerhUroven)
               {  NewOrder(OP_BUY,Lot2);
}

 

Und noch eine Frage: Ich optimiere seit sechs Monaten und habe diese Ergebnisse erzielt. Es ist unklar, warum viele Pässe Nullen haben (keine Geschäfte)?

 
monopolie:

Wie kann ich das Menü in MetaTrader4 sperren? Manchmal ist es so über den ganzen Bildschirm verstreut, dass es unheimlich ist. Nun, so wie die Taskleiste in Windows fixiert ist, sind vielleicht auch die Fenster hier fixiert?

Sie sagen, es sei kein Fehler, sondern eine Funktion))
 
monopolie:

Wie kann ich das Menü in MetaTrader4 sperren? Manchmal ist es so über den ganzen Bildschirm verstreut, dass es unheimlich ist. Nun, so wie die Taskleiste in Windows fixiert ist, sind vielleicht auch die Fenster hier fixiert?


Klicken Sie mit der rechten Maustaste auf das Menü - "Auto-Size-Spalten" und verschieben Sie es nach Belieben.
 
griha:

Hallo, könnten Sie bitte

Mein Code sieht folgendermaßen aus:



wie kann man sie nach diesem Prinzip vereinfachen?


diesen Teil:

for(int j=OrdersTotal()-1;j>=0;j--)
   if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES))
     {    CloseOrder();
     }
Lot2=GetLot(MaxRisk);
 NewOrder(OP_BUY,Lot2);

eine Funktion einfügen:

ff(int cmd)
{
   for(int j=OrdersTotal()-1;j>=0;j--)
      if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES))
      {
         CloseOrder();
      }
   double Lot2=GetLot(MaxRisk);
   NewOrder(cmd,Lot2);
}

und dann:

if(M_1<NizUroven && M_0 >=NizUroven)
{
   ff(OP_SELL);
}

if(M_1>VerhUroven && M_0<=VerhUroven)
{
   ff(OP_BUY);
}

ist als Beispiel, mit Sichtbarkeit oder Übertragung auf die Funktion der Variablen MaxRisk - finden Sie es selbst heraus

 
Guten Tag!
Ich bin auf ein Problem beim Öffnen einer bestimmten (benutzerdefinierten) Anzahl von Aufträgen gestoßen.
Ich habe einen kleinen Code geschrieben, um dieses Problem zu lösen.
Es gibt jedoch Zeiten, in denen eine beliebige Anzahl von Aufträgen geöffnet wird, meist gegen Ende des Tests.

Nachstehend finden Sie den Code selbst.

extern string Kolichestvo_orderov = "Количество единовременно открытых ордеров";
extern int OrederBuy = 1;
extern int OrederSell = 1;


int OrdS=1,OrdB=1,ticketBuy,ticketSell,lastticketSell=0,lastticketBuy=0;

//========================================================================================================//     
                                  //---- Открытие ордеров SELL ----//
//========================================================================================================//

if(OrdS<=OrederSell)
  { //----- start
 
if(trendDn==true && SthFast>88.2 && SthSlow<38.2)
     {
ticketSell=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,0,magick,0,Blue);OrdS++; //--- Если ордер открыт параметр OrdS увеличиваю 
     }
   } //-----end
          
//========================================================================================================//  
                                   //----Открытие ордеров BUY ----//
//========================================================================================================//  

if(OrdB<=OrederBuy)
  { //-----start

if(trendUp==true && SthFast<11.8 && SthSlow>61.8)
      {
ticketBuy=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,0,magick,0,Red);OrdB++; //--- Если ордер открыт параметр OrdB увеличиваю
      }

  } //------end
  

//------------------------------- Подсчет количества ордеров BUY & SELL ----------------------------------//
   
  if(ticketBuy<=OrdersHistoryTotal()) //------ проверка тикетов тех  ордеров которые уже закрыты
   {
  for(int ordBuy=lastticketBuy;ordBuy<=OrdersHistoryTotal();ordBuy++) //--- перебор новых закрытых ордеров
    {
     if(OrderSelect(ordBuy,SELECT_BY_POS,MODE_HISTORY)==true){if(OrderType()==OP_BUY)OrdB--;lastticketBuy=ticketBuy;} //--- если добавился новый закрытый ордер бай, то параметр OrdB уменьшаю
    }
   }
  
  //-----
    
 if(ticketSell<=OrdersHistoryTotal()) //------ проверка тикетов тех  ордеров которые уже закрыты
  {
 for(int ordSell=lastticketSell;ordSell<=OrdersHistoryTotal();ordSell++) //--- перебор новых закрытых ордеров
     {
     if(OrderSelect(ordSell,SELECT_BY_POS,MODE_HISTORY)==true){if(OrderType()==OP_SELL)OrdS--;lastticketSell=ticketSell;} //--- если добавился новый закрытый ордер селл, то параметр OrdS уменьшаю

Wenn Sie eine einfachere Lösung haben, würde ich mich über einen Kommentar freuen.

 

Hallo zusammen!

Können Sie mir sagen, ob es möglich ist, Text in einem Diagramm anzuzeigen, z. B.

   string mytext = "Hello from programmer!";
   ObjectSetText("mycomment", mytext, 10, "Arial", Gray);
     if (ObjectFind("mycomment") == -1) {
         ObjectCreate("mycomment", OBJ_LABEL, 0, 0, 0);
         ObjectSet("mycomment", OBJPROP_CORNER, 2);
         ObjectSet("mycomment", OBJPROP_XDISTANCE, 5);
         ObjectSet("mycomment", OBJPROP_YDISTANCE, 7);}

Ausgabe als separate Funktion, damit sie irgendwie aufgerufen werden kann:

mycomment("Hello from programmer!")