[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 454

 
smart:


Come faccio a sapere quali indicatori sono nel modello? Ho installato un vecchio modello, ma non tutti gli indicatori vengono visualizzati. Ho dimenticato i nomi degli indicatori inclusi nel modello. Grazie!


Aprite la cartella \templates\, trovate il vostro template, apritelo in notepad, cercate il tag <windows> e vedete quali indicatori sono confezionati con quali parametri.
 
tol64:

demlin20.06.2011 22:02

Ciao a tutti!

Ho una domanda, non riesco a far determinare al programma il profitto dell'ordine in pip. Qualcuno mi aiuti.

Prova tutti gli ordini in loop.

Per(i = 0; i < OrderHistoryTotal(); i++)

Selezionate quello che volete secondo certi criteri usando OrderSelect(). Poi chiedete OrderProfit(). Questo è il profitto netto in denaro. Il valore del punto è approssimativamente il seguente:

(OrderProfit()/10)/OrderLots()+(OrderSwap()/10)/OrderLots();

Controlla per sicurezza)))

Grazie, lo proverò
 

Scrivere e leggere informazioni dal commento dell'ordine. OrderComment().

Quando apro un ordine, registro il saldo e il livello di Stop Loss nel commento. Quando l'ordine viene aperto, guardo il registro. Tutto è accurato.




Il saldo è di 10000,00. Stop Loss 1,67740. Il numero totale di caratteri è 15.
Poi usando le funzioni di stringa, seleziono i caratteri richiesti e li scrivo nel file csv. Ma ho affrontato un tale problema. Se è scattato uno stop loss, questi caratteri [sl] sono aggiunti alla fine del commento.


E ho 19 cifre, non 15. La questione è che controllo il numero di cifre del saldo corrente e il numero di cifre del prezzo prima di fare un commento. Questo è impostato in variabili, che poi uso per determinare quante e quali cifre devo ottenere. Ma questo [sl] mi dà del filo da torcere. Se il prezzo ha 7 cifre, il file memorizza 740, non 1.67740. Non riesco a capire come risolvere questo problema). Per favore, aiutatemi.
 
La cosa più semplice da fare è scrivere subito la cosa giusta nel commento. Cioè mettere dei delimitatori tra i dati. Allora la lunghezza della stringa non avrà importanza, estrarrete semplicemente la sottostringa tra i delimitatori.
 
granit77:
Il modo più semplice è quello di scriverlo correttamente nel commento in una volta sola. Cioè mettere delimitatori tra i dati. Allora la lunghezza della stringa non avrà importanza, basta tirare la sottostringa tra i delimitatori.


Prima mi è stata offerta questa semplice variante:

string comment = OrderComment(); comment = StringSubstr(comment, 0, 15); // tagliato a destra

Era una variante semplice, ma anch'io ho avuto qualche difficoltà, ma sono riuscito a risolvere il problema. )

Perché, se si scrive tutto correttamente in una volta, non si aggiungono i caratteri [sl]? Posso avere un piccolo esempio con l'estrazione della sottostringa dal commento dell'ordine, se non vi dispiace?

 
tol64:


Prima mi è stata offerta questa semplice opzione:

L'opzione è semplice, ma anch'io ho avuto difficoltà, ma ho deciso. )

Perché, se si scrive tutto correttamente in una volta, i caratteri [sl] non vengono aggiunti? Posso avere un piccolo esempio con l'estrazione di una sottostringa dal commento dell'ordine, se non vi dispiace?

Che siano aggiunti. Volete recuperare i vostri dati, e non vi interessa cosa aggiunge o quanto è lunga la stringa.

   string _comment="10000.00"+"$"+"1.67740"+"#";//строка комментария. "$","#" - разделители (символы,какие понравятся) 
   int lenstring=StringLen(_comment);           //длина строки _comment
   int delim1,delim2;                           //позиции разделителей в строке _comment
   string balans,stoploss;                      //извлекаемые подстроки
   delim1=StringFind( _comment, "$", 0);        //определяем позиции разделителей в строке _comment
   delim2=StringFind( _comment, "#", 0);        //определяем позиции разделителей в строке _comment 
   balans   =  StringSubstr( _comment,0, delim1);                //извлекли строку баланс
   stoploss =  StringSubstr( _comment,delim1+1, delim2-delim1-1);//извлекли строку стоплосс 
   Comment("|",balans,"|",stoploss,"|");//проверка 
 
Buona giornata a tutti. Ho incontrato una situazione divertente in cui due computer diversi possono connettersi allo stesso conto e persino fare trading simultaneamente su quel conto. Chi può dirmi se è possibile controllare un computer remoto, per esempio cambiare le variabili ext o almeno sospendere un EA? Ringrazio in anticipo, perché ho affrontato una strana situazione quando non posso prendere il controllo del terminale, che funziona a casa (me stesso al lavoro per esempio).
 
granit77:
Che siano aggiunti. Volete recuperare i vostri dati, e non vi interessa cosa viene aggiunto o quanto è lunga la stringa.


)) Grazie. Grande esempio! Si capisce tutto in una parola. Questo è esattamente il tipo di esempio che a volte manca.
 
snail09:

Sì, è sicuramente bollente. Tutti stanno solo rispondendo al tuo... domande. Forse sei così disinformato?

Se qualcuno mi dicesse come tracciare l'incrocio della linea di tendenza con il prezzo (una linea retta), sarebbe sufficiente per me, anche solo un accenno? Grazie immediatamente, dato che non mi aspetto una risposta nel prossimo futuro. Tu, Star, sei un flooder, che i moderatori mi perdonino...


Non sono un mago, è la prima volta che vengo qui. 8))))
 
peshihod:

Ti manca la pratica. Non potete eseguire il vostro programma, non funziona. Un circolo vizioso: nessuna opzione praticabile-> nessuna abilità-> nessuna opzione praticabile.

Bisogna pensarci .... :-/


Per continuare l'argomento.

Per imparare, hai bisogno di pratica.

Fate come segue nel terminale di trading:
1. Bisogna aprire un conto demo.
Inserite i dettagli del conto nel terminale di trading: File->Login->...
2.Utilizzare un grafico aperto o aprirne uno nuovo:File->New_chart->...
3.Impostare il massimo: Service->Settings->Charts->Max.bar_history->250000
4.Impostare il timeframe di un minuto : Charts->Period->M1_One_minute
5.Fare l'aggiornamento: Charts->Update
6.Aprire Strategy Tester: View->Strategy Tester
Tutte le altre finestre si chiudono (minimizzano), lasciano una finestra con un grafico e una finestra con il tester.
------------------
Successivamente, nelle impostazioni di Strategy Tester:
7. Simbolo: selezionare il simbolo che ha un grafico aperto.
8.Modello:Per prezzi di apertura(.....)
<<<Questo modello da usare fino a OrderSend().>>>
9.Usa la data: selezionare la casella.
Data: _From:<Yesterday(except Saturday and Sunday)>, _to:Today
10.Visualization: uncheck if checked.
11.Period: M1
12.Optimization: rimuovere la spunta se presente.
---------------------
Aprire ulteriormente MetaEditor:
13.Nel menu del terminale di trading:Service->Editor_MetaQuotes_Language
14.Scrivere un programma, per esempio:
//=====================

int i;
int const=5;
int Celoe, Ostatok;
bool flag_Odin_Raz=true;




int start()
{

if(flag_Odin_Raz==true)
{
//-------------
i=0;
while(i<22)
   {
   Celoe=i/const;
   Ostatok=MathMod(i,const);
   Print("При i=", i, " Celoe=", Celoe, " Ostatok=", Ostatok);
   i=i+1;
   }
//-------------
flag_Odin_Raz=false;
}
return(0);
}

//=============================

15.In MetaEditor, menu: File->Save_as: dare un nome al file, salvare l'estensione .mq4, la cartella dovrebbe essere 'experts'.
16.In MetaEditor nel menu: File->Compile
---------------------------------------
Poi nel tester nelle impostazioni:
17.Advisor: trovare e selezionare il nome del file del programma.
18.Fare clic sul pulsante "Start" con un clic del mouse.
19. Nel tester->log
Vediamo il risultato del programma tramite i messaggi Print()
-----------------------------------------
Per una visualizzazione più facile:
20. Cliccate con il tasto destro del mouse su qualsiasi riga del log->Open
Questo aprirà la cartella dei log con il file *.log, che potete aprire con qualsiasi editor di testo, Notepad, Word, ecc.

PS
Se il file è troppo grande e nessun editor di testo è in grado di aprirlo, allora dovresti cancellare questo file usando i mezzi di Windows e riavviare il programma premendo il pulsante 'Start' dal terminale di trading. Cartella del tester: "...\Installation_folder\tester\logs", da non confondere con un altro: "...\Installation_folder\logs"

PPS
Per imparare a programmare, è necessario un compilatore di linguaggio di programmazione che trasformi la scrittura testuale delle azioni necessarie in un "programma" (leggibile dall'uomo), in un linguaggio di comandi macchina -- comprensibile per un computer. Senza pratica, è impossibile imparare. Mql4 non crea programmi separati, *.mq4 si trasforma in *.ex4, che viene eseguito da una shell di programma.
*.ex4 non può essere eseguito direttamente, l'algoritmo descritto sopra aggira questo punto.