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

 

Добрый день.Очень нужен советник,который будет лишь закрывать сделки.Дело в том,что вход в рынок может быть и обдуманный и с ясной головой и четкими правилами...А вот с выходом у многих-засада.Тут весь набор психологии: и нервы и надежда,и страх с жадностью.Думаю,что при входе по тренду,выход должен обеспечивать стохастик пересекающий уровень 50%.При пересечении сверху вниз должен закрывать бай-ордера,а при пересечении снизу вверх соответственно селл-ордера.

A proposito, questo consigliere può sostituire lo stupido stop-loss ..... Penso che non sarebbe troppo difficile da scrivere, e penso che sarebbe utile.

 
Lim1:

Ciao!

Ho una domanda - dove vanno i risultati dei test (redditività, numero totale di trade, ecc.) e come possiamo fare in modo che questi numeri siano assegnati alle variabili (nel codice) alla fine dei test?

Come posso fare in modo che questi numeri vadano nelle variabili (nel codice) dopo il test? Grazie!


Tu scrivi di ottimizzazione... Selezionate l'opzione di ottimizzazione (passaggio) che volete, cliccate due volte con il vostro mouse - questo è tutto... parametri di questo passaggio

Sono nelle "proprietà" di Expert Advisor. Si seleziona il periodo di prova con questi parametri e si va avanti... - Cliccare su "start".

 

Per favore, datemi il codice per calcolare il fattore di recupero.

 

Buon pomeriggio,

Non riesco a decidere quale demo usare, molti nel tester non eseguono correttamente l'algoritmo.

Qual è il tuo consiglio?

Cos'è un martin e il bloccaggio?

 

что такое мартин и локирование?


Digita una ricerca sul sito web. Martingala. Il blocco è l'apertura di una posizione opposta. Questo è solo per darvi il tempo di pensarci. Una posizione prevale sull'altra e il conto è come congelato.
 

Potreste dirmi se è possibile visualizzare i dati dei risultati dei test sotto forma di avvisi nel giornale?

Per esempio, inserite una variabile che ottenga il valore dell'importo totale delle transazioni (o il valore della redditività totale...) alla fine del test.

Come fare?

L'ottimizzazione è fuori questione...

 
Lim1:

Ciao!

Ho una domanda - dove vanno i risultati dei test (redditività, numero totale di trade, ecc.) e come possiamo fare in modo che questi numeri siano assegnati alle variabili (nel codice) alla fine dei test?

Una descrizione dettagliata di questo articolo può essere trovata in myAlpari.

Vedere Autovalutazione dei risultati dei test di un consulente esperto

 

ci sono due linee

La strategia è la seguente: incrociare le linee su-acquisto, giù-vendita.

Ho deciso di considerare una possibilità: dopo aver attraversato le linee il prezzo scende fino alla linea con un lungo periodo, comprare, piazzare un ordine di acquisto/vendita.

Ho deciso di farlo con l'aiuto delle bandiere su/giù,

ma non ha funzionato

if (SMA_1_0 > SMA_2_0 && SMA_1_1 < SMA_2_1) // Controlla l'incrocio verso l'alto
{

ClosePositions(); // se c'è un ordine - rimuovere

A=1; //flag verso l'alto
B=0; //flag down
}
se (A ==1 )

{
SL=Bid - StopLoss*Point; // Calcolo dello SL aperto.
TP=Bid + TakeProfit*Point; // Calcola TP aperto.
Alert("Cercando di aprire Buy. In attesa di risposta...");
Prezzo_H =SMA_2_0 + 10* Punto;
OpenPosition(Symbol(), OP_BUYLIMIT, Price_H,Lts, SL, TP);

if (Ticket > 0) // ha funzionato :)
{
Avviso ("Aprire ordine di acquisto ",Biglietto;)
A=0;
B=0;
ritorno;
}
}
//--------------------------------------------------------------------
if (SMA_1_0 < SMA_2_0 && SMA_1_1 > SMA_2_1) // Controllo incrocio verso il basso
{

ClosePositions();

A=0; //flag verso l'alto
B=1; //flag verso il basso
}
if (B == 1) // flag down se il prezzo è sceso alla linea SMA
{
SL=Ask + StopLoss*Point; // Calcolo dello SL aperto
TP=Ask - TakeProfit*Point; // Calcolo del TP aperto.
Alert("Tentativo di aprire Vendere. In attesa di risposta...");
Prezzo_L =SMA_2_0 - 10* Punto;
OpenPosition(Symbol(), OP_SELLLIMIT, Price_L,Lts, SL, TP);
if (Ticket > 0) // ha funzionato :)
{
Avviso ("Ordine di vendita aperto ",Biglietto;)
A=0;
B=0;
return; // Esci da start()
}
}
//---------
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di deinizializzazione esperto |
//+------------------------------------------------------------------+
int deinit()
{
//----

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

//+----------------------------------------------------------------------------+
//| Autore: Kim Igor V. aka KimIV, http://www.kimiv.ru/ |
//+----------------------------------------------------------------------------+
//| Versione : 19.02.2008 |
//| Descrizione : Chiusura delle posizioni al prezzo di mercato
//+----------------------------------------------------------------------------+
//| Parametri: |
//| sSymbol - nome dello strumento ("" - qualsiasi simbolo, |
//| NULL - simbolo corrente) |
//| iOperazione - operazione (-1 - qualsiasi posizione) |
//| iMagic - MagicNumber (-1 - qualsiasi magia) |
//+----------------------------------------------------------------------------+

void ClosePositions(string sSymbol = "", int iOperation = -1, int iMagic = -1) {
int i, k = OrdiniTotali();

//if (sSymbol == "0") sSymbol = Symbol();
per (i = k - 1; i >= 0; i--) {
se (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
se ((OrderSymbol() == sSymbol || sSymbol == "") && (iOperazione < 0 || OrderType() == iOperazione)) {
if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
if (iMagic < 0 || OrderMagicNumber() == iMagic) ClosePosBySelect();
}
}
}
}
}

//+----------------------------------------------------------------------------+
//+----------------------------------------------------------------------------+
//| Autore: Kim Igor V. aka KimIV, http://www.kimiv.ru/ |
//+----------------------------------------------------------------------------+
//| Versione : 13.06.2007 |
//| Descrizione : Chiusura di una posizione preselezionata
//+----------------------------------------------------------------------------+
void ClosePosBySelect() {
doppia pp;

se (OrderType()==OP_BUY) {
pp=MarketInfo(OrderSymbol(), MODE_BID);
OrderClose(OrderTicket(), OrderLots(), pp, Slippage);
}
se (OrderType()==OP_SELL) {
pp=MarketInfo(OrderSymbol(), MODE_ASK);
OrderClose(OrderTicket(), OrderLots(), pp, Slippage);
}
}

//+----------------------------------------------------------------------------+
//| Autore: Kim Igor V. aka KimIV, http://www.kimiv.ru/ |
//+----------------------------------------------------------------------------+
//| Versione : 13.06.2007 |
//| Descrizione : Apertura di una posizione. Versione della funzione per i test della storia. |
//+----------------------------------------------------------------------------+
//| Parametri: |
//| sy - nome dello strumento ("" - simbolo corrente) |
//| op - operazione |
|| ll - lotto
//| sl - livello di stop |
//| tp - take level |
//| mn - MagicNumber |
//+----------------------------------------------------------------------------+
void OpenPosition(string sy, int op, double ll, double sl=0, double tp=0, int mn=0) {
doppia pp;
int err, ticket;

if (sy=="") sy=Symbol();
se (op==OP_BUY) {
pp=MarketInfo(sy, MODE_ASK);
} else {
pp=MarketInfo(sy, MODE_BID);
}
ticket=OrderSend(sy, op, ll, pp, Slippage, sl, tp, "", mn, 0);
se (biglietto<0) {
err=GetLastError();
Print("Error(",err,") open ",GetNameOP(op),": ",ErrorDescription(err));
Print("Ask=",Ask," Bid=",Bid," sy=",sy," ll=",ll,
" pp=",pp," sl=",sl," tp=",tp," mn=",mn);
}
}

//+----------------------------------------------------------------------------+
//| Autore: Kim Igor V. aka KimIV, http://www.kimiv.ru/ |
//+----------------------------------------------------------------------------+
//| Versione : 01.09.2005 |
//| Descrizione: restituisce il nome dell'operazione commerciale
//+----------------------------------------------------------------------------+
//| Parametri: ||
//| iOperazione - identificatore dell'operazione commerciale
//+----------------------------------------------------------------------------+

stringa GetNameOP(int iOperazione) {
interruttore (iOperazione) {
caso OP_BUY: ritorno ("Comprare");
caso OP_SELL: ritorno ("Sell");
caso OP_BUYLIMIT: ritorno ("Buy Limit");
caso OP_SELLLIMIT: ritorno ("Sell Limit");
caso OP_BUYSTOP: ritorno ("Buy Stop");
caso OP_SELLSTOP: ritorno ("Sell Stop");
default: return ("Unknown Operation");
}
}

 

Signori, amici! Chi lo sa, per favore condividete il link dove si possono vedere/sentire le formule per risolvere le equazioni della progressione aritmetica del secondo ordine.

Per esempio:

In una progressione aritmetica, le differenze tra termini consecutivi sono costanti. Se le differenze non sono costanti, ma le differenze delle differenze sono costanti, allora la progressione si chiama una progressione aritmetica del secondo ordine. Le progressioni aritmetiche di ordine superiore sono definite in modo simile. Per esempio, 2, 6, 12, 20, 30, ..., n è una progressione aritmetica del secondo ordine perché le differenze di 4, 6, 8, 10, ..., n formano una progressione aritmetica con d = 2.

Qui ho bisogno di formule di calcolo per trovare il numero di membri di una tale progressione... Ho cercato dappertutto su Internet - solo semplice matematica in giro... :((((

 
artmedia70:

Signori, amici! Chi lo sa, per favore condividi il link dove puoi vedere/sentire le formule per risolvere le equazioni di progressione aritmetica del secondo ordine.

Googlato