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

 

Aiuto!!! sto lottando da tre ore!!! Non posso assegnare la variabile order=Close[1]. L'idea è che al momento di effettuare l'ordine di ricordare il prezzo, come era in quel momento.

Poi puoi confrontarlo con il prezzo attuale e spostare lo stop loss o il take profit,

Forse sono un idiota, ma dovrei saperlo bene.

Grazie in anticipo.

//+------------------------------------------------------------------+
//| Tester.mq4 |
//| Dimon |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#proprietà copyright "Dimon"
#proprietà link "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'esperto |
//+------------------------------------------------------------------+

extern int BandsPeriod=20,i=1 ;extern int BandsShift=0;
extern double BandsDeviations=2.0;
extern double Lots=0.1,TakeProfit=50,stoploss=10 ;double PointX;extern int parametrA=2;
int init()
{ if(Digits==5 || Digits==3) PointX = Point * 10; // Punto di correzione per tre-cinque cifre
if(Digits==4 || Digits==2) PointX = Point;
//----
Allarme ("PuntoX",PuntoX);
//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di deinizializzazione esperto |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di inizio esperto |
//+------------------------------------------------------------------+
int start()
{double order, newloss=12;Alert (" order ",order);
se (parametrA==0){
int total=OrdersTotal();// Comment(" total ",total); Alert (" total ",total);
if ( totale !=0 ){return;}

doppio Media, Verhnyayaghranytsa, Nyzhnyayaghranytsa, newres, somma, deviazione;
stringa di testo; int ticket; int err;
text="campione macd";}else { Comment("boa!",Verhnyayaghranytsa );
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-stoploss*PointX,Ask+TakeProfit*PointX, "macd sample",16384,0,Green);
Allarme (" stoploss ",Ask-stoploss*PointX); Allarme (" parametrA ",parametrA);
order=Close[1];Comment("buoy!order ",order );parametrA--;
}
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+

 
Ho appena iniziato a scrivere un EA per mt4 usando Gordago forex optimizer, sono bravo con l'algoritmo, quindi ho messo l'EA direttamente nel terminale, preposizionato stoploss e takeprofits per l'acquisto e la vendita in Optimizer.Tutto viene testato normalmente, ma l'EA non funziona affatto su un grafico reale; se imposto degli zeri al posto di stop e takeover, il trading continua subito, ma non con quei risultati di cui ho bisogno.
 
Dimka-novitsek:

Aiuto!!! sto lottando da tre ore!!! Non posso assegnare la variabile order=Close[1]. L'idea è che al momento di effettuare l'ordine di ricordare il prezzo, come era in quel momento.

Poi puoi confrontarlo con il prezzo attuale e spostare lo stop loss o il take profit,

Forse sono un idiota, ma non sono sicuro che dovrei scriverlo.

Grazie in anticipo.

....
File:
1_1.mq4  2 kb
 
Grazie!!!!Certamente!!!!
 
sezon:

Ho pensato di controllare anche qui ...

Come posso impostare l'invio di email a narod.ru?

Tutte le varianti provate:

Server SMTP - smtp.narod.ru

Accesso SMTP: - имя@narod.ru

Password SMTP - password

Da: slt-soft@narod.ru

A: slt-soft@narod.ru

Errore: Mail: login a smtp.narod.ru fallito

Non sono sicuro esattamente, ma le persone sembrano avere bisogno solo di un nome utente (cioè hai un nome - tutto prima del cane), non un'e-mail completa

Ma su alcuni server smtp è necessario sostituire il cagnolino con un segno più e poi inizia a loggarsi normalmente, su alcuni server capisce sia il cagnolino che il segno più, e su alcuni solo il login

 
Certo, non è 1, è 0!!!! Proprio non capisco, come è possibile dichiarare una variabile prima dell'inizio della funzione? !!!!!!!!!!!!!!!!Questo è l'unico modo in cui funziona!
 
Rileggerò le variabili globali, ma il compilatore no!
 
Dimka-novitsek:
Rileggerò le variabili globali, ma il compilatore no!
non ha fatto caso perché non c'erano errori di sintassi. Questo è un errore logico, il compilatore non lo vede
 
001:


Sì, è esattamente questo. C'è un file, che hai caricato, che è molto utile, OptimizationReport.mq4. L'ho migliorato un po', per calcolare il fattore di recupero. Ora voglio ottenere il valore di questa variabile nel codice principale per accelerare l'ottimizzazione rilevando il passaggio del tester e impostando il limite del livello PV. Ho provato a farlo attraverso le variabili globali. Non posso vedere il valore della mia variabile nel codice principale.

Scrivo nell'Expert Advisor:

double myValue = GlobalVariableGet("myValue");
Print("myValue="+myValue);
MessageBox("myValue="+myValue);
Alert("myValue="+myValue);

nell'include("l'ho messo su"):

GlobalVariableSet("myValue", 1);

Non funziona, myValue=0.00000000


Il problema è che di solito questo bibilio funziona alla fine. Per generare un rapporto.

Sarebbe meglio fare una funzione per calcolare il fattore di recupero e chiamarla su ogni tick o barra, o solo quando la posizione è chiusa. Ma su ogni tick è più facile calcolare il drawdown massimo.

 
Vinin:

Il problema è che questa bibliografia di solito funziona alla fine. Per generare un rapporto.

È meglio fare solo una funzione per calcolare il fattore di recupero e chiamarla su ogni tick, o barra, o solo quando la posizione è chiusa. Ma su ogni tick è più facile calcolare il drawdown massimo.

Sfortunatamente, non ho abbastanza cervello per scriverlo io stesso.
Motivazione: