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

 
supernyb:

ma per l'output, capisco che la stampante stampa solo 4 o meno cifre.

allora se Print (DoubleToStr(Startprice,5)); // stampa Startprice

dà 5.

Ma quando si aggiunge una barra del tempo

Questa linea non aggiunge il tempo del bar?



string name="Pr1_";
string cur_name=name+Time[0];
 
supernyb:


se è così.

non funziona, dà la colpa a '=' - tipi incompatibili C:fortest\experts\sve.mq4 (34, 14)

Come si scrive correttamente?

Grazie per la risposta, ci sto lavorando già da una settimana)


Prova così:

 extern int MA_Period = 50;                   //периуд Ма
extern int MA_Method =MODE_SMA;               //Метод усреднения скользящего среднего. Может быть любым из значений методов скользящего среднего (Moving Average):
                              //*MODE_SMA 
                              
 extern int Maximum_History = 0;              //Ограничение истории для расчетов, если 0 то расчет всей истории
 
   
    
                                               //начало кода советника
int start()
{      
    double MA4;                                // Значение МА на 4 баре     
    double Startprice;
  
   MA4=iMA(NULL,0,MA_Period,0,MA_Method,PRICE_CLOSE,4); 
 
   
 if  (Low[4]< MA4 && MA4 < High[4])            //условия если 4-я свеча лежит в скользящей  
     {      
   Startprice=Close[0];
     }
       
   Print (DoubleToStr(Startprice,5));          // распечатаем Startprice
     
      
   datetime TmR1=Time[0];                      // запоминаем время текущего бара? 
   
       ObjectCreate("Rep1"+TmR1,OBJ_ARROW, 0, TmR1, Startprice); // создаем обьект 
       ObjectSet("Rep1", OBJPROP_COLOR, White); // устанавливаем обьект на график
       ObjectSet("Rep1", OBJPROP_ARROWCODE,71); 
      
     return(0); 
 }    
 
supernyb:

ma per l'output, capisco che la stampante stampa solo 4 o meno cifre.

allora se Print (DoubleToStr(Startprice,5)); // stampa Startprice

dà 5.

Ma quando si aggiunge una barra del tempo

Questa linea non aggiunge il tempo del bar?


 
Roger:
Mostra come hai ottenuto bay_min.


 if (StochM < St_min && StochS < St_min) 
   bay_min = true;
 
r772ra:
if (bay_min == true)   datetime T=Time[0] //сработал сигнал на покупку запоминаем время  бара

if(iBarShift(NULL,0,T)==2) //по времени, сигнал был на 2 баре
   {   
  if (Open[1]<Close[1] && Open[2]<Close[2] )   //и эти бары бычьи 
     { 
    // что-то делаем
     }
   }
   
// я думаю, как-то так.

Grazie, la logica è chiara, ma ha smesso del tutto di aprire un trade
проблема в этой строчке
if(iBarShift(NULL,0,T)==2) //по времени, сигнал был на 2 баре
 
Si prega di avvisare. Il mio indicatore ZigZag è in overdrawing. Disegna un certo oggetto sul grafico. Quando il prezzo cambia ed è necessario cancellare l'oggetto, l'oggetto viene cancellato, ma il valore del buffer nel grafico rimane. Come cancellare anche il vecchio valore, non solo dal grafico? Se puoi codificare o mostrare dove è implementato nello zigzag?
 
Dimka-novitsek:
Come faccio a insegnare al computer a eseguire questo compito strettamente commerciale freni bizzarri? Altrimenti, la leva dello speed tester risponde solo se vuole! Il ritardo è spesso di 3-8 secondi. Menzionare tutte le donne cattive!
Buona giornata!
 
Dimka-novitsek:
Come faccio a insegnare al computer a eseguire questo compito strettamente commerciale freni bizzarri? Altrimenti, la leva dello speed tester risponde solo se vuole! Il ritardo è spesso di 3-8 secondi. Menzionare tutte le donne cattive!


Fare del proprio meglio
 



Rapporto del tester di strategia

subot11
(Costruire 438)

SimboloEURUSD (Euro contro Dollaro USA)
Periodo1 ora (H1) 2005.01.24 00:00 - 2012.09.26 23:00 (2005.01.24 - 2012.09.27)
ModelloTutte le zecche (metodo più accurato basato su tutti i più piccoli timeframe disponibili)
ParametriParametri=" EA"; lot=1; lot2=1; Magic_Number=68705; yroven=120; pr=50; sp=16; MA_Period=50; Maximum_History=0;

Bar nella storia48438Zecche modellate62876826Qualità della simulazione90.00%
Errori di mancata corrispondenza dei grafici0




Deposito iniziale10000.00



Utile netto7635.00Profitto totale41380.00Perdita totale-33745.00
Redditività1.23Payoff previsto16.71

Dispersione assoluta2271.00Massimo prelievo3769.00 (32.78%)Prelievo relativo32.78% (3769.00)

Totale scambi457Posizioni corte (% vittoria)0 (0.00%)Posizioni lunghe (% vittoria)457 (24.29%)

Operazioni redditizie (% di tutte)111 (24.29%)Operazioni in perdita (% di tutte)346 (75.71%)
Il più grandecommercio redditizio600.00perdere l'accordo-150.00
Mediaaffare redditizio372.79commercio perdente-97.53
Numero massimovittorie continue (profitto)5 (2020.00)Perdite continue (perdita)20 (-2114.00)
MassimoProfitto continuo (numero di vittorie)2098.00 (4)Perdita continua (numero di perdite)-2114.00 (20)
Mediavincite continue2perdita continua5




Sono riuscito a creare il mio EA. L'ho eseguito con uno spread fisso di 19. Dal 2005. Sempre stop loss. Prendete sempre. Non usa la media e martin. Le posizioni vengono chiuse nel corso della giornata, cioè non vengono trasferite al giorno successivo.

Il mio programmatore è pessimo, per usare un eufemismo.

 
artmedia70:

Sono stato via per qualche giorno... Mi sto chiedendo - le procedure guidate gettate sul grafico hanno gli stessi parametri delle procedure guidate usate nei calcoli? Forse è lì il problema?

Naturalmente, hanno gli stessi parametri. Qui, in modalità test, ho aperto le proprietà di un dato MA...

Parametri MA

artmedia70:

(Non ho ancora avuto il tempo di approfondire il codice e smontarlo).

È tutto scritto molto semplicemente, così chiunque può capirlo a colpo d'occhio :)

artmedia70:

Io farei una funzione, per esempio:

//-----------------------------------------------------------------------------+
double ma(int MAperiod, int MAmethod, int MAshift) {return (iMA(Symbol(), Period(), MAperiod, 0, MAmethod, PRICE_OPEN,MAshift));}
//-----------------------------------------------------------------------------+
e l'ha chiamato per ottenere i parametri


Ci stavo pensando inizialmente quando ho scritto l'intero Expert Advisor, non questo. MA. iMA è già una funzione. Chiamando la funzione iMA, è possibile inserire qualsiasi parametro, alcuni con variabili dichiarate globalmente, e alcuni di default, per esempio. Il punto è che che senso ha chiamare una funzione da una funzione se non ha alcun senso?