[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 335

 
Ctmcn:


Im Quellcode des "einfachen Expert Advisors" gibt es keine solche Funktion. Wohin damit, in diesem Fall, in meiner Variante - mein Wissen reicht nicht aus:

P.S. Es gibt nur in der Reihenfolge einen Öffnungsblock (8).

Hier liegt ein Fehler vor, denn Sie erhalten 4 Mal das Gleiche.

   double b4plusdi=iCustom(NULL,0,"ADX Crossing",A,B);
   double nowplusdi=iCustom(NULL,0,"ADX Crossing",A,B);
   double b4minusdi=iCustom(NULL,0,"ADX Crossing",A,B);
   double nowminusdi=iCustom(NULL,0,"ADX Crossing",A,B);
 

Bitte weisen Sie darauf hin, dass es eine Funktion zum Zeichnen eines Etiketts gibt:

void RightText(int tWindow, string tName, string tText, int tCorner, int tX, int tY, int tFontsize, color tColor)
{
ObjectCreate ("tName",OBJ_LABEL, 0,0,0);              // Создание объекта
ObjectSetText("tName",tText);
ObjectSet    ("tName",OBJPROP_CORNER, tCorner);       // Привязка к углу
ObjectSet    ("tName",OBJPROP_XDISTANCE, tX);         // Отступ по горизонтали 
ObjectSet    ("tName",OBJPROP_YDISTANCE, tY);         // Отступ по вертикали
ObjectSet    ("tName",OBJPROP_COLOR,tColor);          // Цвет обьекта
ObjectSet    ("tName",OBJPROP_BACK, true);            // Background 
ObjectSet    ("tName",OBJPROP_FONTSIZE, tFontsize);   // Fontsize
}         

Wenn die Funktion zweimal hintereinander aufgerufen wird (ich möchte zwei Beschriftungen an verschiedenen Stellen zeichnen), bleibt nur die letzte Beschriftung erhalten:

RightText(0,"righttest1","надпись1", 1, 50, 25, 24, Red); 
RightText(0,"righttest2","надпись2, 2, 50, 25, 24, Red); 

 
Pyro:

Bitte weisen Sie darauf hin, dass es eine Funktion zum Zeichnen eines Etiketts gibt:

Wenn die Funktion zweimal hintereinander aufgerufen wird (ich möchte zwei Beschriftungen an verschiedenen Stellen zeichnen), bleibt nur die letzte Beschriftung erhalten:

ObjectCreate ("tName",OBJ_LABEL, 0,0,0);              // Создание объекта

Sie erstellen ein Objekt mit dem Namen "tName" und möchten, dass der Name in der Variablen tName übergeben wird

 
Die Funktion erhält beim Aufruf den Wert (Name) der Variablen tName. In diesem Fall nimmt tName die Namen von
righttest1
righttest2
 
Pyro:
Die Funktion erhält beim Aufruf den Wert (Name) der Variablen tName. In diesem Fall nimmt tName die Namen von
n zustimmen, dass Variablennamen nicht in Anführungszeichen gesetzt werden " tName":))))
 
sergeev:
n zustimmen, dass Variablennamen nicht in Anführungszeichen gesetzt werden " tName":))))

Wahrlich! Danke, das hat geholfen!

Darf ich Ihnen noch eine Frage stellen?

Ist es möglich, den Wert des Elements "Kaufen/Verkaufen" in den EA-Einstellungen zu lesen? (das Programm arbeitet also je nach dieser Einstellung unterschiedlich).
 
Pyro:

Bitte weisen Sie darauf hin, dass es eine Funktion zum Zeichnen eines Etiketts gibt:

Wenn die Funktion zweimal hintereinander aufgerufen wird (ich möchte zwei Beschriftungen an verschiedenen Stellen zeichnen), bleibt nur die letzte Beschriftung erhalten:

void RightText(int tWindow, string tName, string tText, int tCorner, int tX, int tY, int tFontsize, color tColor)
{
ObjectCreate (tName,OBJ_LABEL, 0,0,0);              // Создание объекта
ObjectSetText(tName,tText);
ObjectSet    (tName,OBJPROP_CORNER, tCorner);       // Привязка к углу
ObjectSet    (tName,OBJPROP_XDISTANCE, tX);         // Отступ по горизонтали 
ObjectSet    (tName,OBJPROP_YDISTANCE, tY);         // Отступ по вертикали
ObjectSet    (tName,OBJPROP_COLOR,tColor);          // Цвет обьекта
ObjectSet    (tName,OBJPROP_BACK, true);            // Background 
ObjectSet    (tName,OBJPROP_FONTSIZE, tFontsize);   // Fontsize
}         

Probieren Sie es aus, und es wird Ihnen gut gehen.
 

todem


Danke, ich habe es herausgefunden :)

 
346206:

Das ist eine Art Unsinn. Ich kann das Zickzack nicht an der Grafik anbringen. Kann mir jemand sagen, was das Problem ist?

Versuchen Sie es zu kompilieren.
 

Ich stand vor folgendem Problem. Ich habe einen einfachen Expert Advisor geschrieben. Ich starte ihn im Strategietester. Ich habe es nur bis März 2011 laufen lassen und 21 Bestellungen erhalten. Ich habe es für den Zeitraum von April 2010 bis März 2011 laufen lassen und nur 5 Bestellungen erhalten.

Ich gehe davon aus, dass ich, wenn ich es über einen längeren Zeitraum laufen lasse, entweder mehr oder gleich viele 21 Aufträge erhalte. Aber ich habe weniger.

Warum kann das passieren? Wie lässt sich dieses Problem beheben? Bitte um Rat.