Aiuto per la codifica - pagina 712

 
mladen:
Il metodo è esattamente lo stesso - basta cambiare la finestra di destinazione nel ChartIndicatorAdd() per essere 0

Ciao mladen, grazie per la risposta... stavo studiando qui...

ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle);

dove (1) finestra superiore

CharGetInteger(1=>finestra superiore)

dove (0) sotto

ChartIndicatorAdd(0,(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL),RSI1Handle);
CharGetInteger(0=>sotto)

non è facile scoprire questo... lol

ora sto cercando di mettere un colore diverso nella MA
 
baraozemo:

Ciao mladen, grazie per la risposta... stavo studiando qui...

ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle);

dove (1) finestra superiore

CharGetInteger(1=>finestra superiore)

dove (0) sotto

ChartIndicatorAdd(0,(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL),RSI1Handle);
CharGetInteger(0=>sotto)

non è facile scoprire questo... lol

ora sto cercando di mettere un colore diverso nella MA

Come questo

ChartIndicatorAdd(0,0,MA1Handle);
 
mladen:

Come questo

ChartIndicatorAdd(0,0,MA1Handle);

la questione di mettere l'indicatore in alto o in basso, come ho detto, ho scoperto...

ChartIndicatorAdd(0,1,MA1Handle); (sopra)

ChartIndicatorAdd(0,2,RS1Handle); (sotto)

i problemi reali:

1) ora sto cercando di applicare un colore diverso ai MA

2) e risolvere un problema per liberare i MA dalla grafica (gli RSI e il WPR sono puliti correttamente... )

per esempio...

l'RSI1,RSI2,RSI3 e WPR è pulito correttamente ma il MA1,MA2,MA3 non è pulito...

int OnInit()

  {

  

  if (_Period==Signal_0_MA_Timeframe)  

   {

   MA1Handle = iMA(_Symbol,Signal_0_MA_Timeframe,Signal_0_MA_PeriodMA,Signal_0_MA_Shift,Signal_0_MA_Method,Signal_0_MA_Applied);

   if (MA1Handle!=INVALID_HANDLE)

      ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle);

      //return(INIT_SUCCEEDED);

   }

  

  //---adicionando MA2

  if (_Period==Signal_1_MA_Timeframe)

   {

   MA2Handle = iMA(_Symbol,Signal_1_MA_Timeframe,Signal_1_MA_PeriodMA,Signal_1_MA_Shift,Signal_1_MA_Method,Signal_1_MA_Applied);

   if (MA2Handle!=INVALID_HANDLE)

      ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA2Handle);

      //return(INIT_SUCCEEDED);      

   }   



===============================//===========================


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

//| Deinitialization function of the expert                          |

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

void OnDeinit(const int reason)

  {

   //limpa do gráfico os indicadores RSI e WPR

    for (int w = (int)ChartGetInteger(0,CHART_WINDOWS_TOTAL); w>=0; w--)

   {

      string name = ChartIndicatorName(0,w,0);

      if (StringFind(name,"RSI(",0)==0)

            ChartIndicatorDelete(0,w,name);

      if (StringFind(name,"%R(",0)==0)

            ChartIndicatorDelete(0,w,name);

      if (StringFind(name,"Moving Average(",0)==0)

            ChartIndicatorDelete(0,w,name);

   }         

   

   ExtExpert.Deinit();

  }

 
baraozemo:

la questione di mettere l'indicatore in alto o in basso, come ho detto, ho scoperto...

ChartIndicatorAdd(0,1,MA1Handle); (sopra)

ChartIndicatorAdd(0,2,RS1Handle); (sotto)

i problemi attuali:

1) ora sto cercando di applicare un colore diverso alle MA

2) e risolvere un problema per liberare le MA dai grafici (le RSI e le WPR sono pulite correttamente... )

per esempio...

l'RSI1,RSI2,RSI3 e il WPR sono puliti correttamente ma il MA1,MA2,MA3 non è pulito...

int OnInit()

  {

  

  if (_Period==Signal_0_MA_Timeframe)  

   {

   MA1Handle = iMA(_Symbol,Signal_0_MA_Timeframe,Signal_0_MA_PeriodMA,Signal_0_MA_Shift,Signal_0_MA_Method,Signal_0_MA_Applied);

   if (MA1Handle!=INVALID_HANDLE)

      ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle);

      //return(INIT_SUCCEEDED);

   }

  

  //---adicionando MA2

  if (_Period==Signal_1_MA_Timeframe)

   {

   MA2Handle = iMA(_Symbol,Signal_1_MA_Timeframe,Signal_1_MA_PeriodMA,Signal_1_MA_Shift,Signal_1_MA_Method,Signal_1_MA_Applied);

   if (MA2Handle!=INVALID_HANDLE)

      ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA2Handle);

      //return(INIT_SUCCEEDED);      

   }   



===============================//===========================


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

//| Deinitialization function of the expert                          |

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

void OnDeinit(const int reason)

  {

   //limpa do gráfico os indicadores RSI e WPR

    for (int w = (int)ChartGetInteger(0,CHART_WINDOWS_TOTAL); w>=0; w--)

   {

      string name = ChartIndicatorName(0,w,0);

      if (StringFind(name,"RSI(",0)==0)

            ChartIndicatorDelete(0,w,name);

      if (StringFind(name,"%R(",0)==0)

            ChartIndicatorDelete(0,w,name);

      if (StringFind(name,"Moving Average(",0)==0)

            ChartIndicatorDelete(0,w,name);

   }         

   

   ExtExpert.Deinit();

  }

La media mobile sinusoidale ha solo un nome "Moving average" che non è possibile identificare in modo univoco, quindi non è possibile eliminarla in modo sicuro
 

Mladen, 1) si prega di aiutare a rendere le cifre rotonde in iCustom a 0,1 o 0,01 massimo.

e spiegare, per favore come inserire "value2" (o3) al posto della media predefinita dell'indicatore?

iCustom(symbolName,PeriodMinutes,"_1_IFT 2-1",0,i)

 

CIAO signor mladen

Ho eseguito questo indicatore{ssa_squeeze_of_averages_mtf_amp_alerts_2.mq4} ma non può mostrare nulla

potresti risolvere il problema?

i migliori saluti

e potreste fare l'MTF di questo indicatore:ma_count_amp_alerts.mq4

MTF simile a questo istogramma:

 
bilbao:

CIAO signor mladen

Ho eseguito questo indicatore{ssa_squeeze_of_averages_mtf_amp_alerts_2.mq4} ma non può mostrare nulla

potresti risolvere il problema?

i migliori saluti

e potreste fare l'MTF di questo indicatore:ma_count_amp_alerts.mq4

MTF simile a questo istogramma:

Hai bisogno di "SSA del prezzo" per la ssa_squeeze . .. per funzionare
 
kostumer27:

Mladen, 1) si prega di aiutare a rendere le cifre rotonde in iCustom a 0,1 o 0,01 massimo.

e spiegare, per favore come inserire "value2" (o3) al posto dell'indicatore predefinito?

iCustom(symbolName,PeriodMinutes,"_1_IFT 2-1",0,i)

Dipende dalla lista dei parametri dell'indicatore, ma devi passare i parametri tra il nome dell'indicatore e il numero del buffer

Qualcosa del genere:

iCustom(symbolName,PeriodMinutes,"_1_IFT-1",yourParameter1,yourParameter2,yourParameter3,yourParameter9999,0,i)

L'altra parte, non capisco

Se intendete a caldo limitare i valori di ritorno, non potete farlo. Potete solo limitare il valore assegnato a qualcosa dalla chiamata iCustom(), come questa

double result = MathMax(MathMin(iCustom(symbolName,PeriodMinutes,"_1_IFT 2-1",0,i),0.1),0.01);
 
mladen:
Avete bisogno di "SSA di prezzo" per il ssa_squeeze . .. per funzionare

grazie.

ora funziona

 

signor mladen :

potrebbe fare MTF di esso

simile questa immagine istogramma

migliore considerazione