Aiuto per la codifica - pagina 515

 
mladen:
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?

 
popej30:
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

 
mladen:
Trova un SendEmail() e mettilo subito dopo questa linea

Super, funzionante ... grazie

 

Dove migliorare il codice per cambiare la freccia degli oggetti?

int deinit()

{

//----------------------------------------------------------------------+

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));

//----------------------------------------------------------------------------------------+

File:
vvv.jpg  95 kb
 
popej30:
Dove migliorare il codice per cambiare gli elementi freccia?
int deinit()

{

//----------------------------------------------------------------------+

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

File:
 
Jeeves:
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

Jeeves

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!

File:
 
Jeeves:
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?

Motivazione: