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

 
gheka:

Per quanto mi sforzi, ho riscritto tutto, ma ancora l'errore 130, aiuto dove è sbagliato?

Non credo che un livellatore di stop sia necessario qui, sono e si fermano a 1000?

Prova

extern double StopLoss=1000.0;
extern double TakeProfit=1000.0;
extern double Lots=1.0;
extern int total;


int start() {

int dg;
double Price_1,Price_2,min,max,pa,pb,pt;

pt=MarketInfo(Symbol(),MODE_POINT);
dg=MarketInfo(Symbol(),MODE_DIGITS);
pa=MarketInfo(Symbol(),MODE_ASK);
pb=MarketInfo(Symbol(),MODE_BID);
Price_1=pb;
Price_2=pa;
min=iLow(NULL,0,2);
max=iHigh(NULL,0,2);
total=OrdersTotal();

double slB=NormalizeDouble(pa-StopLoss*pt,dg);
double tpB=NormalizeDouble(pa+TakeProfit*pt,dg);
double slS=NormalizeDouble(pb+StopLoss*pt,dg);
double tpS=NormalizeDouble(pb-TakeProfit*pt,dg);

  if(total<1) 
  {
   if(Price_1>max)
      OrderSend(Symbol(),OP_BUY,Lots,pa,2,slB,tpB,"My order#",16384,0,Green);

   if(Price_2<min)
      OrderSend(Symbol(),OP_SELL,Lots,pb,2,slS,tpS,"My order#",16384,0,Green);
  }

}
 
Ciao, qualcuno ha un tale tester Exp - Multi Tester per Mt4 se non ti dispiace condividere per favore!
 
Ciao ragazzi, non riesco a capire mql4(( Voglio scrivere un piccolo EA basato su due EMA (medie mobili) che danno un segnale acustico dopo l'incrocio? Puoi dirmi qualcosa di questo programma? Grazie in anticipo!!!
 

esiste una funzione che restituisce il valore di un ordine di chiusura(stop loss)?

per esempio per far sapere all'EA se è scattato uno stop loss

Non l'ho trovato nella documentazione, forse c'è, ma l'ho riletto una decina di volte in un mese e non ricordo

Non mi sono ricordato di trovare una tale funzione

 
silmin85:
Ciao ragazzi, non riesco a capire mql4(( Voglio scrivere un piccolo EA basato su due EMA (medie mobili) che danno un segnale acustico dopo l'incrocio? Puoi dirmi qualcosa di questo programma? Grazie in anticipo!!!

Scriviamo solo in un posto la prossima volta. Lo spamming non va bene.
 
gheka:

esiste una funzione che restituisce il valore di un ordine di chiusura (stop loss)?

per esempio per far sapere all'EA se è scattato uno stop loss

Non l'ho trovato nella documentazione, forse c'è, ma l'ho riletto una decina di volte in un mese e non ricordo

Non ricordo di aver visto una funzione simile.

Cerca l'ordine nella storia e se lo trovi, confronta il suo prezzo di chiusura OrderClosePrice() con il suo livello di StopLoss OrderStopLoss()

Se sono uguali, allora la posizione ha chiuso su uno stop.

 
artmedia70:

Cerca l'ordine nella storia e, se lo trovi, confronta il suo prezzo di chiusura OrderClosePrice() con il suo livello di StopLoss OrderStopLoss()

Se sono uguali, significa che la posizione è stata chiusa allo Stop Loss.

Kim ha una funzione che prende l'ultimo ordine chiuso...
 
OlegTs:
Kim ha una funzione che prende l'ultimo ordine chiuso...

Lo so, molte persone stanno iniziando a imparare da queste funzioni. Ho dato un link al suo thread qui di recente, ma l'uomo persiste nel chiedere. Probabilmente troppo pigro per cercarlo... :)

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. 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);
}
 
Ciao ragazzi, potreste consigliarmi: slippage - Il valore dello slippage massimo in pip. Cos'è e a cosa serve? Lo imposto sempre a zero. Forse ha senso cambiarlo. Può essere cambiato dalla mia società di intermediazione? Grazie in anticipo!
 
RekkeR:

Se ci sono diversi indicatori sovrapposti in una finestra aggiuntiva, si può rimuovere la linea sopra di essi con i nomi e i parametri? Sono stufo di questo televideo.




Si può, ma è necessario rimuoverlo in ogni indicatore. Modificare il codice
Motivazione: