Können Sie mir bitte sagen, wie ich den Puffer zurücksetzen kann, wenn ein neuer Balken erscheint, aber so, dass die vorherigen Daten nicht gelöscht werden und im Diagramm angezeigt werden. Aus irgendeinem Grund kann ich den Puffer nicht auf Null zurücksetzen, und wennein neuer Balkenerscheint, werden die alten akkumulierten Daten mit neuen Daten überlagert. Was mache ich in meinem Code falsch? Danke für die Klarstellung.
Ich habe eine Frage mit dem Code, es stellt sich heraus, dass die nicht geschlossene aktuelle Kerze hat die Close-Zeit und bis die Kerze schließt, zeichnet der Indikator den Preis Schließung des Zeitraums, auf dem der Indikator steht rot in den Bildschirm-Bereich, die nicht gezeichnet werden sollte, weil die Stunde Kerze nicht geschlossen ist , das ist die Kompilierungszeit und dann nach der Kompilierung kommt die Zeichnung von jeder geschlossenen Kerze, natürlich können Sie einen anderen Weg, indem Sie die Stunde Bars zu lösen, aber ich wollte einen einfacheren Weg, schrieb ich früher so
MakarFX: Bitte helfen Sie mir, den Indikator mit einem bestimmten Symbol arbeiten zu lassen, unabhängig davon, auf welchen Chart er eingestellt ist.
Es ist notwendig, diesen Parameter in Aufrufen Higest, Lowest zu schreiben - sie sind veraltet, besser iHigest, iLowest und lobte berüchtigten Fisher sofort auf ein Unentschieden vereinbart (V.Vysotsky)
PokrovMT5: Ich habe eine Frage mit dem Code, es stellt sich heraus, dass die nicht geschlossene aktuelle einstündige Kerze die Close-Zeit hat und bis die Kerze schließt, zeichnet der Indikator die Preisschließung der Periode, auf der der Indikator steht, der rote Bereich im Screenshot ist nicht zu zeichnen, weil die einstündige Kerze nicht geschlossen ist Das ist die Kompilierungszeit und dann nach der Kompilierung kommt das Zeichnen von jeder geschlossenen Kerze, natürlich können Sie einen anderen Weg, indem Sie die Stunde Bars zu lösen, aber ich wollte einen einfacheren Weg, schrieb ich früher
Gibt es eine andere Lösung für das Problem? Ich danke Ihnen.
Wenn ich Sie richtig verstehe, möchten Sie den stündlichen Close im Chart markieren?
// (только для TF меньше часа) для всех свечей внутри часа поставить HourCloseBuff=цена закрытия часа
// предполагается что close индексирован как тайм-серия
Wir sollten diesen Parameter in die Aufrufe Higest, Lowest schreiben - sie sind veraltet, besser sind iHigest, iLowest und der berühmt-berüchtigte Fischer stimmte sofort einem Remis zu (V.Vysotsky)
Maxim, guten Tag! Danke für die Variante, meine ist fast die gleiche, es funktioniert auch, aberAlekseu Fedotov schlug es vor und ich schrieb darüber, was ist die Idee, es zu korrigieren?
Können Sie mir bitte sagen, wie ich den Puffer zurücksetzen kann, wenn ein neuer Balken erscheint, aber so, dass die vorherigen Daten nicht gelöscht werden, sondern im Diagramm angezeigt werden. Aus irgendeinem Grund kann ich den Puffer nicht auf Null zurücksetzen, und wennein neuer Balkenerscheint, werden die alten akkumulierten Daten mit neuen Daten überlagert. Was mache ich in meinem Code falsch? Danke für die Klarstellung.
datetime Вр=Time[0]; // Время текущего бараif(Вр>Время) // Если новый бар
{
Время=Вр; // Запомнить
Buf_1[0]=0; // и обнулить последний элемент буфера
Buf_2[0]=0;
}
if(Bid > Bid1)
{
V1 = iVolume(NULL, 0, 0);
V2 = V1 + V2;
Buf_1[0]= V2;
}
else
{
V3 = iVolume(NULL, 0, 0);
V4 = V3 + V4;
Buf_2[0]= (V4*-1);
}
Bid1=Bid;
return(rates_total);
Guten Tag an Sie alle! Wie kann ich zum richtigen Kartenfenster wechseln?
Ich habe viele Fenster mit verschiedenen Paaren geöffnet, jedes mit einem EA, ein Handelssignal erscheint, aber die Währungen sind bis zu dem Motherfucker, und ich muss schnell die genaue Tabelle, auf der das Signal kam aktivieren.
Ich kenne den Befehl Symbol(), aber ich weiß nicht, wie ich das Fenster mit einem bestimmten Währungspaar aktivieren kann. Wer hat sich dieser Aufgabe vielleicht schon einmal gestellt?
Grüße an alle Forumsmitglieder.
Ich weiß nicht, was ich als nächstes tun sollBitte helfen Sie mir, dass der Indikator mit einem bestimmten Symbol funktioniert, unabhängig davon, auf welchen Chart er eingestellt ist.
Ich weiß, dass ein externer Parameter verwendet wird, um das Symbol zu ändern
Ich hänge den Indikator an
Können Sie mir bitte sagen, wie ich den Puffer zurücksetzen kann, wenn ein neuer Balken erscheint, aber so, dass die vorherigen Daten nicht gelöscht werden und im Diagramm angezeigt werden. Aus irgendeinem Grund kann ich den Puffer nicht auf Null zurücksetzen, und wennein neuer Balkenerscheint, werden die alten akkumulierten Daten mit neuen Daten überlagert. Was mache ich in meinem Code falsch? Danke für die Klarstellung.
So ist das nun mal
jede andere Lösung für das Problem? Ich würde es gerne in der Kompilierung sehen, aber ich wollte eine einfachere Lösung haben.
Es ist notwendig, diesen Parameter in Aufrufen Higest, Lowest zu schreiben - sie sind veraltet, besser iHigest, iLowest und lobte berüchtigten Fisher sofort auf ein Unentschieden vereinbart (V.Vysotsky)
Ich habe eine Frage mit dem Code, es stellt sich heraus, dass die nicht geschlossene aktuelle einstündige Kerze die Close-Zeit hat und bis die Kerze schließt, zeichnet der Indikator die Preisschließung der Periode, auf der der Indikator steht, der rote Bereich im Screenshot ist nicht zu zeichnen, weil die einstündige Kerze nicht geschlossen ist Das ist die Kompilierungszeit und dann nach der Kompilierung kommt das Zeichnen von jeder geschlossenen Kerze, natürlich können Sie einen anderen Weg, indem Sie die Stunde Bars zu lösen, aber ich wollte einen einfacheren Weg, schrieb ich früher
Gibt es eine andere Lösung für das Problem? Ich danke Ihnen.
Wenn ich Sie richtig verstehe, möchten Sie den stündlichen Close im Chart markieren?
// (только для TF меньше часа) для всех свечей внутри часа поставить HourCloseBuff=цена закрытия часа
// предполагается что close индексирован как тайм-серия
for(int back=i+1;back<=limit && TimeHour(time[back]==TimeHour(time[i+1]);back++) {
HourCloseBuff[back]=close[i+1];
}
Wir sollten diesen Parameter in die Aufrufe Higest, Lowest schreiben - sie sind veraltet, besser sind iHigest, iLowest und der berühmt-berüchtigte Fischer stimmte sofort einem Remis zu (V.Vysotsky)
#property copyright "Copyright © 2005, Yura Prokofiev" #property link "Yura.prokofiev@gmail.com" #property indicator_separate_window #property indicator_buffers 3 #property indicator_color1 Black #property indicator_color2 Lime #property indicator_color3 Red input string Symb ="GBPJPY"; extern int period =10; double ExtBuffer0[]; double ExtBuffer1[]; double ExtBuffer2[]; int init() { SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2,Red); SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,2,Lime); SetIndexStyle(2,DRAW_HISTOGRAM); IndicatorDigits(Digits+1); SetIndexBuffer(0,ExtBuffer0); SetIndexBuffer(1,ExtBuffer1); SetIndexBuffer(2,ExtBuffer2); IndicatorShortName("Fisher"); SetIndexLabel(1,NULL); SetIndexLabel(2,NULL); return(0); } int start() { //int period=10; int limit; int counted_bars=IndicatorCounted(); double prev,current,old; double Value=0,Value1=0,Value2=0,Fish=0,Fish1=0,Fish2=0; double price; double MinL=0; double MaxH=0; if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; for(int i=0; i<limit; i++) { MaxH = High[iHighest(Symb,0,MODE_HIGH,period,i)]; MinL = Low[iLowest(Symb,0,MODE_LOW,period,i)]; price = (High[i]+Low[i])/2; Value = 0.33*2*((price-MinL)/(MaxH-MinL)-0.5) + 0.67*Value1; Value=MathMin(MathMax(Value,-0.999),0.999); ExtBuffer0[i]=0.5*MathLog((1+Value)/(1-Value))+0.5*Fish1; Value1=Value; Fish1=ExtBuffer0[i]; } bool up=true; for(i=limit-2; i>=0; i--) { current=ExtBuffer0[i]; prev=ExtBuffer0[i+1]; if (((current<0)&&(prev>0))||(current<0)) up= false; if (((current>0)&&(prev<0))||(current>0)) up= true; if(!up) { ExtBuffer2[i]=current; ExtBuffer1[i]=0.0; } else { ExtBuffer1[i]=current; ExtBuffer2[i]=0.0; } } return(0); }Das habe ich getan, aber das löst das Problem nicht fürHigh und Low verwenden das aktuelle Symbol.
Wenn ich Sie richtig verstehe, möchten Sie den stündlichen Close im Chart markieren?
// (только для TF меньше часа) для всех свечей внутри часа поставить HourCloseBuff=цена закрытия часа
// предполагается что close индексирован как тайм-серия
for(int back=i+1;back<=limit && TimeHour(time[back]==TimeHour(time[i+1]);back++) {
HourCloseBuff[back]=close[i+1];
}
Maxim, guten Tag! Danke für die Variante, meine ist fast die gleiche, es funktioniert auch, aberAlekseu Fedotov schlug es vor und ich schrieb darüber, was ist die Idee, es zu korrigieren?
Können Sie mir bitte sagen, wie ich den Puffer zurücksetzen kann, wenn ein neuer Balken erscheint, aber so, dass die vorherigen Daten nicht gelöscht werden, sondern im Diagramm angezeigt werden. Aus irgendeinem Grund kann ich den Puffer nicht auf Null zurücksetzen, und wennein neuer Balkenerscheint, werden die alten akkumulierten Daten mit neuen Daten überlagert. Was mache ich in meinem Code falsch? Danke für die Klarstellung.
Kann mir denn niemand helfen?
Guten Tag an Sie alle! Wie kann ich zum richtigen Kartenfenster wechseln?
Ich habe viele Fenster mit verschiedenen Paaren geöffnet, jedes mit einem EA, ein Handelssignal erscheint, aber die Währungen sind bis zu dem Motherfucker, und ich muss schnell die genaue Tabelle, auf der das Signal kam aktivieren.
Ich kenne den Befehl Symbol(), aber ich weiß nicht, wie ich das Fenster mit einem bestimmten Währungspaar aktivieren kann. Wer hat sich dieser Aufgabe vielleicht schon einmal gestellt?