Eine Frage für MQL-Kenner - Seite 7

 

Falls Sie auf ein ähnliches Problem gestoßen sind: Beim Testen von EAs erscheinen im Log zunächst einige Zeilen wie "2010.08.18 22:23:37 TestGenerator: unmatched data error (volume limit 32 at 2010.08.18 21:15 exceeded)" und das "Do not enter"-Symbol (aus den Verkehrsregeln). Im weiteren Verlauf des Tests werden dann noch weitere Informationen hinzugefügt. Ist dies ein Problem mit dem DC-Server oder ist dies etwas falsch mit dem Expert Advisor?

 

Dies ist in der Regel der Fall, wenn das Start- und Enddatum der Prüfung falsch eingestellt ist.

Oder, zu Beginn des Tests, falsche Kurse (oder deren Fehlen), - Löcher, fehlende Balken in verschiedenen Zeitrahmen usw...

 
pathfinder1:

Falls Sie auf ein ähnliches Problem gestoßen sind: Beim Testen von EAs erscheinen im Log zunächst einige Zeilen wie "2010.08.18 22:23:37 TestGenerator: unmatched data error (volume limit 32 at 2010.08.18 21:15 exceeded)" und das "Do not enter"-Symbol (aus den Verkehrsregeln). Im weiteren Verlauf des Tests werden dann noch weitere Informationen hinzugefügt. Ist dies ein Problem mit dem DC-Server oder ist dies etwas falsch mit dem Expert Advisor?

Und zum Spaß: Führen Sie eine Site-Suche mit der Abfrage "TestGenerator: unmatched data error" durch, und sagen Sie uns dann Bescheid.
 

Debri... Die Lautstärkegrenze variiert zwischen 32 und 4826 . Aber es sieht so aus, als ob die Geschichte nicht geformt ist. Ich habe eine andere Zeitspanne eingestellt, und es ist alles in Ordnung.

 

1) Laden Sie die Historie neu, zuerst über die Schaltfläche "Page Ap", dann über die Zitat-Historie, berechnen Sie alle TFs neu, gehen Sie in den Tester/die Historie und löschen Sie alle Dateien - sollte ok sein, oder Sie haben ein Loch in der Historie, dann löschen Sie die gesamte Historie und führen Sie alle Operationen durch.

 

Guten Tag zusammen!

Noch eine Frage zu dem Dreieck im Indikatorfenster.

Ich habe ein normales Dreieck gezeichnet - mit der Spitze in Richtung der Konvergenz.

Aber ich verstehe das nicht,

1. Wie kann ich die Farbe des Dreiecks in der Funktion

ObjectCreate("TRIANGLE", OBJ_TRIANGLE,WindowFind(WindowExpertName()), 
         level_1, delta_1,  level_2,delta_2,    level_3,delta_3); 

wenn es keine Farboption gibt?

2. Ich ändere die Richtung des Dreiecks nicht, wenn ich die Konvergenz/Divergenz der Linien ändere.

Ich habe den Code wie folgt eingestellt:

 datetime  level_1, level_2, level_3;

if ( MathAbs(Symbol1[1]-SymbolS[1]) > MathAbs(Symbol1[0]-SymbolS[0]) ) {
//если имеет место  схождение линий SUM-RDX, задаем переменные для 
// вершины треугольника вправо-  
        level_1=Time[0]+3500;  delta_1= 0.1;
        level_2=Time[0]+3500;  delta_2=-0.1;
        level_3=Time[0]+10500;  delta_3   =0;  
 }       
if ( MathAbs(Symbol1[1]-SymbolS[1]) <= MathAbs(Symbol1[0]-SymbolS[0]) )
{//если имеет место  расхождение линий SUM-RDX, задаем переменные для
// вершины треугольника влево -      
       level_1=Time[0]+3500;  delta_1=0;
       level_2=Time[0]+10500;  delta_2=0.1;
       level_3=Time[0]+10500;  delta_3=-0.1;
  } 
  //==задаем отрисовку треугольника ===================                  
ObjectCreate("TRIANGLE", OBJ_TRIANGLE,WindowFind(WindowExpertName()), 
              level_1, delta_1 ,level_2,delta_2,level_3,delta_3); 

Aber hier bin ich nun im Tester und lasse den Induktor laufen, und ich kann sehen, dass das Dreieck selbst die Konfiguration nicht verändert hat, wenn ich die Konvergenz auf Divergenz umstelle. Außerdem ist das Dreieck selbst zusammen mit "seinem" Ort der ursprünglichen Aufstellung (Bindung) nach links "gegangen" ! Was könnte der Fehler sein?

Deinit ist eingestellt.

int deinit()  {
ObjectDelete("TRIANGLE");
   return(0);  }
 

1. objectSet( name, OBJPROP_COLOR, col); // name - Objektname, col - Objektfarbe

2. Um die Koordinatenwerte zu ändern, verwenden Sie

ObjectSet(name, OBJPROP_PRICE1, price1);
ObjectSet(name, OBJPROP_PRICE2, price2);
ObjectSet(name, OBJPROP_PRICE3, price3);
ObjectSet(name, OBJPROP_TIME1, time1);
ObjectSet(name, OBJPROP_TIME2, time2);
ObjectSet(name, OBJPROP_TIME3, time3);

 

Vielen Dank, keekkenen!

Ich habe getan, was Sie geschrieben haben. Alles funktioniert, wie es soll!!!

 

Guten Tag zusammen.

Könnten Sie mir bitte sagen, wie ich die Farbe der Kurslinie im Indikatorfenster (siehe Abb. oben) bei einer Richtungsänderung ändern kann?

Ich weiß nicht einmal, wie ich dieses Problem lösen soll.

Ich habe es so gemacht:

 color Color_C ;
 double BufW[];

int init() {
    
  SetIndexStyle(4,DRAW_LINE,STYLE_DOT,2,Color_C);
  SetIndexBuffer(4,BufW);
  SetIndexLabel(4,"Channel width");
  return(0);
               }
int start() {
  
  //------------------------------------------------------------------ 
  // Отрисовка ценовых линий: рисуем и синхронизируем по наличию баров
  for(int i=0; i<limit; i++) { 
.... .... ... 
    BufW[i]=(iMA(Symbol3.Name,Period(),MA........ .... );
                             }  // Конец отрисовки ценовых линий

if( BufW[i-1] => BufW[i] )   Color_C = Green;
  else  Color_C = Red;


Aber es funktioniert nicht.

 

SetIndexStyle(4,DRAW_LINE,STYLE_DOT,2,Color_C);
SetIndexBuffer(4,BufW);
SetIndexLabel(4,"Kanalbreite");

SetIndexStyle( 5,DRAW_LINE,STYLE_DOT,2,Color_X);
SetIndexBuffer( 5,BufX);
SetIndexLabel( 5,"Kanalbreite");

..............

......................

double ma=iMA(...................,................,i);

double ma1=iMA(......,...............,...........I+1);

if(ma>ma1)

BufW=ma;

sonst

BufX=ma;