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

 
il profitto dipende dalla dimensione del lotto... la dimensione del lotto dipende dalla dimensione della leva...
 

Di fronte a un problema:

Ho scritto un indicatore BBP MA Oscillator

Funziona bene sul grafico,

Ma quando lo chiamo dall'EA i dati non corrispondono.

I parametri impostati sono rispettivamente gli stessi.

BBP_0=iCustom("EURUSD",60, "BBP MA Oscillator",BBPPeriod9,MODE_SMA,SignalBBPPeriod9,MODE_SMMA,0,0);

La domanda è come è possibile?

 
//+------------------------------------------------------------------+
//|                                            BBP MA Oscillator.mq4 |
//|                                                   vasbsm@mail.ru |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "vasbsm@mail.ru"
#property link      ""

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Blue
#property  indicator_width1  2
//---- input parameters
extern int       BBPeriod=155;
extern int       TypeMA=MODE_SMA;
extern int       SignalMA=172;
extern int       Type_MA_Signal=MODE_SMMA;
//-----------------------------
double BBBuffer[];
double TempBuffer[];
double OsmaBuffer[];
double SignalBuffer[];

int init()
  {
   string short_name;
   IndicatorBuffers(4);
   IndicatorDigits(Digits);
   
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexDrawBegin(0, SignalMA);
   IndicatorDigits(Digits+2);
   
   SetIndexBuffer(0, OsmaBuffer);
   SetIndexBuffer(1, SignalBuffer);  
   SetIndexBuffer(2, BBBuffer);
   SetIndexBuffer(3, TempBuffer); 
   
   short_name="Bulls Bears Power MA("+ BBPeriod+","+ SignalMA+")";     
   IndicatorShortName( short_name);
   SetIndexLabel(0, short_name);   
   return(0);
  }
int deinit()
  {

   return(0);
  }
int start()
  {
   int counted_bars=IndicatorCounted();
   if(Bars<= BBPeriod) return(0);
//----------------------------------------------------------------
   int limit=Bars- counted_bars;
   if( counted_bars>0) limit++;
   for(int i=0; i< limit; i++)
      TempBuffer[ i]=iMA(NULL,0, BBPeriod,0, TypeMA,PRICE_CLOSE, i);
//----------------------------------------------------------------
   i=Bars- counted_bars-1;
   while( i>=0)
     {
      BBBuffer[ i]=High[ i]+Low[ i]-2* TempBuffer[ i];
      i--;
     }
   i=Bars- counted_bars-1;
   while( i>=0)
     {
      SignalBuffer[ i]=iMAOnArray( BBBuffer,Bars, SignalMA,0, Type_MA_Signal, i);
      i--;
     }
   i=Bars- counted_bars-1;
   while( i>=0)
     {
      OsmaBuffer[ i]= BBBuffer[ i]- SignalBuffer[ i];
      i--;
     }         
   return(0);
  }
 

Ora ho scoperto una caratteristica interessante...

(probabilmente è già descritto da qualche parte, ma cerco di usare prima il mio cervello e poi un libro di testo ;)))

Il che mi ha permesso di usare un altro criterio di selezione (filtro) di tipo IF

orders += OrderProfit()<1;

Oltre a un comune e tradizionale filtro IF che seleziona gli ordini necessari,

l'introduzione della condizione nel codice di cui sopra ha selezionato gli ordini con un profitto inferiore a 1.

*

Non so nemmeno se questo è corretto o no, ma sembra funzionare...

 
zfs >> :

Di fronte a un problema:

Ho scritto un indicatore BBP MA Oscillator

Funziona bene sul grafico,

Ma quando lo chiamo dall'EA i dati non corrispondono.

I parametri impostati sono rispettivamente gli stessi.

BBP_0=iCustom("EURUSD",60, "BBP MA Oscillator",BBPPeriod9,MODE_SMA,SignalBBPPeriod9,MODE_SMMA,0,0);

La domanda è come è possibile?

e se per default

BBP_0=iCustom(NULL,0, "BBP MA Oscillator",0,0);

e questo è ovviamente sbagliato

if( counted_bars>0) limit++

dovrebbe essere

if( counted_bars>0) limit--;
 

JavaDev, Granit77 grazie per le risposte..... e anche se non ho ancora ottenuto la risposta alla mia domanda principale, ho deciso di leggere ulteriormente il tutorial. Forse la risposta alla mia domanda diventerà più chiara nel processo.

 
GGeoZ >> :

...e anche se non ho ancora ottenuto una risposta alla mia domanda di base, ho deciso di leggere ulteriormente il libro di testo. Forse la risposta alla mia domanda diventerà più chiara nel processo.

Spero che SK. non stia guardando questo thread, quindi "condividerò ciò che ho letto" nel tutorial. Come un normale utente stupido, mi limito a saltare le parti incomprensibili nella speranza che "si risolva da solo". La tua domanda non mi è nemmeno venuta in mente (l'età, sai...). Per uso interno è stato accettato che int è tutto ciò che può essere contato sulle dita, e double - tutto il resto. :))

 
Gente, qualcuno può rispondere alla mia domanda... la cosa interessante è che l'ordine di divergenza è insignificante, ma critico... Sarei felice di condividere una strategia redditizia basata su questo e un altro indicatore. Ci può essere qualche errore nei calcoli...
 
granit77 писал(а) >>

Spero che SK. non stia guardando questo thread, quindi "condividerò ciò che ho letto" in un libro di testo. Come un normale utente stupido, mi limito a saltare le parti oscure nella speranza che "si risolva da solo". La tua domanda non mi è nemmeno venuta in mente (l'età, sai...). Per uso interno è stato accettato che int è tutto ciò che può essere contato sulle dita, e double - tutto il resto. :))

Bravo!!!

Era un piacere ridacchiare. Nemmeno io capisco le domande.

Per sicurezza, aggiungerei le dita del mio vicino.

 
Signori, vi prego di consigliarmi come calcolare la dimensione massima del lotto da aprire con tutti i fondi disponibili.