[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 259

 
ma questo è tutto.
//+------------------------------------------------------------------+
//|                                                      5 fkkjd.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//---- input parameters
extern double      urov_h1_1=1;
.....
extern double      urov_D_4=1;
extern double      urov_D_5=1;

double urov_h1[], urov_h4[], urov_D[];
int svechi_ball, urov_ball, stoh;
int i;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   //*******
   urov_h1[0]= urov_h1_1;   urov_h1[1]= urov_h1_2;   urov_h1[2]= urov_h1_3;   urov_h1[3]= urov_h1_4;
   urov_h1[4]= urov_h1_5;   urov_h1[5]= urov_h1_6;   urov_h1[6]= urov_h1_7;   urov_h1[7]= urov_h1_8;
   urov_h1[8]= urov_h1_9;   urov_h1[9]= urov_h1_10;  urov_h1[10]= urov_h1_11; urov_h1[11]= urov_h1_12;
   urov_h1[12]= urov_h1_13; urov_h1[13]= urov_h1_14; urov_h1[14]= urov_h1_15;
   //*******
   urov_h4[0]= urov_h4_1;   urov_h4[1]= urov_h4_2;   urov_h4[2]= urov_h4_3;   urov_h4[3]= urov_h4_4;
   urov_h4[4]= urov_h4_5;
   //******* 
   urov_D[0]= urov_D_1;   urov_D[1]= urov_D_2;   urov_D[2]= urov_D_3;   urov_D[3]= urov_D_4;
   urov_D[4]= urov_D_5;
   //*******

  //+++++медвежье поглощение++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  for( i=0; i<15; i++)
   {
   if( medvejye_poglochenie( urov_h1[ i])==true)
      {
      svechi_ball=4;
      urov_ball=3;
      text( svechi_ball, urov_ball);
      }
   }
  /*bool medv_po_h1_1=medvejye_poglochenie(urov_h1_1);
  bool medv_po_h1_2=medvejye_poglochenie(urov_h1_2);
  ............
  bool medv_po_h1_15=medvejye_poglochenie(urov_h1_15);
  //**
   //****стохастик
  double st_2=iStochastic(Symbol(),60,6,1,2,MODE_EMA,0,MODE_MAIN,2);    
  double st_1=iStochastic(Symbol(),60,6,1,2,MODE_EMA,0,MODE_MAIN,1);    

  if(medv_po_h1_1==true || medv_po_h1_2==true || medv_po_h1_3==true || medv_po_h1_4==true || medv_po_h1_5==true || medv_po_h1_6==true
     || medv_po_h1_7==true || medv_po_h1_8==true || medv_po_h1_9==true || medv_po_h1_10==true || medv_po_h1_11==true || medv_po_h1_12==true
     || medv_po_h1_13==true || medv_po_h1_14==true || medv_po_h1_15==true)
      {
      svechi_ball=4;
      urov_ball=3;
      if(st_2>st_1 && st_2>70 && st_1>70) stoh=2;
      else if(st_2>st_1 && st_2<70 && st_1<70) stoh=1;
      else stoh=0;
      text(svechi_ball,urov_ball,stoh);
      }
  if(medv_po_h4_1==true || medv_po_h4_2==true || medv_po_h4_3==true || medv_po_h4_4==true || medv_po_h4_5==true)
      {
      svechi_ball=4;
      urov_ball=4;
      if(st_2>st_1 && st_2>70 && st_1>70) stoh=2;
      else if(st_2>st_1 && st_2<70 && st_1<70) stoh=1;
      else stoh=0;
      text(svechi_ball,urov_ball,stoh);
      }
  if(medv_po_D_1==true || medv_po_D_2==true || medv_po_D_3==true || medv_po_D_4==true || medv_po_D_5==true)
      {
      svechi_ball=4;
      urov_ball=5;
      if(st_2>st_1 && st_2>70 && st_1>70) stoh=2;
      else if(st_2>st_1 && st_2<70 && st_1<70) stoh=1;
      else stoh=0;
      text(svechi_ball,urov_ball,stoh);
      }*/
  return(0);
  }

no

C'è qualcosa di sbagliato in questo pezzo di codice, e non so cosa sia.

for( i=0; i<15; i++)
   {
   if( medvejye_poglochenie( urov_h1[ i])==true)
      {
      svechi_ball=4;
      urov_ball=3;
      text( svechi_ball, urov_ball);
      }
   }

Sinceramente.

 
alsu >> :

doppio iCustom(simbolo stringa, int timeframe, nome stringa, ..., int mode, int shift)
Calcolo dell'indicatore personalizzato specificato. L'indicatore personalizzato deve essere compilato (file con estensione EX4) e situato nella directory terminal_expertsindicators.
Parametri:
simbolo - Nome del simbolo, sui cui dati verrà calcolato l'indicatore. NULL significa simbolo corrente.
timeframe - Periodo. Può essere uno dei periodi del grafico. 0 significa il periodo del grafico corrente.
nome - Nome dell'indicatore personalizzato.
... - Elenco dei parametri (se necessario). I parametri trasmessi devono corrispondere all'ordine di dichiarazione e al tipo di variabili esterne (extern) dell'indicatore personalizzato.
modo - Indice della linea dell'indicatore. Può essere da 0 a 7 e dovrebbe corrispondere all'indice usato da una delle funzioni SetIndexBuffer.
turno - Indice del valore ottenuto dal buffer dell'indicatore (spostamento relativo alla barra corrente del numero specificato di periodi indietro).
Esempio:


>> aiuto!

GRAZIE UN ENORME GRAZIE non avrei mai trovato iCustom in>> MQL4 Reference - Technical Indicators - iCustom (cercato altrove, ma non qui)

Grazie un enorme GRAZIE ancora!

 

Saluti!

Sto cercando di insegnare a MT4 a identificare le barre che superano l'ATR(60) sul grafico:

extern inttern Quant_Bars=1000; // Numero di barre


int start()
{
int Ind_Bar;

for(Ind_Bar=Quant_Bars-1; Ind_Bar>=0; Ind_Bar--)
{
Create(Ind_Bar);
}

ritorno;
}
//--------------------------------------------------------------- 3 --
int Create(int Ind_Bar) // Funzione definita dall'utente per creare un oggetto

{
Colore Color=Red; //Colore dell'oggetto
datetime T_Bar=Time [Ind_Bar]; // Tempo di apertura della barra
double O_Bar=Open [Ind_Bar]; // Prezzo di apertura della barra
double C_Bar=Close[Ind_Bar]; // Prezzo di chiusura di una barra
double H_Bar=High [Ind_Bar]; // Prezzo massimo della barra
double L_Bar=Low [Ind_Bar]; // Prezzo minimo della barra
doppio A= iATR(Symbol(),0,60,Ind_Bar);


se((H_Bar-L_Bar)>A)
ObjectCreate("His_Name",OBJ_TREND,0,T_Bar,H_Bar,T_Bar,L_Bar);
ritorno;
}

... Per qualche motivo, riempie solo una barra (la prima a sinistra, secondo me), anche se dovrei avere tutto entro 1000-0 barre. Si prega di consigliare dove si trova l'errore?

 

Non riesco a capire dove collegare le staffe... aiutatemi per favore!

	if((( b1+ b1_2)>0) || (( b2+ b2_2)>=0) || (( s1+ s1_2)<0) || (( s2+ s2_2)<=0))
	{
	if( T1green!=0 && T2red==0)
	}
	else 
	if( Flat!=0) return(0);
	{
	SigBuy=true;
	}
	if((( b1+ b1_2)>0) || (( b2+ b2_2)>=0) || (( s1+ s1_2)<0) || (( s2+ s2_2)<=0))
	{
	if( T1red!=0 && T2green==0)
	}
	else if( Flat!=0) return(0);
	{	
	SigSell=true;
	}

=>

'}' - unbalanced parentheses
'}' - unbalanced parentheses

 
Ibiss >> :

Non riesco a capire dove mettere le staffe... aiutatemi per favore!

=>

Non sono due parentesi che mancano, non c'è nessuna struttura:

if(){}else{}//вот так 

if()// или так 
  {}
else
  {}
// и в зависимости от необходимости строите структуру 
if()
  {if(){}else{}}
else
  {if(){}}// простым скопировал вставил 

e poi mettere le condizioni e gli operatori giusti nella struttura.

	if((( b1+ b1_2)>0) || (( b2+ b2_2)>=0) || (( s1+ s1_2)<0) || (( s2+ s2_2)<=0))
	{
	if( T1green!=0 && T2red==0)// что это условие должно разрешать ????????????
	}
	else 
	if( Flat!=0) return(0);//тут вылетаем по ретурну дальше код не исполняется 
	{
	SigBuy=true;// по какому условию выполняется этот оператор ???????????
	}
	if((( b1+ b1_2)>0) || (( b2+ b2_2)>=0) || (( s1+ s1_2)<0) || (( s2+ s2_2)<=0))
	{
	if( T1red!=0 && T2green==0)// что это условие должно разрешать ????????????
	}
	else if( Flat!=0) return(0);//тут вылетаем по ретурну дальше код не исполняется 
	{	
	SigSell=true;// по какому условию выполняется этот оператор ???????????
	}

pppppppp

 
Ok, farò un tentativo, grazie!
 
Urain >> :

Non sono due parentesi che mancano, non c'è nessuna struttura:

e poi inserire le condizioni e gli operatori richiesti nella struttura.

pppppppp


Non funziona così.

Cosa devo fare correttamente per il mio caso?

if(...........)//если условие выполнилось,то
{
if(T1green!=0 && T2red==0)//и это выполнилось..  ...это типо максд
}
else 
if(Flat!=0) return(0);//это пролетаем, выполняется следующее
{
SigBuy=true;// включение покупки
}
 
Come faccio a mettere dei codici a colori nei miei post?
 
c'è un modo per fare un grafico di candele a 10 minuti?
 

Salve. Per favore aiutatemi a rifare il Period Converter Opt.

Ecco il succo del discorso.

Per esempio, formiamo barre di 8 ore (tempo terminale) da barre di 1 ora. Otteniamo una serie: 0, 8, 16, 0 ore, ecc.

Vorrei essere in grado di impostare un offset nel convertitore. Questo spostamento può essere fatto nel numero di barre del TF sulla base del quale si forma quello richiesto. Se è formato sulla base di 1 ora, allora il turno sarà espresso in ore... Se è formato sulla base di 15 minuti, allora il turno sarà di 15, 30, 45 minuti....

Inoltre, il tempo nel terminale differisce anche dal "mio" tempo di 2 ore. => scomodo avvicinarsi al terminal alle 2 del mattino MSC.

Così, quando si forma il timeframe di 8 ore con un offset di +3 (per esempio) otterremo una nuova serie: 3, 11, 19, 3, ecc. Oppure l'offset (-2) darà: 22, 6, 14, 22, ecc. Anche se è possibile limitarlo al più

compensato.


Lo scopo dell'offset è di evitare che la barra si formi completamente durante il periodo di sonno del trader.


Ecco come vorrei perfezionare Period Converter Opt.
Motivazione: