Fehler, Irrtümer, Fragen - Seite 525

 

Guten Tag, ist es möglich, das grafische Standardwerkzeug in irgendeiner Weise zu ändern? Genauer gesagt: Fügen Sie dem Fibo-Gitter eine vertikale Linie hinzu, die mit einem Faktor von 1,3 gezeichnet wird.

 

eine Frage zur Verwendung von Indikatoren. Ich habe einen Testcode geschrieben.

int Fractals;
double bar_val[];
bool start;
int OnInit()
{
   Fractals = iFractals(_Symbol, _Period);
   if (Fractals == INVALID_HANDLE) return (1);
   if (!ArrayResize(bar_val, 2)) return (1);
   if (!ArraySetAsSeries(bar_val, true)) return (1);
   start = false;
   return(0);
}

void OnTick()
{
   if (start) return; else start = true;
   for (int i = 0; i < 10; i++)
   {
      CopyBuffer(Fractals, UPPER_LINE, i, 2, bar_val);
      if (EMPTY_VALUE != bar_val[0])
         Print("1. i = " + string(i) + ", bar_val = " + string(bar_val[0]));
      CopyBuffer(Fractals, LOWER_LINE, i, 2, bar_val);
      if (EMPTY_VALUE != bar_val[0])
         Print("2. i = " + string(i) + ", bar_val = " + string(bar_val[0]));
   }
}

Es wird regelmäßig ein Fraktal mit i = 2 angezeigt, aber es ist nicht auf dem Bildschirm zu sehen (aus dem Standardindikator Fraktale)

Bitte geben Sie an, wo der Fehler liegt

 
Aus irgendeinem Grund wurden zwischen 2001 und 2006 keine Experten getestet. Ich habe mir den Euro und das Pfund angesehen. Schließen Sie das Terminal und löschen Sie den Verlauf. Ich habe es erneut heruntergeladen. Das ist egal. Es ist möglich, Geschäfte bis 2001 zu eröffnen. Und von 2001 bis 2006 überspringt er, wenn es Signale gibt. Und warum?
 

Die Zeitrahmen-Schaltflächen in der Terminalleiste sind blockiert. Manchmal sind es mehrere auf einmal, wenn man häufig von einer TF zur anderen wechselt. Vielleicht liegt es an der großen Anzahl von Fenstern, Indikatoren, Vorlagen... Allerdings hatte ich früher genauso viele Fenster wie heute, aber dieser Effekt wurde nicht beobachtet. Der Screenshot ist ein Beispiel für die Inkonsistenz zwischen dem gedrückten Zeitrahmen-Button und dem tatsächlichen Wert, der in der oberen linken Ecke des Charts angezeigt wird. Es handelt sich eher um eine Langzeitwirkung, auch wenn sie früher oder später nachlässt.

Manchmal wird überhaupt keine Taste gedrückt.

 

Kann ich die Größe des Fensters mit mql5 steuern?

 
ilunga:

eine Frage zur Verwendung von Indikatoren. Ich habe einen Testcode geschrieben.

Es wird regelmäßig ein Fraktal mit i = 2 angezeigt, aber es ist nicht auf dem Bildschirm zu sehen (aus dem Standardindikator Fraktale)

Bitte geben Sie an, was der Fehler ist

Sie sollten den genauen Code des Expert Advisors nicht auf einen Blick kennen
 
tol64:
Aus irgendeinem Grund wurden zwischen 2001 und 2006 keine Experten getestet. Ich habe mir den Euro und das Pfund angesehen. Schließen Sie das Terminal und löschen Sie den Verlauf. Ich habe es erneut heruntergeladen. Das ist egal. Es ist möglich, Geschäfte bis 2001 zu eröffnen. Und von 2001 bis 2006 überspringt er, wenn es Signale gibt. Und warum?
Zusätzliche Informationen. Dies geschieht nur, wenn Sie in den Einstellungen des Testers den Zeitrahmen D1 ausgewählt haben. Wenn ich in den Einstellungen des Expert Advisors den Zeitrahmen D1 und in den Einstellungen des Testers einen kleineren TF auswähle, dann gibt es kein Überspringen. Ist dies ein Fehler oder gibt es eine Erklärung dafür?
 

Ich habe einen einfachen Indikator erstellt, aber ich verstehe nicht, warum er nicht funktionieren will;(

//+------------------------------------------------------------------+
//|                                                      testind.mq5 |
//|                        Copyright 2011, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2011, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_plots   1
//--- plot Vol
#property indicator_label1  "UniPrice"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrLightSlateGray
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
#include <MovingAverages.mqh>
//--- input parameters
input int      Smooth=50;
//--- indicator buffers
double         SmoothSpreadBuffer[];
double         SpreadBuffer[];
double         UniPriceBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,UniPriceBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,SpreadBuffer,INDICATOR_CALCULATIONS);
   SetIndexBuffer(2,SmoothSpreadBuffer,INDICATOR_CALCULATIONS);
   
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   int i;
   for(i=1;i<rates_total;i++)
     {
      SpreadBuffer[i]=(high[i]-low[i]);
     }  
     
   SmoothedMAOnBuffer(rates_total,prev_calculated,
                         1,  // с какого индекса есть значения в массиве для сглаживания 
                         Smooth,  // период экспроненциальной средней
                         SpreadBuffer,       // буфер для взятия средней
                         SmoothSpreadBuffer);  // в этот буфер помещаем значения средней      
   for(i=1;i<rates_total;i++)
     {
      UniPriceBuffer[i]=close[i]/SmoothSpreadBuffer[i];//не показывает
      //UniPriceBuffer[i]=close[i]/SmoothSpreadBuffer[rates_total-1];//показывает
      //UniPriceBuffer[i]=close[i];//показывает
      //UniPriceBuffer[i]=SmoothSpreadBuffer[i];//показывает
     }  
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

Warum will es nicht das eine durch das andere dividieren und das Ergebnis anzeigen?

Manchmal gibt es ein Ergebnis, aber es entspricht nicht der Realität, zum Beispiel sollte EURUSD einen Wert zwischen 300 und 400 auf der Uhr haben...

 
Olegts:

Ich habe einen einfachen Indikator erstellt, aber ich verstehe nicht, warum er nicht funktionieren will;(

close[i], wenn ich es ersetze, SmoothSpreadBuffer[i], wenn ich es ersetze, warum will es das eine nicht durch das andere teilen und das Ergebnis anzeigen?

Es ist wahr, manchmal gibt es ein Ergebnis, aber es entspricht nicht der Realität, zum Beispiel, EURUSD Uhr sollte einen Wert im Bereich von 300-400 haben...

UniPriceBuffer[i]=close[i]/SmoothSpreadBuffer[i];

Ersetzen Sie hier einfach die EURUSD-Werte durch die aktuelle Zeit und Sie erhalten sie:

Ma zum Beispiel mit einem Durchschnitt von 16 zu Schlusskursen

UniPriceBuffer[i] = 1,33846 / 1.33932 = 0,99935

oder besser zu verwenden

handle=iMA(name,period,ma_period,ma_shift,ma_method,applied_price);
и т.д
 

Nach dem letzten Build hängt sich das Terminal beim Laden auf. Es gibt keinen Zugriff auf das Menü oder das Kontextmenü. Kein Zugriff auf Menü oder Kontextmenü. WIn7. Das Fenster mit der Symbolübersicht ist leer. Das Verbindungssymbol ist rot. Keine CPU-Belastung. Was ist zu tun und wann ist die Stabilität gegeben?

Описание:
  Ошибка привела к остановке взаимодействия программы с Windows.

Сигнатура проблемы:
  Имя события проблемы:    AppHangB1
  Имя приложения:    terminal.exe
  Версия приложения:    5.0.0.514
  Отметка времени приложения:    00343800
  Сигнатура зависания:    86b5
  Тип зависания:    1
  Версия ОС:    6.1.7601.2.1.0.256.1
  Код языка:    1049
  Доп. сигнатура зависания 1:    86b56845a796dcc49c1ed94bca152915
  Доп. сигнатура зависания 2:    4dea
  Доп. сигнатура зависания 3:    4dea45bbcdd37e9fd7bef8af1f8c0d94
  Доп. сигнатура зависания 4:    1df5
  Доп. сигнатура зависания 5:    1df5990b738955081f33bb6a466caece
  Доп. сигнатура зависания 6:    b4e6
  Доп. сигнатура зависания 7:    b4e6e85bfba9e3852328760498392cb4