In mql4 habe ich iCustom verwendet, um Indikatoren zu erstellen, die die vorgefertigten Indikatoren von jemand anderem verwenden, obwohl ich nichts über Programmierung weiß... Ich habe genug von Intuition. Ich verwende mql5, aber nichts funktioniert, egal wie sehr ich versuche, es zu verstehen. Bitte helfen Sie mir, bitte.
Ich habe diesen Indikator in ex5. Ich habe es in meinen Download-Ordner gelegt. Ich möchte beide Linien nehmen und sie auf dem Diagramm in anderen Perioden zeichnen, d.h. es mit iCustom zu einem multitemporalen Rahmen machen.
Da ich nicht in der Lage bin, einen Indikator von Grund auf neu zu schreiben, habe ich den Code eines einfachen Bears Power Indikators genommen. Ich habe dort nichts geändert, außer dass ich indicator_chart_window und DRAW_LINE und die Zeile geändert habe, die meiner Meinung nach die Daten des ersten Puffers mit den Standardparametern der aktuellen TF herausnehmen sollte:
Alles wird kompiliert, nichts wird gezeichnet. Was braucht es sonst noch? :(
#property copyright"2009, MetaQuotes Software Corp."#property link"http://www.mql5.com"#property description"Bears Power"//--- indicator settings#property indicator_chart_window//---------------------------------#property indicator_buffers2#property indicator_plots1#property indicator_type1DRAW_LINE//---------------------------------------#property indicator_color1 Silver
#property indicator_width12//--- input parametersinputint InpBearsPeriod=13; // Period//--- indicator buffersdouble ExtBearsBuffer[];
double ExtTempBuffer[];
//--- handle of EMA int ExtEmaHandle;
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+voidOnInit()
{
//--- indicator buffers mappingSetIndexBuffer(0,ExtBearsBuffer,INDICATOR_DATA);
SetIndexBuffer(1,ExtTempBuffer,INDICATOR_CALCULATIONS);
//---IndicatorSetInteger(INDICATOR_DIGITS,_Digits+1);
//--- sets first bar from what index will be drawnPlotIndexSetInteger(0,PLOT_DRAW_BEGIN,InpBearsPeriod-1);
//--- name for DataWindow and indicator subwindow labelIndicatorSetString(INDICATOR_SHORTNAME,"Bears("+(string)InpBearsPeriod+")");
//--- get MA handle
ExtEmaHandle=iMA(NULL,0,InpBearsPeriod,0,MODE_EMA,PRICE_CLOSE);
//--- initialization done
}
//+------------------------------------------------------------------+//| Average True Range |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &Time[],
constdouble &Open[],
constdouble &High[],
constdouble &Low[],
constdouble &Close[],
constlong &TickVolume[],
constlong &Volume[],
constint &Spread[])
{
int i,limit;
//--- check for bars countif(rates_total<InpBearsPeriod)
return(0);// not enough bars for calculation //--- not all data may be calculatedint calculated=BarsCalculated(ExtEmaHandle);
if(calculated<rates_total)
{
Print("Not all data of ExtEmaHandle is calculated (",calculated,"bars ). Error",GetLastError());
return(0);
}
//--- we can copy not all dataint to_copy;
if(prev_calculated>rates_total || prev_calculated<0) to_copy=rates_total;
else
{
to_copy=rates_total-prev_calculated;
if(prev_calculated>0) to_copy++;
}
//---- get ma buffersif(IsStopped()) return(0); //Checking for stop flagif(CopyBuffer(ExtEmaHandle,0,0,to_copy,ExtTempBuffer)<=0)
{
Print("getting ExtEmaHandle is failed! Error",GetLastError());
return(0);
}
//--- first calculation or number of bars was changedif(prev_calculated<InpBearsPeriod)
limit=InpBearsPeriod;
else limit=prev_calculated-1;
//--- the main loop of calculationsfor(i=limit;i<rates_total && !IsStopped();i++)
{
ExtBearsBuffer[i]=iCustom(NULL,0,"Downloads\\RSI Analytics"); \\--------------------------------------------
}
//--- return value of prev_calculated for next callreturn(rates_total);
}
//+------------------------------------------------------------------+
Зачем нам RSI в отдельном окне, если его можно построить в основном окне графика, что гораздо более понятно? RSI ANALYTICS - это индикатор, следящий за рынком, созданный на основе той же идеи, что и традиционный RSI (индекс относительной силы). При этом он строится не в отдельном подокне, а в том же окне, что и график цены финансового...
In mql4 habe ich iCustom verwendet, um Indikatoren zu erstellen, die die vorgefertigten Indikatoren von jemand anderem verwenden, obwohl ich nichts über Programmierung weiß... Ich habe genug von Intuition. Ich verwende mql5, aber nichts funktioniert, egal wie sehr ich versuche, es zu verstehen. Bitte helfen Sie mir, bitte.
Ich habe diesen Indikator in ex5. Ich habe es in meinen Download-Ordner gelegt. Ich möchte beide Linien nehmen und sie auf dem Diagramm in anderen Perioden zeichnen, d.h. es mit iCustom zu einem Multitime Frame machen.
Da ich nicht in der Lage bin, einen Indikator von Grund auf neu zu schreiben, habe ich den Code eines einfachen Bears Power Indikators genommen. Ich habe dort nichts geändert, außer dass ich indicator_chart_window und DRAW_LINE und die Zeile geändert habe, die meiner Meinung nach die Daten des ersten Puffers mit den Standardparametern der aktuellen TF herausnehmen sollte:
Alles wird kompiliert, nichts wird gezeichnet. Was braucht es sonst noch? :(
In mql5 ist die Arbeit mit benutzerdefinierten und Standardindikatoren anders organisiert als in mql4. Wenn Sie in mql4 nur einen Indikatorwert über iCustom erhalten können, können Sie in mql5 Indikatorwerte für die gesamte Tiefe der Historie im Array erhalten. Der zweite große Unterschied ist die Richtung der Indizierung in den Indikatorpuffern.
Es ist mühsam, den gesamten Code durchzusehen und mit dem Original abzugleichen, daher werde ich nur auf die wichtigsten Punkte eingehen:
Die Datei muss sich im Ordner "Indicators" oder in einem Unterordner desselben Ordners "Indicators" befinden.
Hier ist die Zeichenfolge, um den MA-Indikator-Handle zu erhalten
Und dann können Sie die Indikatorwerte aus diesem zusätzlichen Puffer auf irgendeine Weise verarbeiten, oder Sie können sie in den Indikatorpuffer stellen, ohne die Richtung der Indizierung zu vergessen.
Ich danke Ihnen! Ich habe etwas geschrieben, wie ich es verstanden habe, und jetzt erscheint nur noch ein Fehler beim Kompilieren. Auf der Linie
Fehlerto_copy - nicht deklarierter Bezeichner.
In welchem Abschnitt und wie melde ich sie an?
Sie müssen meine Hinweise mit Ihrem Code und mit dem von Ihnen bereits korrigierten Quellcode vergleichen. Diese Variable wird in diesen Codes deklariert. Und zusätzlich zu meinen Bemerkungen sollten Sie versuchen, die Logik von Bauindikatoren im Allgemeinen zu verstehen, und nicht einfach ein Stück Scheiße gegen ein Stück Scheiße austauschen.
lil_lil: Kann sich in MetaTrader 5 die Leistung eines EA für ein Währungspaar grundlegend von der Leistung z. B. für den RTS-Index unterscheiden?
Das Ratsmitglied wird so arbeiten, wie es geschrieben ist. Und nicht anders.
Was die zu berücksichtigenden Nuancen betrifft: RTS ist eine Börse, daher die NETTING-Art der Buchhaltungspositionen. Wenn der EA nicht ursprünglich für die Arbeit mit dem Netz ausgelegt ist, ist das Ergebnis unvorhersehbar.
Das Ratsmitglied wird so arbeiten, wie es geschrieben ist. Und nicht anders.
Was die zu berücksichtigenden Nuancen betrifft: RTS ist eine Börse, daher die NETTING-Art der Buchhaltungspositionen. Wenn der EA ursprünglich nicht für die Arbeit mit Netzen ausgelegt ist, ist das Ergebnis unvorhersehbar.
Wenn Ihr EA nichtauf Netting ausgelegt ist, ist das Ergebnis unvorhersehbar.
In der Strategie gibt es keine multidirektionalen Positionen.
Wenn dies der Fall ist (es ist immer EINE Position in Betrieb), macht es keinen Unterschied, ob es sich um Netting oder Hedging handelt.
Bei einem umgekehrten Signal in Währungen (Forex) werden die Positionen geschlossen, aber nicht an der Börse. Wo soll man suchen, wonach soll man suchen?
In mql4 habe ich iCustom verwendet, um Indikatoren zu erstellen, die die vorgefertigten Indikatoren von jemand anderem verwenden, obwohl ich nichts über Programmierung weiß... Ich habe genug von Intuition. Ich verwende mql5, aber nichts funktioniert, egal wie sehr ich versuche, es zu verstehen. Bitte helfen Sie mir, bitte.
Ich habe diesen Indikator in ex5. Ich habe es in meinen Download-Ordner gelegt. Ich möchte beide Linien nehmen und sie auf dem Diagramm in anderen Perioden zeichnen, d.h. es mit iCustom zu einem multitemporalen Rahmen machen.
Da ich nicht in der Lage bin, einen Indikator von Grund auf neu zu schreiben, habe ich den Code eines einfachen Bears Power Indikators genommen. Ich habe dort nichts geändert, außer dass ich indicator_chart_window und DRAW_LINE und die Zeile geändert habe, die meiner Meinung nach die Daten des ersten Puffers mit den Standardparametern der aktuellen TF herausnehmen sollte:
Alles wird kompiliert, nichts wird gezeichnet. Was braucht es sonst noch? :(
In mql4 habe ich iCustom verwendet, um Indikatoren zu erstellen, die die vorgefertigten Indikatoren von jemand anderem verwenden, obwohl ich nichts über Programmierung weiß... Ich habe genug von Intuition. Ich verwende mql5, aber nichts funktioniert, egal wie sehr ich versuche, es zu verstehen. Bitte helfen Sie mir, bitte.
Ich habe diesen Indikator in ex5. Ich habe es in meinen Download-Ordner gelegt. Ich möchte beide Linien nehmen und sie auf dem Diagramm in anderen Perioden zeichnen, d.h. es mit iCustom zu einem Multitime Frame machen.
Da ich nicht in der Lage bin, einen Indikator von Grund auf neu zu schreiben, habe ich den Code eines einfachen Bears Power Indikators genommen. Ich habe dort nichts geändert, außer dass ich indicator_chart_window und DRAW_LINE und die Zeile geändert habe, die meiner Meinung nach die Daten des ersten Puffers mit den Standardparametern der aktuellen TF herausnehmen sollte:
Alles wird kompiliert, nichts wird gezeichnet. Was braucht es sonst noch? :(
In mql5 ist die Arbeit mit benutzerdefinierten und Standardindikatoren anders organisiert als in mql4. Wenn Sie in mql4 nur einen Indikatorwert über iCustom erhalten können, können Sie in mql5 Indikatorwerte für die gesamte Tiefe der Historie im Array erhalten. Der zweite große Unterschied ist die Richtung der Indizierung in den Indikatorpuffern.
Es ist mühsam, den gesamten Code durchzusehen und mit dem Original abzugleichen, daher werde ich nur auf die wichtigsten Punkte eingehen:
Die Datei muss sich im Ordner "Indicators" oder in einem Unterordner desselben Ordners "Indicators" befinden.
Hier ist die Zeichenfolge, um den MA-Indikator-Handle zu erhalten
und dies ist der String, um den Wert des MA-Indikators zu erhalten
in diesem Fall in einen zusätzlichen Puffer oder ein Array.
Es stellt sich heraus, dass die Daten des benutzerdefinierten Indikators zu erhalten
Und dann können Sie die Indikatorwerte aus diesem zusätzlichen Puffer auf irgendeine Weise verarbeiten, oder Sie können sie in den Indikatorpuffer stellen, ohne die Richtung der Indizierung zu vergessen.
Ich danke Ihnen! Ich habe etwas geschrieben, wie ich es verstanden habe, und jetzt erscheint nur noch ein Fehler beim Kompilieren. Auf der Linie
Fehlerto_copy - nicht deklarierter Bezeichner.
In welchem Abschnitt und wie melde ich sie an?
Ich danke Ihnen! Ich habe etwas geschrieben, wie ich es verstanden habe, und jetzt erscheint nur noch ein Fehler beim Kompilieren. Auf der Linie
Fehlerto_copy - nicht deklarierter Bezeichner.
In welchem Abschnitt und wie melde ich sie an?
Sie müssen meine Hinweise mit Ihrem Code und mit dem von Ihnen bereits korrigierten Quellcode vergleichen. Diese Variable wird in diesen Codes deklariert. Und zusätzlich zu meinen Bemerkungen sollten Sie versuchen, die Logik von Bauindikatoren im Allgemeinen zu verstehen, und nicht einfach ein Stück Scheiße gegen ein Stück Scheiße austauschen.
Kann sich in MetaTrader 5 die Leistung eines EA für ein Währungspaar grundlegend von der Leistung z. B. für den RTS-Index unterscheiden?
Das Ratsmitglied wird so arbeiten, wie es geschrieben ist. Und nicht anders.
Was die zu berücksichtigenden Nuancen betrifft: RTS ist eine Börse, daher die NETTING-Art der Buchhaltungspositionen. Wenn der EA nicht ursprünglich für die Arbeit mit dem Netz ausgelegt ist, ist das Ergebnis unvorhersehbar.
Das Ratsmitglied wird so arbeiten, wie es geschrieben ist. Und nicht anders.
Was die zu berücksichtigenden Nuancen betrifft: RTS ist eine Börse, daher die NETTING-Art der Buchhaltungspositionen. Wenn der EA ursprünglich nicht für die Arbeit mit Netzen ausgelegt ist, ist das Ergebnis unvorhersehbar.
Wenn Ihr EA nichtauf Netting ausgelegt ist, ist das Ergebnis unvorhersehbar.
In der Strategie gibt es keine multidirektionalen Positionen.
Danke, wie können Sie anhand des Codes sicher wissen, ob er für dieVerwendung mit Netzen geeignet istoder nicht?
In der Strategie gibt es keine gegenläufigen Positionen.
Und wenn ja (immer EINE Position in Arbeit), dann gibt es keinen Unterschied - ob Netting oder Hedging.
Wenn dies der Fall ist (es ist immer EINE Position in Betrieb), macht es keinen Unterschied, ob es sich um Netting oder Hedging handelt.
Bei einem umgekehrten Signal in Währungen (Forex) werden die Positionen geschlossen, aber nicht an der Börse. Wo soll man suchen, wonach soll man suchen?
Bei einem umgekehrten Signal für Währungen werden die Positionen geschlossen, aber nicht an der Börse. Wo soll man suchen, wonach soll man suchen?
Suche nach der Stelle, von der der Befehl zum Schließen der Position kommt.