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

 

Qui: https://docs.mql4.com/ru/dateandtime/DayOfWeek

Ho visto questo, restituisce il giorno della settimana, ma ho bisogno di sapere quale giorno della settimana è l'ultimo giorno della prossima settimana. Perché ci sono giorni in cui l'ultimo giorno lavorativo non è il venerdì

 
Puoi dirmi per favore se è possibile cambiare il modello del grafico che si apre dopo il test? Per rendere visibili i segni dell'accordo, ma quando applico il mio modello, tutti i segni sono lì...
 
alexhammer:


I tuoi codici non funzionano.... :( Ho solo bisogno di aprire un ordine nello stesso momento in cui viene attivato lo stop..... Nessun indicatore... semplicemente chiudendo il lotto.... Non pensavo fosse un compito così difficile!

AIUTATEMI!!! È urgente! :(

 
ScioMe:
Potete per favore modificare il modello di grafico che sarà aperto dopo il test? Sto usando il mio modello e tutti i segni sono lì...

Avviare il tester con "Visualizzazione" selezionata.

Quando il tester carica la storia e inizia a lavorare, premi il pulsante di pausa e imposta il tuo schema sul grafico,

premere il pulsante di pausa per continuare il tester. Puoi saltare la visualizzazione se lo desideri (pulsante Skip to).

Quando il tester finisce, vedrete tutte le frecce sul grafico con il vostro modello.

 
PariaH:


I tuoi codici non si adattano.... :( Ho solo bisogno di aprire un ordine nello stesso momento in cui viene attivato lo stop..... Nessun indicatore... semplicemente chiudendo il lotto.... Non pensavo fosse un compito così difficile!

PER FAVORE aiutatemi!!! È urgente!!! :(

Penso che questo possa essere risolto tenendo traccia del numero di lotti appesi. La funzione CalculateOrders() nel built-in MovingAverage Expert Advisor.

Avete fatto un ordine->calcolate il numero di ordini attivi->ricordatelo in una variabile->.

controllare ogni iterazione nella funzione Start-> se il numero di ordini è diminuito-> se è diminuito, reagire come necessario.

 
PariaH:


I vostri codici non si adattano.... :( Basta aprire un ordine nello stesso momento in cui si attiva stop..... Nessun indicatore... semplicemente chiudendo il lotto.... Non pensavo fosse un compito così difficile!

AIUTATEMI!!! È urgente! :(

La funzione F restituisce la bandiera per chiudere l'ultima posizione sullo stop:

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.05.2008                                                     |
//|  Описание : Возвращает флаг закрытия последней позиции по стопу.           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   ocp, osl;
  int      dg, i, j=-1, k=OrdersHistoryTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderCloseTime()) {
                t=OrderCloseTime();
                j=i;
              }
            }
          }
        }
      }
    }
  }
  if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
    dg=MarketInfo(sy, MODE_DIGITS);
    if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
    ocp=NormalizeDouble(OrderClosePrice(), dg);
    osl=NormalizeDouble(OrderStopLoss(), dg);
    if (ocp==osl) return(True);
  }
  return(False);
}

... sul prendere:

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.05.2008                                                     |
//|  Описание : Возвращает флаг закрытия последней позиции по тейку.           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
bool isCloseLastPosByTake(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   ocp, otp;
  int      dg, i, j=-1, k=OrdersHistoryTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderCloseTime()) {
                t=OrderCloseTime();
                j=i;
              }
            }
          }
        }
      }
    }
  }
  if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
    dg=MarketInfo(sy, MODE_DIGITS);
    if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
    ocp=NormalizeDouble(OrderClosePrice(), dg);
    otp=NormalizeDouble(OrderTakeProfit(), dg);
    if (ocp==otp) return(True);
  }
  return(False);
}

Guardate voi stessi qui. Allora puoi scrivere il tuo...

 

Salve.

Sto lavorando su un Expert Advisor, non riesco a capire come dovrebbe essere eseguita la seguente linea:

if (profitbuy<=0)mtpb=tpb;

La condizione è chiara, non è chiaro a quale risultato la variabile mtpb prende il valore della variabile tpb.

 
paibolit:

Salve.

Sto lavorando su un Expert Advisor, non riesco a capire come dovrebbe essere eseguita la seguente linea:

if (profitbuy<=0)mtpb=tpb;

La condizione è chiara, non è chiaro a quale risultato la variabile mtpb prende il valore della variabile tpb.

Se il profitto delle posizioni della baia non è superiore a zero, allora mtpb=tpb.
 
ZZZEROXXX:

Qui: https://docs.mql4.com/ru/dateandtime/DayOfWeek

Ho visto questo, restituisce il giorno della settimana, ma ho bisogno di sapere quale giorno della settimana è l'ultimo giorno della prossima settimana. Perché ci sono giorni in cui l'ultimo giorno della settimana non è venerdì.

Il fine non giustifica i mezzi.

Per chiarire, ecco una domanda: voi stessi, quando volete determinare "quale giorno della settimana sarà l'ultimo della prossima settimana", cosa fate? Giusto, cerchi il calendario dell'anno in corso, vedi quali festività cadono nel tuo paese nello specifico, e scopri se il fine settimana è stato trasferito da un giorno all'altro (per esempio da domenica a giovedì, per questo ogni anno il parlamento, cioè la Duma di Stato, adotta un documento separato), ecc. Pensi che qualcuno si prenderebbe la briga di creare un programma in MQL per questo scopo? Personalmente, è più facile per me guardare il calendario...

 

Buona sera! Scusa, voglio capire il principio, cosa, una tale costruzione non è possibile?

int u; u=0-10; for( u;u<30;u++) {Alert("u",u); } Scrive errore ';' - assegnazione attesa C:\Òãîðóìa MF Trader 4\documents\experts\cycle.mq4 (33, 31)
Mostra un punto e virgola tra u; u Ho controllato una volta con l'aiuto, per favore spiegate!

Motivazione: