Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 117

 
Rustam Bikbulatov:
pagherei per questo?
Beh, se qualcuno con molto tempo può farlo, potresti essere fortunato. Ma per il resto, sì, il tempo è denaro, mi dispiace ;)

Oppure provate a farlo da soli, e qui riceverete aiuto - l'aiuto è solo per coloro che imparano da soli e non riescono a fare qualcosa.
 
Artyom Trishkin:
Inizia a scrivere. Quello che non funziona - chiedete - vi aiuteremo.

O vuoi che lo facciamo noi per te?
Volevo collegare questi indicatori, ma c'è un errore. Ho lottato tutto il giorno
File:
tyyu.mq4  5 kb
 
Rustam Bikbulatov:
Ho cercato di collegare questi indicatori, ma c'è un errore, e ho pasticciato tutto il giorno.
Mostrami il tuo codice, dove stai cercando di collegarli e cosa c'è di sbagliato?

Si prega di incollare il codice con il pulsante SRC per vedere cosa stai cercando di fare, invece di caricare questi codici nel tuo sistema, sono già troppo.
 
Rustam Bikbulatov:
Ho provato a collegare questi indicatori, ma esce un errore.
'start' - funzione già definita e con corpo sound Moving Averages.mq4 178 5

File:
 
Artyom Trishkin:
Mostra il tuo codice, dove stai cercando di collegarli e cosa non riesci a fare?

Per favore usa il pulsante SRC per vedere cosa stai cercando di fare invece di caricare questo codice nel tuo sistema - ce ne sono già troppi.
Vorrei sapere cos'è quel pulsante magico.
 
Rustam Bikbulatov:
se sapessi qual è il pulsante magico.

Oh, bene.

Leggi l'aiuto su come usare il forum. Vuoi un link o puoi trovarlo da solo?

 
//+------------------------------------------------------------------+
//|                                        Custom Moving Average.mq4 |
//|                      Copyright © 2004, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net/"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- indicator parameters
extern int MA_Period=13;
extern int MA_Shift=0;
extern int MA_Method=0;
extern double Alert_Level = 0;
//---- indicator buffers
double ExtMapBuffer[];
double Buffer2[];
//----
int ExtCountedBars=0;
int br1=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   int    draw_begin;
   string short_name;
//---- drawing settings
   SetIndexStyle(0,DRAW_LINE);
   SetIndexShift(0,MA_Shift);
   IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
   if(MA_Period<2) MA_Period=13;
   draw_begin=MA_Period-1;
//---- indicator short name
   switch(MA_Method)
     {
      case 1 : short_name="EMA(";  draw_begin=0; break;
      case 2 : short_name="SMMA("; break;
      case 3 : short_name="LWMA("; break;
      default :
         MA_Method=0;
         short_name="SMA(";
     }
   IndicatorShortName(short_name+MA_Period+")");
   SetIndexDrawBegin(0,draw_begin);
//---- indicator buffers mapping
   SetIndexBuffer(0,ExtMapBuffer);
//---- initialization done
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   if(Bars<=MA_Period) return(0);
   ExtCountedBars=IndicatorCounted();
//---- check for possible errors
   if (ExtCountedBars<0) return(-1);
//---- last counted bar will be recounted
   if (ExtCountedBars>0) ExtCountedBars--;
//----
   switch(MA_Method)
     {
      case 0 : sma();  break;
      case 1 : ema();  break;
      case 2 : smma(); break;
      case 3 : lwma();
     }
//---- done
   return(0);
  }
//+------------------------------------------------------------------+
//| Simple Moving Average                                            |
//+------------------------------------------------------------------+
void sma()
  {
   double sum=0;
   int    i,pos=Bars-ExtCountedBars-1;
//---- initial accumulation
   if(pos<MA_Period) pos=MA_Period;
   for(i=1;i<MA_Period;i++,pos--)
      sum+=Close[pos];
//---- main calculation loop
   while(pos>=0)
     {
      sum+=Close[pos];
      ExtMapBuffer[pos]=sum/MA_Period;
           sum-=Close[pos+MA_Period-1];
           pos--;
     }
//---- zero initial bars
   if(ExtCountedBars<1)
      for(i=1;i<MA_Period;i++) ExtMapBuffer[Bars-i]=0;
  }
//+------------------------------------------------------------------+
//| Exponential Moving Average                                       |
//+------------------------------------------------------------------+
void ema()
  {
   double pr=2.0/(MA_Period+1);
   int    pos=Bars-2;
   if(ExtCountedBars>2) pos=Bars-ExtCountedBars-1;
//---- main calculation loop
   while(pos>=0)
     {
      if(pos==Bars-2) ExtMapBuffer[pos+1]=Close[pos+1];
      ExtMapBuffer[pos]=Close[pos]*pr+ExtMapBuffer[pos+1]*(1-pr);
           pos--;
     }
  }
//+------------------------------------------------------------------+
//| Smoothed Moving Average                                          |
//+------------------------------------------------------------------+
void smma()
  {
   double sum=0;
   int    i,k,pos=Bars-ExtCountedBars+1;
//---- main calculation loop
   pos=Bars-MA_Period;
   if(pos>Bars-ExtCountedBars) pos=Bars-ExtCountedBars;
   while(pos>=0)
     {
      if(pos==Bars-MA_Period)
        {
         //---- initial accumulation
         for(i=0,k=pos;i<MA_Period;i++,k++)
           {
            sum+=Close[k];
            //---- zero initial bars
            ExtMapBuffer[k]=0;
           }
        }
      else sum=ExtMapBuffer[pos+1]*(MA_Period-1)+Close[pos];
      ExtMapBuffer[pos]=sum/MA_Period;
           pos--;
     }
  }
//+------------------------------------------------------------------+
//| Linear Weighted Moving Average                                   |
//+------------------------------------------------------------------+
void lwma()
  {
   double sum=0.0,lsum=0.0;
   double price;
   int    i,weight=0,pos=Bars-ExtCountedBars-1;
//---- initial accumulation
   if(pos<MA_Period) pos=MA_Period;
   for(i=1;i<=MA_Period;i++,pos--)
     {
      price=Close[pos];
      sum+=price*i;
      lsum+=price;
      weight+=i;
     }
//---- main calculation loop
   pos++;
   i=pos+MA_Period;
   while(pos>=0)
     {
      ExtMapBuffer[pos]=sum/weight;
      if(pos==0) break;
      pos--;
      i--;
      price=Close[pos];
      sum=sum-lsum+price*MA_Period;
      lsum-=Close[i];
      lsum+=price;
     }
//---- zero initial bars
   if(ExtCountedBars<1)
      for(i=1;i<MA_Period;i++) ExtMapBuffer[Bars-i]=0;
  }
//+------------------------------------------------------------------+

int start()
   {int limit;
    int counted_bars = IndicatorCounted();
//---- check for possible errors
    if(counted_bars < 0)
        return(-1);
//---- last counted bar will be recounted
    if(counted_bars > 0)
        counted_bars--;
    limit = Bars - counted_bars;
    if(counted_bars==0) limit--;
//----
    for(int i = limit; i >=0; i--)
    //for(int i = 1000; i >=0; i--)
       {
        Buffer2[i]=iMA(NULL,1,60,0,1,6,0);
       }
    if(((Buffer2[2]<0 && Buffer2[1]>Alert_Level) ||
        (Buffer2[2]>0 && Buffer2[1]<Alert_Level)) && br1<Bars  )
      {
       PlaySound("alert.wav"); Sleep(500);
       PlaySound("alert.wav"); Sleep(500);
       PlaySound("alert.wav"); br1=Bars;
       Alert("На ",Symbol()," \"", "\" пересечение с =0= ");
       Print("На ",Symbol()," \"", "\" пересечение с =0= ");
      }
  }
//+------------------------------------------------------------------+
 

un'altra cosa divertente

doppio OP = 5.00000

TP = (OP/100);

Stampa("TP= ",TP);

2017.02.09 21:36:03.650 2015.01.05 04:00:00 martin H1-1 USDJPY,H1: TP= 0.5

Non capisco da quando si divide 5 per 100 per essere 0,5

Ho capito - per qualche motivo il terminale non supporta colori diversi e prende quello che è già presente in altre funzioni

 
trader781:
...

il terminale non supporta colori diversi e prende qualcosa che esiste già in altre funzioni

In oggetti? Sciocchezze.
 
Artyom Trishkin:
Oggetti? Stronzate.
Artyom, il codice che ho lanciato sopra