[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 231

 
Il metodo MA è infatti strettamente impostato, ma è il metodo più "corretto". Il tipo di prezzo, d'altra parte, ha un'ampia scelta. Non ci sono colori, però. Ma sono davvero necessari?
 

Sono d'accordo con te sul colore, ma mi piacerebbe poter cambiare il metodo MA. Forse puoi dirmi come farlo correttamente. Per esempio, se attraverso il meta-editor copiate una parte del codice che è responsabile del metodo MA dall'aligatore (per esempio) e lo incollate nel codice MASD? O è ancora un'idea folle?

 
kiroyama:

Forse puoi dirmi come farlo bene.

Lo farò e vi chiedo di prendere sul serio il consiglio. Vale la pena imparare a programmare. Non è così difficile come può sembrare. I benefici saranno enormi!
 

Una settimana fa - più di una settimana - ho iniziato a capire come scrivere indicatori e ho deciso di scrivere almeno qualcosa. Ok, non c'è niente nel codice. Ma non traccia nemmeno una linea!!! Non so dove, ma non vedo segni di vita dell'indicatore, come dicono!!!!!!.

Forse non ho scritto qualcosa di importante, una specie di comando per disegnarlo... Il layout russo - beh, è conveniente per me quindi per

//+------------------------------------------------------------------+
//|                                          поиск вульфа Димона.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_chart_window

#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
double ВерхняячертаBuffer1[];
double НижняячертаBuffer2[];

 double вершина; 
 double основание_первого_снижения;
 double начало;
 double вершина_волны_3;
 
 int timeframe, start ;
 int бар_вершина ;
 int бар_основание_первого_снижения;
 int бар_начало;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()

  {SetIndexStyle(0,DRAW_SECTION,STYLE_SOLID,2,CLR_NONE);Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(0,ВерхняячертаBuffer1);Alert ("SetIndexBuffer ",GetLastError( ) );
   SetIndexEmptyValue(0,0.0);
   
   SetIndexStyle(1,DRAW_SECTION,STYLE_SOLID,2,CLR_NONE);Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(1,НижняячертаBuffer2);Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue(1,0.0);
//---- indicators




//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----

  // for(int i=Bars; i>=0;i--)
  int i=Bars;
       бар_вершина=iHighest( NULL,  timeframe, MODE_HIGH, i, start ) ;
       вершина =High[ бар_вершина ];
       бар_основание_первого_снижения=iLowest( NULL,  timeframe, MODE_LOW, бар_вершина, start ) ;
       основание_первого_снижения=Low[ бар_основание_первого_снижения ];
       бар_начало=iLowest( NULL,  timeframe, MODE_LOW, бар_вершина*2, бар_вершина ) ;
       начало=Low[ бар_начало ];
       
         
  
    НижняячертаBuffer2[бар_начало]=начало;
    НижняячертаBuffer2[бар_основание_первого_снижения]=основание_первого_снижения;
    
     int бар_проверка=iLowest( NULL,  timeframe, MODE_LOW, 5, 150 ) ;
     double проверка=Low[ бар_проверка ];
    ВерхняячертаBuffer1[бар_проверка]=проверка;
    ВерхняячертаBuffer1[бар_основание_первого_снижения]=основание_первого_снижения;
    
//----
   return(0);
  }
//+------------------------------------------------------------------+

me stesso.

 
kiroyama:

Sono d'accordo con te sul colore, ma mi piacerebbe poter cambiare il metodo MA. Forse puoi dirmi come farlo correttamente. Per esempio, se attraverso il meta-editor copiate una parte del codice che è responsabile del metodo MA dall'aligatore (per esempio) e lo incollate nel codice MASD? O è ancora un'idea folle?

Possiamo usare il codice diMetaQuotes per sostituire la MA appropriata per il MACD e anche il prezzo. Ho recentemente pubblicato un indicatore per Bollinger con possibilità di impostare MA e prezzi. Se sei interessato a tale modifica per il MACD, sulla base della descrizione della formula di calcolo MetaQuotes scrivimi nel tuo messaggio personale dove e come modificarlo.

 

C'è scritto troppo nel tuo primo indicatore perché funzioni correttamente.
Infatti, iniziate con uno più semplice. Disegna una linea orizzontale.
Un indicatore senza un ciclo è come una notte di nozze senza una sposa.
Mettere in un ciclo e buttare via l'80% dei lati.

 

Grazie. Ma sì, conosco quel codice-ahinea, e voglio, esattamente, E in realtà, iniziare con qualcosa di più semplice. Disegna una linea orizzontale.

E non dà segni di vita!!! Beh, non orizzontale, comunque sia!!! Ho definito due buffer, ho definito lo stile di linea nell'Inite, ho collegato i buffer agli array... Non voglio vedere una linea! Questo è il punto!

Per favore, chissà, forse ho scritto SetIndexStyle sbagliato, o qualcosa... o qualcosa... Ho impostato due punti per la linea

TopBuffer1[bar_check]=check;
TopBuffer1[bar_base_first_decrease]=base_first_decrease; Che altro?

 
Una linea è composta da punti. Trovate un posto nel vostro programma che specifichi quanti punti disegnare.
 
Grazie!
 
Finire nel programma:
ВерхняячертаBuffer1[0]=25;
ВерхняячертаBuffer1[1]=25;
ВерхняячертаBuffer1[2]=25;
ВерхняячертаBuffer1[3]=25;
ВерхняячертаBuffer1[4]=25;
ВерхняячертаBuffer1[5]=25;
ВерхняячертаBuffer1[6]=25;
ВерхняячертаBuffer1[7]=25;
ВерхняячертаBuffer1[8]=25;
ВерхняячертаBuffer1[9]=25;
ВерхняячертаBuffer1[10]=25;
ВерхняячертаBuffer1[11]=25;
...

e poi pensare a cosa mancava