Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Nun, wenn es um den Wechsel der Zeitrahmen ist dann der Timer ist keine gute Option, weil der Timer get's zerstört beim Wechsel Frame.
Sie können Ihre Zeilen in der OnInit() Funktion erstellen und sie entweder in den OnTick() oder OnTimer() Funktionen aktualisieren.
Beachten Sie auch die ObjectsDeleteAll() in OnDeint() Funktion, die sicherstellt, dass alles entfernt wird, bevor es wieder auf Ihrem neuen Frame erstellt wird.
---
Und wenn Sie die Zeilen bei jeder neuen Kerze aktualisieren möchten, können Sie das Beispiel auf der vorherigen Seite mit dem letzten Beispiel kombinieren, um Folgendes zu erhalten
...
Wenn es weitere Probleme gibt, zeigen Sie bitte etwas Code.
Ich habe Ihre letzten Kommentare studiert.
Wieder 2 tolle Kommentare. Es sieht so aus, dass der Code ähnlich ist (Ihr Kommentar #18), aber das ist sehr unterschiedlich für mich.
Also, ja, ich war das Gefühl 'Timer' zerstören, wenn ich Frame wechseln. Aber das ist sehr nützlich für mich, weil mein Indikator einmal in einem PERIOD_**'s aktualisieren.
Yeah! Ich habe bereits die Hauptlinien in der speziellen Funktion init() erstellt, und sie werden in der Funktion OnTimer() aktualisiert.
(Sie können mich klarer verstehen, von unten Code)
...neue Kerzen entstehen, die man kombinieren kann...
Wenn es weitereProbleme gibt...
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Wie ich schon sagte, gibt es ein Problem, das mehr Zeit in Anspruch nimmt. Gerade jetzt muss ich Ihnen einige meiner Indikator-Code zu zeigen. Und ich benutze nicht 'switch operator & ObjectMove()' in meinem Indikator.
@Marco
Bitte lassen Sie mich wissen, ist unten Code ist gut oder was?
Was ist Ihr Ratkönnte ich beginnen Forschung weitgehend Ihre letzten zwei Kommentare und könnte ich einbeziehen 'switch() und ObjectMove()' zu meinem Indikator? (Warum ich frage, bevor ich es tue? - weil es eine lange Zeit dauert.)
(wie Sie sehen, habe ich mehr Nutzen aus Ihrem Kommentar #18 gezogen - und jetzt stehe ich vor einem Dilemma zwischen meinem untenstehenden Code und Ihren letzten beiden großartigen Kommentaren)
int init()
{
EventSetMillisecondTimer( 1250 );
_CreateLines_M5();
return(INIT_SUCCEEDED);
}
//|+--------------------------------------------------------------------------------+
int start()
{
return(0);
}
//|+--------------------------------------------------------------------------------+
int deinit()
{
ObjectsDeleteAll( 0, _prefix );
return(0);
}
//|+--------------------------------------------------------------------------------+
void OnTimer()
{
//---
if ( _dt_Prd_M5 != iTime( Symbol(), _prd_M5, 0 ) )
{
_dt_Prd_M5 = iTime( Symbol(), _prd_M5, 0 );
_CreateLines_M5();
}
return;
}
//|+--------------------------------------------------------------------------------+
void _CreateLines_M5( )
{
//---
int _dayCnt_M5 = _prd_cnt + 0;
int _cnt_M5 = iBarShift( Symbol(), 0, iTime( Symbol(), PERIOD_W1, _dayCnt_M5 ) );
for ( i = 0; i < _cnt_M5; i++ )
{
_time_M5 = Time[i];
_prdCvrt_M5 = PeriodSeconds( _prd_M5 );
_timeCvrt_M5 = _time_M5 - ( _time_M5 % _prdCvrt_M5 ) + _prdCvrt_M5;
_vlineName_M5 = _prefix + "PERIOD_M5 - " + TimeToStr( _timeCvrt_M5, TIME_DATE|TIME_MINUTES );
if ( _Period < PERIOD_M15 )
{
if (
...
TimeHour( _timeCvrt_M5 ) == 12
)
{
ObjectCreate ( _vlineName_M5, OBJ_VLINE, 0, _timeCvrt_M5, 0 );
}
}
}
return;
}
Alles Gute für Sie.
Ich weiß nicht, wie es anderen geht, aber ich finde Ihre Mischung aus Schriftart, Farben, Fett- und Kursivdruck usw. ablenkend und nervig. Tatsächlich konnte ich mir nicht die Mühe machen, diesen Beitrag zu lesen.
Ich habe Ihre letzten Kommentare studiert.
Eine weitere 2 große Kommentare. Es sieht aus wie dieser Code ähnlich (Ihr #18 Kommentar), aber das ist sehr unterschiedlich für mich.
Also, ja ich war das Gefühl 'Timer' zerstören, wenn ich Frame wechseln. Aber das ist sehr nützlich für mich, weil mein Indikator einmal in einem PERIOD_**'s aktualisieren.
Yeah! Ich habe bereits die Hauptlinien in der speziellen Funktion init() erstellt, und sie werden in der Funktion OnTimer() aktualisiert.
(Sie können mich klarer verstehen, von unten Code)
...neue Kerzen entstehen, die man kombinieren kann...
Wenn es weitereProbleme gibt...
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Wie ich schon sagte, gibt es ein Problem, das mehr Zeit in Anspruch nimmt. Gerade jetzt muss ich Ihnen einige meiner Indikator-Code zu zeigen. Und ich benutze nicht 'switch operator & ObjectMove()' in meinem Indikator.
@Marco
Bitte lassen Sie mich wissen, ist unten Code ist gut oder was?
Was ist Ihr Ratkönnte ich beginnen Forschung weitgehend Ihre letzten zwei Kommentare und könnte ich einbeziehen 'switch() und ObjectMove()' zu meinem Indikator? (Warum ich frage, bevor ich es tue? - weil es eine lange Zeit dauert.)
(wie Sie sehen, habe ich mehr Nutzen aus Ihrer #18 Kommentar - und jetzt bin ich konfrontiert Dilemma zwischen meinem unten Code und Ihre letzten beiden großen Kommentare)
int init()
{
EventSetMillisecondTimer( 1250 );
_CreateLines_M5();
return(INIT_SUCCEEDED);
}
//|+--------------------------------------------------------------------------------+
int start()
{
return(0);
}
//|+--------------------------------------------------------------------------------+
int deinit()
{
ObjectsDeleteAll( 0, _prefix );
return(0);
}
//|+--------------------------------------------------------------------------------+
void OnTimer()
{
//---
if ( _dt_Prd_M5 != iTime( Symbol(), _prd_M5, 0 ) )
{
_dt_Prd_M5 = iTime( Symbol(), _prd_M5, 0 );
_CreateLines_M5();
}
return;
}
//|+--------------------------------------------------------------------------------+
void _CreateLines_M5( )
{
//---
int _dayCnt_M5 = _prd_cnt + 0;
int _cnt_M5 = iBarShift( Symbol(), 0, iTime( Symbol(), PERIOD_W1, _dayCnt_M5 ) );
for ( i = 0; i < _cnt_M5; i++ )
{
_time_M5 = Time[i];
_prdCvrt_M5 = PeriodSeconds( _prd_M5 );
_timeCvrt_M5 = _time_M5 - ( _time_M5 % _prdCvrt_M5 ) + _prdCvrt_M5;
_vlineName_M5 = _prefix + "PERIOD_M5 - " + TimeToStr( _timeCvrt_M5, TIME_DATE|TIME_MINUTES );
if ( _Period < PERIOD_M15 )
{
if (
...
TimeHour( _timeCvrt_M5 ) == 12
)
{
ObjectCreate ( _vlineName_M5, OBJ_VLINE, 0, _timeCvrt_M5, 0 );
}
}
}
return;
}
Alles Gute für Sie, Mann.
Nun, wenn es funktioniert und wenn nicht, einfach weiter versuchen.
Wenn es klappt und wenn nicht, versuchen Sie es weiter.
#Broker Time - Wiedereröffnung
Ich habe einige Foren hier und da gelesen. Vielleicht meine Lösung entweder von ihnen. Aber ich habe nicht herausgefunden.
Vor diesem Kommentar - habe ich es noch einmal versucht. Aber ich kann keine Lösung finden.
Also, ich habe 2 Broker, A und B.
- A: Vline-Objekte stellt richtige Zeit. Welche ich will. z.B.: Zeit 2017.02.18 0:00 auch vline Objekt platziert gleiche Zeit.
- B: Vline-Objekt platziert falsche Zeit (vielleicht liege ich falsch). z.B.: Zeit 2017.02.18 1:00 aber vline object platziert 0:00.
Also, wenn jemand mein Anliegen zu verstehen, würde jeder Kommentar besser für mich sein.Ich wünsche Ihnen ein schönes Wochenende.
#Broker Time - Wiedereröffnung
Ich habe einige Foren hier und da gelesen. Vielleicht meine Lösung entweder von ihnen. Aber ich habe nicht herausgefunden.
Vor diesem Kommentar - habe ich es noch einmal versucht. Aber ich kann keine Lösung finden.
Also, ich habe 2 Broker, A und B.
- A: Vline-Objekte stellt richtige Zeit. Welche ich will. z.B.: Zeit 2017.02.18 0:00 auch vline Objekt platziert gleiche Zeit.
- B: Vline-Objekt platziert falsche Zeit (vielleicht liege ich falsch). z.B.: Zeit 2017.02.18 1:00 aber vline object platziert 0:00.
Also, wenn jemand mein Anliegen zu verstehen, wäre jeder Kommentar besser für mich sein.Ich wünsche Ihnen ein schönes Wochenende.
Untenstehenden Code gibt mir unterschiedliche Ergebnisse in zwei verschiedenen Brokern.
(Mein vorheriger Kommentar könnte Ihnen helfen, mich zu verstehen)
Vielen Dank im Voraus.
{
// High
ObjectSet("PeriodHigh",OBJPROP_PRICE1,iHigh(Symbol(),PERIOD_D1,0));
ObjectSet("PeriodHigh",OBJPROP_PRICE2,iHigh(Symbol(),PERIOD_D1,0));
ObjectSet("PeriodHigh",OBJPROP_TIME1,TimeCurrent());
ObjectSet("PeriodHigh",OBJPROP_TIME2,TimeCurrent() -(TimeCurrent()-iTime(Symbol(),PERIOD_D1,0)));
// Low
ObjectSet("PeriodLow",OBJPROP_PRICE1,iLow(Symbol(),PERIOD_D1,0));
ObjectSet("PeriodLow",OBJPROP_PRICE2,iLow(Symbol(),PERIOD_D1,0));
ObjectSet("PeriodLow",OBJPROP_TIME1,TimeCurrent());
ObjectSet("PeriodLow",OBJPROP_TIME2,TimeCurrent() -(TimeCurrent()-iTime(Symbol(),PERIOD_D1,0)));
}
Wenn Sie meinen, dass sich die Werte von iHigh und iLow zwischen den Brokern unterscheiden, ist das durchaus üblich.
2 Gründe:
1. Die Preise variieren leicht zwischen den Brokern, und
2. Wenn die Server der Broker unterschiedliche GMT-Offsets haben, beginnen die Balken zu unterschiedlichen Zeiten.
Wenn Sie meinen, dass sich die Werte von iHigh und iLow zwischen den Brokern unterscheiden, ist das durchaus üblich.
Dafür gibt es 2 Gründe:
1. Die Preise variieren leicht zwischen den Brokern, und
2. Wenn die Server der Broker unterschiedliche GMT-Offsets haben, beginnen die Balken zu unterschiedlichen Zeiten.
Ich meine nur unterschiedliche Zeiten.
Es gibt also keine Möglichkeit, dieses Problem zu lösen, bitte?
Herzlichen Dank.