Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 79

 

Ciao, c'è una semplice domanda come questa. Prima apriamo un trade a senso unico e paghiamo lo spread. Poi apriamo un counter trade con lo stesso lotto e anche lo spread viene preso da esso. Cioè, quando chiudiamo questi trade l'uno contro l'altro, significa che paghiamo due spread?

 

si prega di consigliare un paio di righe di codice

1) come far funzionare i gufi, diciamo, una volta ogni 10 secondi

2)impostare un ordine pendente se non c'è un ordine pendente a questo prezzo

3) se applicabile, si prega di consigliare come calcolare una differenza tra gli ordini impostati (aperti)

 
Rustem71:


Dimmi solo cosa vuoi fare quando arriva la zecca.

C'è così tanto lavoro extra che stai facendo.

E scrivere il codice correttamente, non abbreviare le parentesi. Se dovete scrivere parentesi graffe nella condizione, dovreste scriverle. Sarà più facile capire il codice. Quando ci si prende la mano, si può iniziare ad abbreviare.

Sto aspettando chiarimenti sulla zecca.


L'idea è che 2 ordini pendenti sono aperti prima che ha lavorato con il lotto iniziale, per esempio BUY immediatamente cancellato SELLSTOP e nello stesso luogo è messo SELLSTOP ma con doppio lotto, apre solo SELL messo BUYSTOP *2 lotto, e poi, per esempio se non innescato trilling stop e la tendenza girato messo pendente con *2 lotto. E poi se entra senza una perdita nel più, come 0,05 sarà messo trailing stop. Come questo!!! Se mi dici come ottimizzare + i vostri commenti sui miei errori sarà molto grato! Non riesco a capire perché ho un posto di un ordine pendente, ordini pendenti aperti fino allo scarico totale del deposito!
 
Akinak:
Guarda per favore! Se puoi spiegare cosa ho fatto di sbagliato! Ho provato di tutto, sia senza aprire un ordine che aprendo un mazzo in un ciclo!

se è maggiore o uguale a uno (più semplice - maggiore di zero) - non aprire, lo stesso dovrebbe essere ripetuto per i baika

e voi l'avete al contrario:

if(s==1)

Quindi dovrebbe essere qualcosa del genere:

if(s==0)
{ 
//открываем селл
}
 
Akinak:
Per favore, dategli un'occhiata! Se puoi spiegare cosa ho fatto di sbagliato! Come solo io non ho provato o non apre un ordine o apre un pacchetto dal ciclo!!!


Se ho capito bene va così. Il resto dipende da voi.

E scrivere i codici correttamente.

File:
888.mq4  8 kb
 
Ciao, per favore aiutami con questa funzione, sono già esausto e non so come farlo bene! Ho bisogno che sarebbe in grado di entrare nei parametri, il tempo del mio computer. Grazie in anticipo!
extern bool    HOUR = false;             // Часы Вкл (true) / Выкл (folse)
extern string  TimeBegin = "13:30";      // Время начала (ЧЧ:ММ)
extern string  TimeEnd   = "17:00";      // Время окончания (ЧЧ:ММ)
//Отправляет true если по времени разрешено торговать
bool isTradeTimeString()
{
 datetime hbegin = StrToTime(TimeBegin) + TimeGMTOffset();
 datetime hend = StrToTime(TimeEnd) + TimeGMTOffset();
 
 datetime dtBegin, dtEnd;        // Время начала и окончания работы
 int      hc, he;                // Часы текущего времени и окончания работы

 dtBegin=StrToTime(TimeToStr(TimeCurrent(),TIME_DATE)+" "+TimeToStr(hbegin,TIME_MINUTES));
 dtEnd=StrToTime(TimeToStr(TimeCurrent(),TIME_DATE)+" "+TimeToStr(hend,TIME_MINUTES));
 hc = TimeHour(TimeCurrent());
 he = TimeHour(dtEnd);
 if(dtBegin>=dtEnd)
 {
  if(hc>=he)
   dtEnd+=24*60*60;
  else
   dtBegin-=24*60*60;
 }
 if(HOUR==true)
 {
  if(TimeCurrent()>=dtBegin && TimeCurrent()<=dtEnd)
   return(true);
  else
  {
   if(CountTrades()==0)
    return(false);
  }
 }
 return(true);
}
 
Arseniy Barudkin:
Ciao, per favore aiutami con questa funzione, sono già esausto e non so come farlo bene! Ho bisogno che sarebbe in grado di entrare nei parametri, il tempo del mio computer. Grazie in anticipo!
TimeLocal()
 
Rustem71:


Se hai capito bene, è così. Da qui in poi ci pensi tu.

E scrivere i codici correttamente.


Grazie mille, molto utile! Sono un po 'più di due settimane di scrittura ancora non sapeva tali sottigliezze!
 
Salve, cari membri del forum, quando creo un semplice EA, ottengo un errore! Potete dirmi per favore la ragione di questo?
File:
meryjj.jpg  197 kb
 
naravat:
Salve, cari membri del forum, quando creo un semplice EA, ottengo un errore! Potete per favore dirmi il motivo.

Dovete mettere le parentesi dopo il ritorno e in esse dovete scrivere un valore dello stesso tipo del tipo della funzione.
Motivazione: