![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Wenn der ganze Rest (MetQuotesID und der Rest) ist OK eingerichtet, alles, was benötigt wird, ist SendNotificaton() und es sollte funktionieren
Handelt, aber für jede neue Kerze .... Signal "Push smartfon" nur Signalindikator zu sein. Aus Code-Fehler - aber wo ?
Handelt, aber für jede neue Kerze .... Signal "push smartfon" nur Signal Indikator zu sein. Aus Code-Fehler - aber wo?
Finden Sie ein SendEmail() und platzieren Sie es direkt nach dieser Zeile
Finde ein SendEmail() und platziere es direkt nach dieser Zeile
Super, funktioniert ... vielen Dank
Wo kann man den Code für den Änderungspfeil verbessern?
{
//----------------------------------------------------------------------+
for (int i = ObjectsTotal()-1; i >= 0; i--)
if (StringSubstr(ObjectName(i), 0, StringLen(PREFIX)) == PREFIX)
ObjectDelete(ObjectName(i));
return(0);
//----------------------------------------------------------------------+
}
int init()
{
IndicatorBuffers(8);
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,SmthBulls);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,SmthBears);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,SigBulls);
SetIndexStyle(3,DRAW_LINE);
SetIndexBuffer(3,SigBears);
SetIndexBuffer(4,Bulls);
SetIndexBuffer(5,Bears);
SetIndexBuffer(6,AvgBulls);
SetIndexBuffer(7,AvgBears);
string short_name="Bolero Ravel("+Mode+","+Length+","+Smooth+","+Signal+",,"+ModeMA+")";
IndicatorShortName(short_name);
SetIndexLabel(0,"Bulls");
SetIndexLabel(1,"Bears");
SetIndexLabel(2,"SignalBulls");
SetIndexLabel(3,"SignalBears");
//------------------------------------------------------------------------------------------+
SetIndexDrawBegin(0,Length+Smooth+Signal);
SetIndexDrawBegin(1,Length+Smooth+Signal);
SetIndexDrawBegin(2,Length+Smooth+Signal);
SetIndexDrawBegin(3,Length+Smooth+Signal);
//------------------------------------------------------------------------------------------+
return(0);
}
int start()
{
int i, shift, limit, counted_bars=IndicatorCounted();
double Price1, Price2, smax, smin;
if ( counted_bars < 0 ) return(-1);
if ( counted_bars ==0 ) limit=Bars-Length+Smooth+Signal-1;
if ( counted_bars < 1 )
for(i=1;i<Length+Smooth+Signal;i++)
{
//-----------------------------------------------------------------------+
Bulls=0;
Bears=0;
AvgBulls=0;
AvgBears=0;
SmthBulls=0;
SmthBears=0;
SigBulls=0;
SigBears=0;
}
if(counted_bars>0) limit=Bars-counted_bars;
limit--;
for( shift=limit; shift>=0; shift--)
//-----------------------------------------------------------------------+
{
Price1 = iMA(NULL,0,1,0,0,Price,shift);
Price2 = iMA(NULL,0,1,0,0,Price,shift+1);
//-----------------------------------------------------------------------+
if (Mode==0)
{
Bulls[shift] = 0.5*(MathAbs(Price1-Price2)+(Price1-Price2));
Bears[shift] = 0.5*(MathAbs(Price1-Price2)-(Price1-Price2));
}
if (Mode==1)
{
smax=High;
smin=Low[Lowest(NULL,0,MODE_LOW,Length,shift)];
Bulls[shift] = Price1 - smin;
Bears[shift] = smax - Price1;
}
if (Mode==2)
{
Bulls[shift] = 0.5*(MathAbs(High[shift]-High[shift-2])+(High[shift]-High[shift-2]));
Bears[shift] = 0.5*(MathAbs(Low[shift-1]-Low[shift])+(Low[shift-1]-Low[shift]));
}
//------------------------------------------------------------------------+
}
for( shift=limit; shift>=0; shift--)
{
AvgBulls[shift]=iMAOnArray(Bulls,0,Length,0,ModeMA,shift);
AvgBears[shift]=iMAOnArray(Bears,0,Length,0,ModeMA,shift);
}
for( shift=limit; shift>=0; shift--)
{
SmthBulls[shift]=iMAOnArray(AvgBulls,0,Smooth,0,ModeMA,shift);
SmthBears[shift]=iMAOnArray(AvgBears,0,Smooth,0,ModeMA,shift);
}
for( shift=limit; shift>=0; shift--)
{
if (OverBought > 0 && OverSold > 0 )
{
SigBulls[shift]=OverBought/100*(SmthBulls[shift]+SmthBears[shift]);
SigBears[shift]=OverSold/100*(SmthBulls[shift]+SmthBears[shift]);
}
else
{
SigBulls[shift]=iMAOnArray(SmthBulls,0,Signal,0,ModeMA,shift);
SigBears[shift]=iMAOnArray(SmthBears,0,Signal,0,ModeMA,shift);
}
}
//----------------------------------------------------------------------------------------+
for (i = limit; i >= 0; i--)
{
if(SmthBullsSmthBears)
arrows_wind(i,"Up",Arr_otstup ,242,Red,Arr_width,false); //! ! ! !
else ObjectDelete(PREFIX+"Up"+TimeToStr(Time,TIME_DATE|TIME_SECONDS));
if(SmthBulls>SmthBears && SmthBulls<SmthBears)
arrows_wind(i,"Dn",Arr_otstup ,241,Aqua,Arr_width,true); //! ! ! !
else ObjectDelete(PREFIX + "Dn" +TimeToStr(Time,TIME_DATE|TIME_SECONDS));
//----------------------------------------------------------------------------------------+
Wo verbessern Sie den Code zum Ändern der Elemente Pfeil ?
{
//----------------------------------------------------------------------+
for (int i = ObjectsTotal()-1; i >= 0; i--)
if (StringSubstr(ObjectName(i), 0, StringLen(PREFIX)) == PREFIX)
ObjectDelete(ObjectName(i));
return(0);
//----------------------------------------------------------------------+
}
int init()
{
IndicatorBuffers(8);
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,SmthBulls);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,SmthBears);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,SigBulls);
SetIndexStyle(3,DRAW_LINE);
SetIndexBuffer(3,SigBears);
SetIndexBuffer(4,Bulls);
SetIndexBuffer(5,Bears);
SetIndexBuffer(6,AvgBulls);
SetIndexBuffer(7,AvgBears);
string short_name="Bolero Ravel("+Mode+","+Length+","+Smooth+","+Signal+",,"+ModeMA+")";
IndicatorShortName(short_name);
SetIndexLabel(0,"Bulls");
SetIndexLabel(1,"Bears");
SetIndexLabel(2,"SignalBulls");
SetIndexLabel(3,"SignalBears");
//------------------------------------------------------------------------------------------+
SetIndexDrawBegin(0,Length+Smooth+Signal);
SetIndexDrawBegin(1,Length+Smooth+Signal);
SetIndexDrawBegin(2,Length+Smooth+Signal);
SetIndexDrawBegin(3,Length+Smooth+Signal);
//------------------------------------------------------------------------------------------+
return(0);
}
int start()
{
int i, shift, limit, counted_bars=IndicatorCounted();
double Price1, Price2, smax, smin;
if ( counted_bars < 0 ) return(-1);
if ( counted_bars ==0 ) limit=Bars-Length+Smooth+Signal-1;
if ( counted_bars < 1 )
for(i=1;i<Length+Smooth+Signal;i++)
{
//-----------------------------------------------------------------------+
Bulls=0;
Bears=0;
AvgBulls=0;
AvgBears=0;
SmthBulls=0;
SmthBears=0;
SigBulls=0;
SigBears=0;
}
if(counted_bars>0) limit=Bars-counted_bars;
limit--;
for( shift=limit; shift>=0; shift--)
//-----------------------------------------------------------------------+
{
Price1 = iMA(NULL,0,1,0,0,Price,shift);
Price2 = iMA(NULL,0,1,0,0,Price,shift+1);
//-----------------------------------------------------------------------+
if (Mode==0)
{
Bulls[shift] = 0.5*(MathAbs(Price1-Price2)+(Price1-Price2));
Bears[shift] = 0.5*(MathAbs(Price1-Price2)-(Price1-Price2));
}
if (Mode==1)
{
smax=High;
smin=Low[Lowest(NULL,0,MODE_LOW,Length,shift)];
Bulls[shift] = Price1 - smin;
Bears[shift] = smax - Price1;
}
if (Mode==2)
{
Bulls[shift] = 0.5*(MathAbs(High[shift]-High[shift-2])+(High[shift]-High[shift-2]));
Bears[shift] = 0.5*(MathAbs(Low[shift-1]-Low[shift])+(Low[shift-1]-Low[shift]));
}
//------------------------------------------------------------------------+
}
for( shift=limit; shift>=0; shift--)
{
AvgBulls[shift]=iMAOnArray(Bulls,0,Length,0,ModeMA,shift);
AvgBears[shift]=iMAOnArray(Bears,0,Length,0,ModeMA,shift);
}
for( shift=limit; shift>=0; shift--)
{
SmthBulls[shift]=iMAOnArray(AvgBulls,0,Smooth,0,ModeMA,shift);
SmthBears[shift]=iMAOnArray(AvgBears,0,Smooth,0,ModeMA,shift);
}
for( shift=limit; shift>=0; shift--)
{
if (OverBought > 0 && OverSold > 0 )
{
SigBulls[shift]=OverBought/100*(SmthBulls[shift]+SmthBears[shift]);
SigBears[shift]=OverSold/100*(SmthBulls[shift]+SmthBears[shift]);
}
else
{
SigBulls[shift]=iMAOnArray(SmthBulls,0,Signal,0,ModeMA,shift);
SigBears[shift]=iMAOnArray(SmthBears,0,Signal,0,ModeMA,shift);
}
}
//----------------------------------------------------------------------------------------+
for (i = limit; i >= 0; i--)
{
if(SmthBullsSmthBears)
arrows_wind(i,"Up",Arr_otstup ,242,Red,Arr_width,false); //! ! ! !
else ObjectDelete(PREFIX+"Up"+TimeToStr(Time,TIME_DATE|TIME_SECONDS));
if(SmthBulls>SmthBears && SmthBulls<SmthBears)
arrows_wind(i,"Dn",Arr_otstup ,241,Aqua,Arr_width,true); //! ! ! !
else ObjectDelete(PREFIX + "Dn" +TimeToStr(Time,TIME_DATE|TIME_SECONDS));
//----------------------------------------------------------------------------------------+
Da Sie nie den gesamten Code posten, gehe ich davon aus (und aus den Funktionsparametern ist es offensichtlich), dass es sich um einen Code aus forex tsd handelt, der geändert wurde.
In diesem Fall ist der
arrows_wind(i,"Up",Arr_otstup,242,Red,Arr_width,false);
muss ersetzt werden durch
arrows_wind(i,"Up",Arr_otstup,242,Red,Arr_width,true);
und
arrows_wind(i,"Dn",Arr_otstup,241,Aqua,Arr_width,true);
mit
arrows_wind(i,"Dn",Arr_otstup,241,Aqua,Arr_width,false);
Hallo Guy.
Ich bin mir nicht sicher, ob das möglich ist, aber wenn es jemand kann, dann Sie.
Könnten Sie den beigefügten Indikator so codieren, dass er als Histogramm am unteren Rand des Charts angezeigt wird?
Ich bin ein geborener Histogramm-Mann!
Ein schönes Wochenende
Hallo Guy.
Ich bin mir nicht sicher, ob das möglich ist, aber wenn es jemand kann, dann sind Sie es.
Könnten Sie den beigefügten Indikator so codieren, dass er als Histogramm am unteren Rand des Charts angezeigt wird?
Ich bin ein geborener Histogramm-Mann!
ein schönes WochenendeJeeves
Ich bin mir nicht sicher, ob das so möglich ist. Ich werde es überprüfen
Vielen Dank, mein Freund, ich weiß das zu schätzen.
Wenn das nicht möglich ist, wäre vielleicht die unten angefügte Lösung geeignet. Ich glaube, sie würden dann das gleiche Ergebnis anzeigen. Nur auf eine andere Art und Weise.
Ich müsste drei Instanzen des MA-Kreuz-Indikators auf dem Chart platzieren....but nothings perfekt!
Wenn das nicht möglich ist, wäre vielleicht die unten angehängte Version möglich. Ich glaube, sie würden dann das gleiche Ergebnis anzeigen, nur anders. Ich müsste drei Instanzen des MA-Kreuz-Indikators auf dem Chart platzieren...., aber nichts ist perfekt!
Jeeves
Soweit ich sehe, funktioniert diese Version gut. Habe ich Recht?