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

 
rosomah:

La DC ha aumentato unilateralmente lo stop out dall'1-2% al 15%. L'ho scoperto per caso. Suppongo che ci possa essere anche qualche altro inconveniente, come l'aumento dello spread, il congelamento o qualche altro cambiamento. Qualcuno ha visto un EA che segnala Alert dopo qualsiasi cambiamento nei parametri? Dovrò scriverne uno.

Signori, quali altri dati possono essere richiesti alle società di intermediazione oltre a quelli che ho inserito nello script?

Può essere un fenomeno normale il venerdì prima di andare via per il fine settimana... Avete ancora una percentuale data da Dio.

Tutto dovrebbe essere nell'accordo commerciale...

Non ho guardato il tuo script, ma per esempio, Alpari allarga lo spread sulle notizie (prima del fine settimana).

 
Roman.:

Può essere normale il venerdì prima di partire per il fine settimana... Hai ancora una percentuale approvata da Dio.

Tutto dovrebbe essere scritto nel vostro accordo commerciale...

Non ho guardato il tuo script, ma per esempio, Alpari allarga lo spread sulle notizie (prima del fine settimana).



Quindi scriverò un EA con tutti i dati possibili sulla mia società di intermediazione e sul mio conto. A qualsiasi mossa Alert apparirà subito.

E non riesco a trovare il numero limite di ordini che mi è permesso piazzare nella mia società di intermediazione, perché dovrei semplicemente piazzare 1000 ordini pendenti e poi cancellarli automaticamente una volta trovato il limite?

 
rosomah:


1. Ho intenzione di scrivere un consulente dove inserirò tutti i dati possibili sulla società di intermediazione e sul conto. A qualsiasi mossa Alert apparirà subito.

Non riesco a trovare il numero limite di ordini che potrò piazzare nella mia società di intermediazione, perché dovrei semplicemente caricare 1000 ordini pendenti e poi cancellarli automaticamente quando si trova il limite?

1) L'allarme non aiuterà. Dovete inserire questi parametri ambientali nella sezione di codice che è responsabile dell'esecuzione dei criteri di compravendita, e se uno di questi parametri supera il suo valore massimo ammissibile (l'avete impostato voi), allora dovete prendere una decisione appropriata (per esempio, rifiutare un affare... - eseguire un'operazione di compravendita).

2. No. Non puoi farlo, IMHO - leggi le regole e le condizioni commerciali. Se no, allora chiamate il supporto tecnico e telefonate agli chef locali per TUTTE queste domande sul vostro tipo di conto di trading.

 

Salve.

Ho lavorato su questo codice tutto il giorno - sta dando l'errore 131. Il codice dovrebbe passare attraverso tutti gli ordini di mercato e ad ogni giro dello stesso ciclo, rileggere il volume degli ordini aperti per il simbolo dell'ordine selezionato. Nel caso in cui i volumi delle posizioni di acquisto e di vendita per un simbolo siano diversi, viene aperto un ordine di chiusura per il volume rimanente.

     int i;
     int ii;
     string SMB="";
     double Price=0;
     double PriceAsk=0;
     double PriceBid=0;
     double SchBuyLotsSMB=0;
     double SchSellLotsSMB=0;
     double MarketLotSMB=0;
     for (i=OrdersTotal()-1;i>=0;i--)
      {
       if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         Alert ("Ошибка ",GetLastError()," выбора ордера!");
         Print ("Ошибка ",GetLastError()," выбора ордера!");
        }
       else
        {
         SMB=OrderSymbol();
         PriceAsk=MarketInfo(SMB,MODE_ASK);
         PriceBid=MarketInfo(SMB,MODE_BID);
         for (ii=OrdersTotal()-1;ii>=0;ii--)
          {
           if (!OrderSelect(ii, SELECT_BY_POS, MODE_TRADES))
            {
             Alert ("Ошибка ",GetLastError()," выбора ордера!");
             Print ("Ошибка ",GetLastError()," выбора ордера!");
            }
           else
            {
             if(OrderSymbol()==SMB)
              {
               if(OrderType()==OP_BUY)
                {
                 SchBuyLotsSMB=SchBuyLotsSMB+OrderLots();
                }
               if(OrderType()==OP_SELL)
                {
                 SchSellLotsSMB=SchSellLotsSMB+OrderLots();
                }
              }
            }
          }
         MarketLotSMB=SchBuyLotsSMB-SchSellLotsSMB;
         if (MarketLotSMB<0)
          {
           MarketLotSMB=MathAbs(MarketLotSMB);
           Price=PriceAsk;
           OPENORDER ("Buy",SMB,MarketLotSMB,Price);
          }
         else
          {
           if (MarketLotSMB>0)
           Price=PriceBid;
           OPENORDER ("Sell",SMB,MarketLotSMB,Price);
          }            
        }
       SMB="";
       Price=0;
       PriceAsk=0;
       PriceBid=0;
       SchBuyLotsSMB=0;
       SchSellLotsSMB=0;
       MarketLotSMB=0;        
      }

Per favore, aiutatemi a trovare la ragione. 131 - Ho letto che ha a che fare con un errore di ricerca del volume. Ma io non lo vedo.

Grazie in anticipo per la risposta.

 
TarasBY:
Tu usi uno strano ciclo nel ciclo dell'ordine, MA questo è il diritto dell'autore, quindi azzera i lotti totali (SchBuyLotsSMB e SchSellLotsSMB) prima del secondo ciclo.
Quindi li sto azzerando.
 
nemo811:

Salve.

Ho lavorato su questo codice tutto il giorno - sta dando l'errore 131. Il codice dovrebbe passare attraverso tutti gli ordini di mercato e ad ogni giro dello stesso ciclo, rileggere il volume degli ordini aperti per il simbolo dell'ordine selezionato. Nel caso in cui i volumi delle posizioni di acquisto e di vendita per un simbolo siano diversi, viene aperto un ordine di chiusura per il volume rimanente.

Per favore, aiutatemi a trovare la ragione. 131 - Ho letto che ha a che fare con un errore di ricerca del volume. Ma io non lo vedo.

Grazie in anticipo per la risposta.


Dove avete lo slittamento? Forse è questa la ragione!
 
A proposito, il codice funziona correttamente se gli ordini sono aperti per un simbolo, e l'EA stesso viene eseguito su questo simbolo. Se gli ordini sono aperti per 2 o più coppie, o se l'EA è in esecuzione su un simbolo per il quale non ci sono ordini, si verifica un errore.
 
borilunad:

Dove avete lo slittamento? Forse è questa la ragione!

Cosa significa?

Sleep (1000);

?

Ho provato - non funziona.

 
nemo811:
È così che li ho resettati.
Non l'ho notato subito. Come opzione (io farei obbligatoria), fate la normalizzazione del valore del lotto passato alla funzione token.
 
TarasBY:
Non l'ho notato subito. Come opzione (io lo farei necessariamente), fate la normalizzazione del valore del lotto passato alla funzione token.
C'era un tale pensiero. Lo proverò ora. Grazie.
Motivazione: