Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Se tutto il resto (MetQuotesID e il resto) è impostato bene, tutto ciò che serve è SendNotificaton() e dovrebbe funzionare
Atti, ma per ogni nuova candela .... segnale "push smartfon" per essere solo indicatore di segnale. Errore di codice off - ma dove?
Atti, ma per ogni nuova candela .... segnale "push smartfon" per essere solo indicatore di segnale. Errore di codice off - ma dove?
Trova un SendEmail() e mettilo subito dopo quella linea
Trova un SendEmail() e mettilo subito dopo questa linea
Super, funzionante ... grazie
Dove migliorare il codice per cambiare la freccia degli oggetti?
{
//----------------------------------------------------------------------+
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));
//----------------------------------------------------------------------------------------+
Dove migliorare il codice per cambiare gli elementi freccia?
{
//----------------------------------------------------------------------+
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));
//----------------------------------------------------------------------------------------+
Dato che non hai mai postato tutto il codice, presumo (e dai parametri delle funzioni è ovvio) che si tratta di un codice di forex tsd che è alterato.
In questo caso la funzione
arrows_wind(i,"Up",Arr_otstup,242,Red,Arr_width,false);
deve essere sostituito con
arrows_wind(i,"Up",Arr_otstup,242,Red,Arr_width,true);
e
arrows_wind(i,"Dn",Arr_otstup,241,Aqua,Arr_width,true);
con
arrows_wind(i,"Dn",Arr_otstup,241,Aqua,Arr_width,false);
Ciao Guy.
Non sono sicuro che questo sia possibile, ma se qualcuno può farlo, quello sei tu.
Potresti codificare l'indicatore allegato in modo che venga visualizzato come istogramma nella parte inferiore del grafico?
Sono un uomo istogramma nato e cresciuto!
Buon fine settimana
Ciao Guy.
Non sono sicuro che questo sia possibile, ma se qualcuno può farlo, quello sei tu.
Potresti codificare l'indicatore allegato in modo che venga visualizzato come istogramma nella parte inferiore del grafico?
Sono un uomo istogramma nato e cresciuto!
Buon fine settimanaJeeves
Non sono sicuro che possa essere fatto in questo modo. Controlleremo
Molte grazie amico mio, lo apprezzo molto.
Se questo non è possibile, forse l'allegato qui sotto lo sarebbe. Credo che poi visualizzerebbero lo stesso risultato. Solo in un modo diverso.
Dovrei mettere tre istanze dell'indicatore MA cross sul grafico.... ma non è perfetto!
Se questo non è possibile, forse l'allegato qui sotto lo sarebbe. Credo che poi visualizzerebbero lo stesso risultato. Solo in modo diverso. Dovrei mettere tre istanze dell'indicatore MA cross sul grafico....ma non è perfetto!
Jeeves
Per quanto vedo questa versione funziona bene. Ho ragione?