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

 
hoz:

Nel parametro della funzione stessa vediamo:

fi_Ticket = 0

Di solito queste funzioni sono chiamate dopo che gli ordini sono stati selezionati, il che significa che avranno un biglietto. Perché allora assegnare il valore predefinito a zero?

Se chiamiamo la funzione senza questo parametro, non verrà eseguito nemmeno un if, e la funzione inizierà con la stringa

RefreshRates();

Il passo successivo è ancora più interessante:

if (fs_Symbol != bs_Symbol || fi_Ticket < 0)
{
   if (fi_Ticket > 0)
   {
      bs_Symbol = OrderSymbol();
   }
   else
   {
     bs_Symbol = fs_Symbol;
                  }
                  if (bs_Symbol == Symbol())
                  {
                      bi_SymDigits = Digits;
                      bd_SymPoint = Point;
                  }

La variabile fs_Symbol viene immediatamente confrontata con bs_Symbol.

Ilbs_Symbol di cui sopra non è stato inizializzato, dove viene chiamata lafunzionefGet_MarketInfo()stessa. E a cosa serve questo bs_Symbol? Se la libreria si compila senza errori,

Se la libreria si compila senza errori, allora la variabile bs_Symbol deve essere dichiarata da qualche parte a livello globale. Lì (o in qualche altra funzione) si dovrebbe cercare la sua inizializzazione...

Anche nella condizione:
if (fs_Symbol != bs_Symbol || fi_Ticket < 0)

Sefi_Ticket < 0, la prossima cosa da fare...

if (fi_Ticket > 0)
{
   bs_Symbol = OrderSymbol();
}

e questo già contraddice la condizione. All'inizio del codice la condizionefi_Ticket < 0 deve tenere, e poi all'interno di questa condizione il ticket > 0. Dov'è la logica?

Nota: perché il codice funzioni, la condizionefi_Ticket < 0 OR fs_Symbol != bs_Symbol deve tenere, il che significa che se c'è un ulteriore if (fi_Ticket > 0) alla fine del codice, significa che deve tenere solo la condizione di entrata alternativa.
 

Ciao a tutti, potete aiutarmi, non riesco a dare un senso a questo)))

 
kera8383:

Ciao a tutti, potete aiutarmi, non riesco a dare un senso a questo)))

Inizia con le FAQ.
 
tara:

Probabilmente stai usando valori di StopLoss e TakeProfit inaccettabilmente piccoli, ma è solo un'ipotesi. Non ci sono abbastanza informazioni.


No, i miei stop sono grandi, ho i valori qui sotto.

         SL=Ask + StopLoss*Point;     // значение StopLoss = 375
         TP=Ask - TakeProfit*Point;   // значение TakeProfit = 550
 
paladin80:

Non normalizzare gli stop all'interno di OrderSend. Fatelo prima di RefreshRates e poi sostituite. Stampate questi valori per essere sicuri che siano corretti. A proposito, imparate ad aprire una posizione senza stop, perché ci sono società di brokeraggio che non accettano ordini con stop. Dopo averne impostato uno, modificate gli arresti - passerà.

Scivolamento molto piccolo = 2. L'esempio dà 3 ed è su 4 cifre. Se si imposta un tale EA su una quotazione a 5 cifre, lo slippage sarà di 0,2 punti. Ci saranno sicuramente degli errori.

Grazie per i saggi consigli, li ho presi in considerazione. Ho risolto l'errore. La ragione è semplice: la società di brokeraggio Alpari e il tipo di conto demoECN. Devo aprire un ordine e poi modificarlo.
 
momento allegro della giornata a tutti... Signori, per favore aiutatemi, c'è un tale problema.... Sto testando il mio robot forex su alpari, funziona su un'altra società di brokeraggio, sto lavorando con il robot forex da tre settimane e i risultati sono diversi. Ho fatto qualche ricerca (ovviamente mi sono innervosito troppo..... piii) e mi sono reso conto che gli indici dell'indicatore RSI, che viene utilizzato nei calcoli sono leggermente diversi da quelli che mostrano lo stesso indicatore presso Alpari. Trouble..... la differenza è in "microns :)" ma oooh è abbastanza per cambiare l'EA. Ragazzi, per favore, consigliate come risolvere questo tipo di cose, grazie mille!
 
laveosa:
momento allegro della giornata a tutti ... signori aiuto per favore, ecco il problema .... Sto testando il mio forex Expert Advisor su Alpari ma sto usando un'altra società di brokeraggio, lo sto usando da 3 settimane in demo e i risultati sono diversi. Ho fatto qualche ricerca (ovviamente mi sono innervosito troppo..... piii) e mi sono reso conto che gli indici dell'indicatore RSI, che viene utilizzato nei calcoli sono leggermente diversi da quelli che mostrano lo stesso indicatore presso Alpari. Trouble..... la differenza è in "microns :)" ma oooh è abbastanza per cambiare l'EA. Ragazzi, per favore, consigliate come risolvere questo tipo di cose, grazie mille!


Le quotazioni dei diversi DC sono diverse. Demo - da reale - anche. Gli indici sono gli stessi.

È necessario testare e controllare i parametri dell'expo e dell'indicatore sulla storia della società di brokeraggio con cui si sta per giocare...

E l'expo deve essere regolato per davvero(gestione degli errori e tutto il resto...).

 
StringSetChar non funziona nel codice, devi sostituire ":" con "." .

                        string    Object_Date_Secnd = TimeToStr(Object_Time,TIME_SECONDS);

                        for(int s1=0; s1<StringLen(Object_Date_Secnd); s1++) {
                           if(StringGetChar(Object_Date_Secnd,s1)==':' ) {
                              StringSetChar(Object_Date_Secnd,s1, '.');
                           }
                        }


- Perché la sostituzione non funziona?

Grazie!

 
Quindi se il TS era diverso in Alpari, non è una garanzia che porterà gli stessi risultati in un'altra società di brokeraggio? E come possiamo regolarla su un'altra società di brokeraggio se la sua storia non è così completa come su Alpari, per esempio? Più vicino al corpo, è possibile regolare gli indici su un'altra società di brokeraggio in modo che siano identici a quelli di Alpari per esempio?
 
laveosa:
Quindi se il TS era diverso in Alpari, non è una garanzia che porterà gli stessi risultati in un'altra società di brokeraggio? E come possiamo regolarla su un'altra società di brokeraggio se la sua storia non è così completa come su Alpari, per esempio? Più vicino al corpo, possiamo regolare l'indicatore su un'altra società di brokeraggio in modo che porti gli stessi risultati che su Alpari per esempio?

Si può - questo è tutto... Sarebbe utile fare tale impostazione. Guarda le storie di MetaQuotes.
Motivazione: