[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 328
Se non c'è un set di parametri con ФВ > 30, allora l'Expert Advisor è uno spreco.
Quanti EAs hai con questo PV e allo stesso tempo il numero di trade è almeno 200 (100 su Buy e 100 su Sell)?
Se si imposta non solo il parametro "profitto netto", ma anche il "fattore di recupero" o il drawdown massimo - e guardare da queste posizioni.
In MT5 una cosa del genere è già disponibile, molto comoda e chiara, ma non si possono fare "tagli" come in questo programma. Forse dovresti chiedere agli sviluppatori e loro lo faranno...
Quanti EAs hai con questo PV e allo stesso tempo hai almeno 200 trade (100 di acquisto e 100 di vendita)?
...
Basta così. FS = 34. E infatti non è questa la domanda che mi hai fatto...:-) Soprattutto, se leggete questi rami - l'autore ha scritto chiaramente che queste cifre
ticket=OrderSend(Symbol(),OP_BUYSTOP ,0.01,Ask+q*Point,5,0,Ask+50*Point,"Aw",MN,0,CLR_NONE);
ticket=OrderSend(Symbol(),OP_SELLSTOP,0.01,Bid-q*Point,5,0,Bid-50*Point,"Aw",MN,0,CLR_NONE);
if (!ticket) Print(GetLastError());
ticket=OrderTicket();
for (i=OrdersTotal(); i>0; i--)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if (OrderComment()=="Aw")
{
if (OrderType()==OP_BUYSTOP)
{
t=OrderModify(OrderTicket(),pb,0,TPb,0,CLR_NONE);
if (!t) Print("BUY О Ш И Б К А = ",GetLastError());
}
if (OrderType()==OP_SELLSTOP)
{
t=OrderModify(OrderTicket(),ps,0,TPs,0,CLR_NONE);
if (!t) Print("SELL О Ш Ы Б К А = ",GetLastError());
}
}
}
}
per favore aiutatemi!
Il codice apre due ordini pendenti e dovrebbe modificare entrambi...
Il codice apre due ordini pendenti e dovrebbe modificare entrambi...
Ma modifica solo il sale in attesa.
q=20;
pb=Ask+20*Punto;
ps=Offerta+20*Punto;
Tb=Ask+50*Punto;
Ts=Bid+50*Point;
guarda i numeri per vedere cosa ottieni
if (OrderType()==OP_BUYSTOP)
{
t=OrderModify(OrderTicket(),pb,0,TPb,0,CLR_NONE);
if (!t) Print("BUY О Ш И Б К А = ",GetLastError());
}
if (OrderType()==OP_SELLSTOP)
{
t=OrderModify(OrderTicket(),ps,0,TPs,0,CLR_NONE);
if (!t) Print("SELL О Ш Ы Б К А = ",GetLastError());
}
vuoi mettere sia un buystop che un sellstop 20 punti sopra il prezzo corrente
extern int variabile = 0; extern int shift = 0,0000; extern int shift2 = 0,0000; int init() { //----
//---- ritorno(0); } //+------------------------------------------------------------------+ //| funzione di deinizializzazione esperto | //+------------------------------------------------------------------+ int deinit() { //----
//---- ritorno(0); } //+------------------------------------------------------------------+ //| funzione di inizio esperto | //+------------------------------------------------------------------+ int start() { //---- SetLabel("MA_LABEL",DoubleToStr(iMA(Symbol(),15,variabile,0,MODE_SMA,PRICE_CLOSE,0),shift,2),Bisque,735,277,0,14); SetLabel("MA_LABEL2",DoubleToStr(iMA(Symbol(),15,variabile,0,MODE_SMA,PRICE_CLOSE,0),shift2,2),Bisque,680,27 7,0,14) //---- ritorno(0); } //+------------------------------------------------------------------+
void SetLabel(string nm, string tx, color cl, int xd, int yd, int cr=0, int fs=9) { se (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_LABEL, 0, 0,0); ObjectSetText(nm, tx, fs); ObjectSet(nm, OBJPROP_COLOR, cl); ObjectSet(nm, OBJPROP_XDISTANCE, xd); ObjectSet(nm, OBJPROP_YDISTANCE, yd); ObjectSet(nm, OBJPROP_CORNER, cr); ObjectSet(nm, OBJPROP_FONTSIZE, fs); }
più suggerimenti, per favore. Non riesco a ottenere lo spostamento verticale verso l'alto e lo spostamento2 verso il basso dal polso. questo parametro dovrebbe essere impostato in modo diverso per ogni grafico. ottengo un errore di compilazione
Quanti EAs hai con questo PV e allo stesso tempo il numero di trade è almeno 200 (100 su Buy e 100 su Sell)?
Se si imposta non solo il parametro "profitto netto", ma anche il "fattore di recupero" o il drawdown massimo - e guardare da queste posizioni.
Ciao!
Non riesco a capire come fare in modo che una funzione personalizzata restituisca più valori? Potresti darmi un suggerimento?
Questo non è Pascal - non ci sono procedure...:-) Una funzione - un valore...:-)
Vedi la funzione GetMarketInfo dello script per la chiusura di tutti gli ordini - è possibile utilizzare gli array.
Quanti EAs hai con questo PV e allo stesso tempo hai almeno 200 trade (100 di acquisto e 100 di vendita)?
...Basta così. FS = 34. E infatti non è questa la domanda che mi hai fatto...:-) Soprattutto, se leggete questi rami - l'autore ha scritto chiaramente che queste cifre
30 per TC e 100 per il portafoglio - il suo IMHO.... "Non distorcere le parole, per favore. Non ho affermato che è così che dovrebbe essere. 30 è il mio capriccio personale. Non più di questo... "
Roman
...
Scusa, non avevo notato che stavi citando qualcun altro, ma il rapporto è impressionante.
Scusa, non avevo notato che stavi citando qualcun altro, ma il rapporto è impressionante.
:-) Andando avanti...
per favore aiutatemi!
Il codice apre due ordini pendenti e dovrebbe modificare entrambi...
Ma modifica solo il sale in attesa.
q=20;
pb=Ask+20*Punto;
ps=Offerta+20*Punto;
Tb=Ask+50*Punto;
Ts=Bid+50*Pointl;
per favore aiutatemi!
Il codice apre due ordini pendenti e dovrebbe modificare entrambi...
Ma modifica solo il sale in attesa.
q=20;
pb=Ask+20*Punto;
ps=Offerta+20*Punto;
Tb=Ask+50*Punto;
Ts=Bid+50*Point;
guarda i numeri per vedere cosa ottieni
vuoi mettere sia un buystop che un sellstop 20 punti sopra il prezzo corrente
vedere cosa avete con i numeri.
vuoi che sia il buystop che il sellstop siano 20 punti sopra il prezzo corrente
L'ho digitato a mano...
Nel codice va così:
pb=Ask+20*Punto;
ps=Bid-20*Point;
Tb=Ask+50*Punto;
Ts=Bid+50*Point;
extern int shift = 0,0000;
extern int shift2 = 0,0000;
int init()
{
//----
//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di deinizializzazione esperto |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di inizio esperto |
//+------------------------------------------------------------------+
int start()
{
//----
SetLabel("MA_LABEL",DoubleToStr(iMA(Symbol(),15,variabile,0,MODE_SMA,PRICE_CLOSE,0),shift,2),Bisque,735,277,0,14);
SetLabel("MA_LABEL2",DoubleToStr(iMA(Symbol(),15,variabile,0,MODE_SMA,PRICE_CLOSE,0),shift2,2),Bisque,680,27 7,0,14)
//----
ritorno(0);
}
//+------------------------------------------------------------------+
void SetLabel(string nm, string tx, color cl, int xd, int yd, int cr=0, int fs=9) {
se (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_LABEL, 0, 0,0);
ObjectSetText(nm, tx, fs);
ObjectSet(nm, OBJPROP_COLOR, cl);
ObjectSet(nm, OBJPROP_XDISTANCE, xd);
ObjectSet(nm, OBJPROP_YDISTANCE, yd);
ObjectSet(nm, OBJPROP_CORNER, cr);
ObjectSet(nm, OBJPROP_FONTSIZE, fs);
}
più suggerimenti, per favore.
Non riesco a ottenere lo spostamento verticale verso l'alto e lo spostamento2 verso il basso dal polso.
questo parametro dovrebbe essere impostato in modo diverso per ogni grafico.
ottengo un errore di compilazione
L'ho digitato a mano...
Nel codice va così:
pb=Ask+20*Punto;
ps=Bid-20*Point;
Tb=Ask+50*Punto;
Ts=Bid+50*Point;
Tb e Ts nel senso di TPb e TPs? poi di nuovo, è andato in una direzione, ma gli ordini sono diversi
togliere tutti i valori e vedere cosa si ottiene