Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 541

 

Buon pomeriggio.

C'è qualche significato fisico nel dividere l'ATR veloce per l'ATR lento?

o cosa otteniamo come risultato?

Perché lo chiedo - ho visto un tale indicatore

 
rusa:

Forse qualcuno ha un tale consigliere.

1. apre due diversi ordini di acquisto e vendita simultaneamente

2. quando uno di loro chiude in profitto. apre di nuovo due diversi ordini di acquisto e di vendita, ecc.

Se non dovete fare nulla per perdere gli ordini, sembra essere abbastanza semplice. forse qualcuno sarà in grado di scriverlo per voi? Vi sarei molto grato!

com'è?
 

Ciao, sto padroneggiando mql4, prima codificavo cose semplici, poi ho rinunciato per molto tempo, ora ci sto lavorando di nuovo da zero.

1) Vedo che il linguaggio è stato aggiornato un po', ma il tutorial è ancora vecchio, c'è un tutorial per il linguaggio aggiornato?

2) È una lingua con mql5?

3) Vale la pena imparare dal tutorial di mt5?

4) MT5 è in giro da molto tempo e tutti scrivono quanto sia grande, ma perché, i doc non lo usano praticamente, qual è la ragione?

5) Voglio scambiare un portafoglio di robot, è possibile ottenere statistiche separatamente per ciascuno di essi in mt4?

6) È realistico ottenere uno strumento sintetico in tempo reale e fare trading su di esso?

7) Dimmi se ci sono dei vantaggi con il quinto segno? (solo che non ho scambiato da molto tempo). Da quanto ho capito, nessuno, perché la volatilità diventa più bassa, di conseguenza il livello di spread diventa lo stesso?

8) Per favore datemi il codice per ottenere la volatilità media per uno strumento? Riempio il mio array con l'espressione High[i] - Low[i], ma poi il valore medio non può essere calcolato. Forse sto complicando troppo qualcosa, forse c'è una funzione standard o un codice più elegante?

9) È possibile calcolare lo spread medio per ogni barra sull'intero storico? Suppongo di sì, sembra molto semplice, non l'ho ancora fatto, in anticipo per così dire, forse c'è un codice già pronto, per non reinventare la ruota?

10) Voglio avere diversi tf, 10 sec, 30 sec... So che è reale ma penso che possa essere fatto molto facilmente nel nuovo linguaggio ora, voglio dire c'è una sorta di funzione straddle per questo?

11) Sarò in grado di testare le espansioni sulla mia storia di tf?

12) mt ha un set di funzioni per lavorare con file di testo, scrivere i calcoli di cui ho bisogno e così via?

Questo è tutto quello che riesco a ricordare finora, il vostro aiuto sarebbe inestimabile! Grazie in anticipo!

 
pako:
com'è?


Sto provando questo sistema sul reale e devo tenere d'occhio il commercio tutto il tempo.

Devo tenere traccia dei miei scambi per tutto il tempo.

L'EA dovrebbe aprire ordini di acquisto e vendita allo stesso tempo, cioè senza indicatori.

Quando due ordini sono aperti nel terminale, un ordine si chiude a Take Profit!

Due ordini di acquisto e di vendita dovrebbero essere aperti di nuovo e questo succede sempre.

. l'ordine con un meno rimane in commercio .

tutti! Sto pensando di ordinare per soldi ma ho un problema con il deposito di WebMoney.

Penso che ordinerò per soldi ma ho un problema con la ricarica con webmoney.

 
rusa:


Sto provando questo sistema sul reale e devo tenere d'occhio il commercio tutto il tempo.

Devo tenere traccia dei miei scambi per tutto il tempo.

L'EA dovrebbe aprire ordini di acquisto e vendita allo stesso tempo, cioè senza indicatori.

Quando due ordini sono aperti nel terminale, un ordine si chiude a Take Profit!

Due ordini di acquisto e di vendita dovrebbero essere aperti di nuovo e questo succede sempre.

. l'ordine con un meno rimane in commercio .

tutti! Sto pensando di ordinare per soldi ma ho un problema con il deposito via WebMoney.

Ci sto lavorando da molto tempo ormai, e non sono sicuro di cosa farne.


Beh, hai appena descritto l'economia americana... tutto il debito si sta accumulando e il ricavato viene usato per comprare nuovo debito...

Ho provato in questo modo... non funziona.


extern int Profit=1;

extern double Lot=0.1;

extern int Stop=98;

extern inttern Take=70;

extern int Slip=10;

extern int Magic=0;

int n;


int start() {

//contatore di ordini

for(int m=1; m<=OrdersTotal(); m++)

{

OrderSelect(m-1,SELECT_BY_POS);

int mn=OrderMagicNumber();

int openselllim, openbuylim, opensell, openbuy, openbuystop, opensellstop;


if (mn==Magic && OrderType()==OP_BUY) openbuy=openbuy+1;

if (mn==Magic && OrderType()==OP_SELL)opensell=opensell+1;

if (mn==Magic && OrderType()==OP_BUYLIMIT) openbuylim=openbuylim+1;

if (mn==Magic && OrderType()==OP_SELLLIMIT) openselllim=openselllim+1;

if (mn==Magic && OrderType()==OP_BUYSTOP)openbuystop=openbuystop+1;

if (mn==Magic && OrderType()==OP_SELLSTOP) opensellstop=opensellstop+1;

}

se (openbuy+opensell<n||OrdersTotal()==0)

{n=openbuy+opensell;

OrderSend(Symbol(), OP_SELL, Lot, Bid, Slip, 0, 0, "SELL", Magic, 0,Red);

OrderSend(Symbol(), OP_BUY, Lot, Ask, Slip, 0, 0, 0, "BUY", Magic, 0,Blue);

}

se (openbuy+opensell>n){n=openbuy+opensell;}

clospoint();

return(0);}


void clospoint ()

{int ask, bid, open;

doppio punto;

for (int i=OrdersTotal()-1; i>=0; i--)

{

if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;

se (OrderType()==OP_BUY)

{

point=MarketInfo(OrderSymbol(),MODE_POINT);

if (point==0) break;

bid=MathRound(MarketInfo(OrderSymbol(),MODE_BID)/point);

open=MathRound(OrderOpenPrice()/point);

se (bid-open<Profitto) continua;

OrderClose(OrderTicket(),OrderLots(),bid*point,Slip);

}

se (OrderType()==OP_SELL)

{

point=MarketInfo(OrderSymbol(),MODE_POINT);

if (point==0) break;

ask=MathRound(MarketInfo(OrderSymbol(),MODE_ASK)/point);

open=MathRound(OrderOpenPrice()/point);

se (open-ask<Profit) continua;

OrderClose(OrderTicket(),OrderLots(),ask*point,Slip);

}

}}

c si cioccolato

 

Ciao a tutti, potreste dirmi come la funzione Coment() conta i parametri??

Ecco un estratto dal manuale:"Qualsiasi valore separato da virgole. Il carattere di avanzamento di riga "\n" o "\r\n" può essere usato per dividere l'output in più righe. Il numero di parametri non può superare 64..." che parametri?????

 
tench72:

Ciao a tutti, potete dirmi come la funzione Coment() conta i parametri??

Ecco un estratto del manuale:"Qualsiasi valore separato da virgole. Un carattere di avanzamento linea "\n" o "\r\n" può essere usato per dividere l'output in più righe. Il numero di parametri non può superare 64..." che parametri?????

quelli separati da virgola.
 
evillive:
di quelli separati da virgola.

Non mi sono posto questa domanda, non lo so. Che ne dite di questo?

string com = "тра-та-та";

Comment(com);
Quanti caratteri verrebbero contati nel commento?
 
AlexeyVik:

Non mi sono posto questa domanda, non lo so. E se fosse così?

Quanti caratteri verrebbero contati in un commento?

Beh, è scritto nell'aiuto...
 

Buon pomeriggio, ecco il codice:

#import "kernel32.dll"
   int GlobalAlloc(int Flags, int Size);
   int GlobalLock(int hMem);
   int GlobalUnlock(int hMem);
   int GlobalFree(int hMem);
   int lstrcpyA(int ptrhMem, string Text);
#import


#import "user32.dll"
   int OpenClipboard(int hOwnerWindow);
   int EmptyClipboard();
   int CloseClipboard();
   int SetClipboardData(int Format, int hMem);
#import

#define GMEM_MOVEABLE   2
#define CF_TEXT         1

// Copies the specified text to the clipboard, returning true if successful
bool CopyTextToClipboard(string Text)
{
   bool bReturnvalue = false;
   
   // Try grabbing ownership of the clipboard 
   if (OpenClipboard(0) != 0) {
      // Try emptying the clipboard
      if (EmptyClipboard() != 0) {
         // Try allocating a block of global memory to hold the text 
         int lnString = StringLen(Text);
         int hMem = GlobalAlloc(GMEM_MOVEABLE, lnString + 1);
         if (hMem != 0) {
            // Try locking the memory, so that we can copy into it
            int ptrMem = GlobalLock(hMem);
            if (ptrMem != 0) {
               // Copy the string into the global memory
               lstrcpyA(ptrMem, Text);            
               // Release ownership of the global memory (but don't discard it)
               GlobalUnlock(hMem);            

               // Try setting the clipboard contents using the global memory
               if (SetClipboardData(CF_TEXT, hMem) != 0) {
                  // Okay
                  bReturnvalue = true;   
               } else {
                  // Failed to set the clipboard using the global memory
                  GlobalFree(hMem);
               }
            } else {
               // Meemory allocated but not locked
               GlobalFree(hMem);
            }      
         } else {
            // Failed to allocate memory to hold string 
         }
      } else {
         // Failed to empty clipboard
      }
      // Always release the clipboard, even if the copy failed
      CloseClipboard();
   } else {
      // Failed to open clipboard
   }

   return (bReturnvalue); 

}

La funzione funziona in linea di principio, ma scrive solo un carattere della stringa Text nel buffer. Cosa devo regolare per scrivere l'intera stringa?

Grazie!