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

 

Ricordami la situazione

Si prega di consigliare in quanto segue:

1.c'è una funzione "if (timecur == "08:00:00") OrderSend (Symbol(), OP_BUY, Loot, Ask, 50, SL, TP,NULL,0,0,L);"

2.Testandolo dal 23.08.2010-23.10.2010.

3. Fino al 12.10.2010 le transazioni sono state aperte normalmente da 1 pc.

4.Ma ora la funzione 12.10.2010 apre tante transazioni quante ne permette il deposito (circa 7 pc).

Non riesco a capire il motivo, può essere che per un secondo ha il tempo di passare almeno 5 tick e quindi ha il tempo di aprire così tanto? o c'è un'altra questione? se tutto lo stesso prima opzione, si prega di consigliare come prescrivere l'affare aperto solo una volta?

Sarei molto grato, grazie.

 
Il modo più semplice per farlo è controllare che un dato numero di ordini sia sul mercato prima di aprire un nuovo ordine.
 
Boneshapper:

Ricordami la situazione

Si prega di consigliare in quanto segue:

1.c'è una funzione "if (timecur == "08:00:00") OrderSend (Symbol(), OP_BUY, Loot, Ask, 50, SL, TP,NULL,0,0,L);"

2.Testandolo dal 23.08.2010-23.10.2010.

3. Fino al 12.10.2010 le transazioni sono state aperte normalmente da 1 pc.

4.Ma ora la funzione 12.10.2010 apre tante transazioni quante ne permette il deposito (circa 7 pc).

Non riesco a capire il motivo, può essere che per un secondo ha il tempo di passare almeno 5 tick e quindi ha il tempo di aprire così tanto? o c'è un'altra questione? se tutto lo stesso prima opzione, si prega di consigliare come prescrivere l'affare aperto solo una volta?

Sarei molto grato, grazie.

Ecco una semplice funzione che controlla il numero di ordini aperti:

 int Opened(){
     int Orders=0;
     for (int cnt=OrdersTotal()-1; cnt>=0; cnt--){
       if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)){
         if(OrderSymbol()==Symbol()){
           if(OrderMagicNumber()==Magic){
               if(OrderType()<2)Orders++;
      } } } }       
  return(Orders);
} 

La funzione Opened() dovrebbe essere posta al di fuori della funzione start(). Può essere alla fine del codice.

Inseritelo nella vostra condizione:

if (timecur == "08:00:00" && Opened()==0) OrderSend (Symbol(), OP_BUY, Loot, Ask, 50, SL, TP,NULL,0,0,L);
 
DhP:

Ecco una semplice funzione per controllare il numero di ordini aperti:

Inserisci nella tua condizione:


Sì, mi ha aiutato molto, ma è solo che aprirò diversi ordini, e non dovrebbero essere collegati tra loro. Vorrei limitare l'apertura di un affare con una certa bandiera, e questo è tutto.

L'ho scritto così

int Control;

if ((timecur == "08:00:00") && (Control == 0)) OrderSend (Symbol(), OP_BUY, Loot,Ask, 50, SL, TP,NULL,0,0,L);
Alert(GetLastError());
Control = 1;

E zero è stato restituito solo quando ho chiuso l'ordine

OrderClose(Ticket,Loot,Bid,50,R);
Alert (GetLastError());
Control = 0;

Ma perché questa voce non mi ha aiutato. Forse ho fatto un errore da qualche parte?

 
Boneshapper:


Sì, mi ha aiutato molto, ma è solo che aprirò diversi ordini, e non dovrebbero essere collegati tra loro. Vorrei limitare l'apertura di un affare con una certa bandiera e basta.

L'ho scritto così

int Control;

if ((timecur == "08:00:00") && (Control == 0)) OrderSend (Symbol(), OP_BUY, Loot,Ask, 50, SL, TP,NULL,0,0,L);
Alert (GetLastError());
Control = 1;

E zero è stato restituito solo quando ho chiuso l'ordine

OrderClose(Ticket,Loot,Bid,50,R);
Alert (GetLastError());
Control = 0;

Ma perché questa voce non mi ha aiutato. ho sbagliato da qualche parte? potete per favore aiutarmi?

Potete "sminuzzare" la funzione come volete. Può soddisfare tutti i vostri desideri.

Per esempio, puoi specificare a quale tipo di operazioni sei interessato, o a quali magie, o inserire una condizione di tempo di apertura della posizione e molte altre.

Ecco un esempio di separazione in Acquisto e Vendita:

 int Opened(int OP){
     int Orders=0;
     for (int cnt=OrdersTotal()-1; cnt>=0; cnt--){
       if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)){
         if(OrderSymbol()==Symbol()){
           if(OrderMagicNumber()==Magic){
               if(OP==OP_BUY)Orders++;
               if(OP==OP_SELL)Orders++;
      } } } }       
  return(Orders);
 } 

Le nostre possibilità sono limitate solo dalla nostra immaginazione. Avrai sicuramente successo.

 
DhP:

Potete "sminuzzare" la funzione come volete. Può soddisfare tutti i vostri desideri.

Per esempio, puoi specificare a quale tipo di operazioni sei interessato, o quali MAGIC, o inserire una condizione di tempo di apertura della posizione e altro ancora.

Ecco un esempio di separazione in Acquisto e Vendita:

Le nostre possibilità sono limitate solo dalla nostra immaginazione. Siate audaci e funzionerà.


Lo proverò, grazie mille!
 

A proposito, a proposito di Bandiere.

Potete usare i vari Flags come un sistema di relè per alternare le azioni delle diverse operazioni. Sono abbastanza capaci di soddisfare qualsiasi vostro desiderio.

Ma è importante avere un quadro chiaro di cosa e come volete che funzioni.

Proprio come in un nodo ferroviario, è necessario avere un quadro chiaro di come funzionano gli scambi.

 

Cari professionisti, ditemi... Ho uno script per tracciare i miei calcoli su un grafico. Per iniziare a disegnare, devo trascinarlo sulla carta dal navigatore. La mia domanda, è possibile fare in modo che lo script venga chiamato dal pannello "Graphic Tools" premendo un tasto (mio, o assegnato a uno di quelli esistenti)?

 
kon12:

Cari professionisti, ditemi... Ho uno script per tracciare i miei calcoli su un grafico. Per iniziare a disegnare, devo trascinarlo sulla carta dal navigatore. Domanda - è possibile fare in modo che lo script venga chiamato dal pannello "Studi di linea" premendo un tasto (il mio o quello assegnato)?


Tasti rapidi

I tasti di scelta rapida (tasti acceleratori) sono tasti e combinazioni di tasti che permettono di eseguire rapidamente vari comandi senza dover usare i menu o i pannelli di controllo.

  • " ï " - grafico che scorre a sinistra;

  • " ð " - grafico che scorre verso destra;

  • " ñ " - scorrimento veloce del grafico verso sinistra; in caso di scala fissa - scorrimento del grafico verso l'alto;

  • ð " " - scorrimento veloce del grafico verso destra, e in caso di scala fissa - scorrimento del grafico verso il basso;

  • Numpad 5 - ripristina la scala verticale automatica del grafico dopo che è stata cambiata. E in caso di scala fissa - riporta il grafico ai limiti della vista;

  • Page Up - scorrimento veloce del grafico verso sinistra;

  • Page Down - scorrimento veloce del grafico verso destra;

  • Home - sposta il grafico all'inizio;

  • Fine - sposta il grafico alla fine;

  • "-" - ingrandisce il grafico;

  • "+" - ingrandisce il grafico;

  • Elimina - cancella tutti gli oggetti grafici selezionati;

  • Backspace - cancella gli ultimi oggetti nella finestra del grafico;

  • Enter - apre/chiude la finestra di navigazione rapida;

  • Esc - chiude le finestre di dialogo;

  • F1 - apre questa finestra "Guida dell'utente";

  • F2 - apre la finestra "Archivio citazioni";

  • F3 - apre la finestra "Variabili globali";

  • F4 - caricare MetaEditor;

  • F6 - chiama la finestra "Tester" per testare l'Expert Advisor collegato a una finestra del grafico;

  • F7 - chiama la finestra con le proprietà dell'Expert Advisor collegato alla finestra del grafico per cambiare le impostazioni

  • F8 - chiama la finestra "Chart Settings";

  • F9 - chiama la finestra "Nuovo ordine

  • F10 - apre la "finestra delle citazioni";

  • F11 - attiva/disattiva la modalità a schermo intero;

  • F12 - sposta il grafico di una barra a sinistra;

  • Shift+F12 - sposta il grafico di una barra a destra;

  • Shift+F5 - passa al profilo precedente;

  • Alt+1 - mostra il grafico come una sequenza di barre (convertirlo in un grafico a barre);

  • Alt+2 - mostra il grafico come una sequenza di candele giapponesi (lo trasforma in un grafico a candele);

  • Alt+3 - mostra il grafico come una linea spezzata (convertirlo in un grafico a linee);

  • Alt+A - copia tutti i risultati di test o di ottimizzazione di Expert Advisor negli appunti;

  • Alt+W - chiama la finestra di gestione del grafico;

  • Alt+F4 - chiude il terminale client;

  • Alt+Backspace o Ctrl+Z - annulla la rimozione dell'oggetto;

  • Ctrl+A - imposta l'altezza predefinita per tutte le finestre degli indicatori;

  • Ctrl+B - chiama la finestra "Lista degli oggetti";

  • Ctrl+C o Ctrl+Insert - copia nel buffer;

  • Ctrl+E - abilita/disabilita l'uso dell'Expert Advisor;

  • Ctrl+F - attiva/disattiva "Crosshair";

  • Ctrl+G - mostra/nascondi griglia;

  • Ctrl+H - mostra/nascondi la linea OHLC;

  • Ctrl+I - chiama la finestra "Lista degli indicatori";

  • Ctrl+L - mostra/nascondi i volumi;

  • Ctrl+P - stampa il grafico;

  • Ctrl+S - salva il grafico in un file con estensioni "CSV", "PRN", "HTM";

  • Ctrl+W o Ctrl+F4 - chiude la finestra del grafico;

  • Ctrl+Y - mostra/nascondi i separatori di periodo;

  • Ctrl+Z o Alt+Backspace - annulla la cancellazione di un oggetto;

  • Ctrl+D - apre/chiude la "Finestra dati";

  • Ctrl+M - apre/chiude la finestra "Market Watch";

  • Ctrl+N - apre/chiude la finestra" Navigatore";

  • Ctrl+O - apre/chiude la finestra" Impostazioni";

  • Ctrl+R - apre/chiude la finestra" Tester";

  • Ctrl+T - apre/chiude la finestra" Terminale";

  • Ctrl+F5 - passa al profilo successivo;

  • Ctrl+F6 - attiva la finestra del grafico successivo;

  • Ctrl+F9 - apre la finestra "Terminal - Trade" e cambia il focus del controllo lì. Dopo di che è possibile gestire l'attività di trading utilizzando la tastiera.

È possibile assegnare dei tasti di scelta rapida per chiamare qualsiasi elemento della finestra "Navigatore", tranne gli elementi del gruppo "Conti". Per assegnare una scorciatoia a un elemento, si deve eseguire il comando "Assign Hot Key" del suo menu contestuale. I tasti di scelta rapida assegnati hanno una priorità maggiore di quelli predefiniti. Per esempio, inizialmente Ctrl+O corrisponde a chiamare la finestra delle impostazioni del terminale. Se l'indicatore On Balance Volume può essere assegnato anche a questa combinazione, premendo Ctrl+O non si aprirà la finestra delle impostazioni del terminale.

 
Vinin:

Tasti rapidi

I tasti di scelta rapida (tasti acceleratori) sono tasti e combinazioni di tasti che permettono di eseguire vari comandi rapidamente senza dover usare i menu o i pannelli di controllo.


Non mi sono espresso con precisione. Domanda - è possibile fare uno script da chiamare dal pannello "Strumenti grafici" cliccando su un'icona (per esempio l'icona Fibo)?
Motivazione: