[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 562

 
double tenkan,kiju,chinku;
   tenkan=iIchimoku(Symbol(),PERIOD_H4,12,24,120,1,0);
   kiju=iIchimoku(Symbol(),PERIOD_H4,12,24,120,2,0);
   chinku=iIchimoku(Symbol(),PERIOD_H4,12,24,120,5,0);
   
   Print("tenkan:",tenkan," kiju:",kiju," chinku:",chinku);

chinko span output 0, qual è il problema?

2012.02.14 08:33:25 NUOVO ORO,M5: tenkan:1718.2 kiju:1727.8 chinku:0

 
sss2019:

Dimmi perché potrebbe esserci un errore 130


Stops troppo vicini o prezzi calcolati in modo errato o non normalizzati negli stops(o nel Level price dell'apertura dell' ordine pendente).

ticket1 = OrderSend(Symbol(),OP_BUYLIMIT,Lot,Level,Slippage,0,0,NULL,MagicNumber,0,Green);
 
Sepulca:


Stops troppo vicini o prezzi calcolati in modo errato o non normalizzati negli stops(o nel Level price di apertura di un ordine pendente).


Non preoccuparti - non sai cosa può essere - possono essere molte cose - tutto ciò che corrisponde alla descrizione di questo errore... perché indovinare? :-)

ERR_INVALID_STOPS 130 Arresti errati

Fate come regola generale di fare SEMPRE i controlli necessari quando piazzate o aprite un ordine dal mercato e lo modificate.

Tutto.

О! Scusa - si scopre che sei stato tu a rispondere... :-) E io ti sto rispondendo... :-)

 
Reshetov:


Commenta la transazione, io metto sempre 0 quando non voglio mettere un commento))
 
sss2019:

...

Non preoccuparti - chissà cosa potrebbe essere - molto - tutto ciò che corrisponde alla descrizione dell'errore... perché indovinare? :-)

ERR_INVALID_STOPS 130 Arresti errati

Se hai una buona fede in un ordine di mercato, dovresti sempre fare i controlli necessari quando lo imposti o lo apri, così come quando lo modifichi.

Tutto.
 

trade 0,1 lotto su sterlina-dollaro - max drawdown 3%=))) ha girato l'EA e guarda cosa ho ottenuto=)))

 
alsu:

Non può essere memorizzato da nessuna parte nel terminale perché la leva può essere fluttuante e solo il server può saperlo. Secondo me, questo è il modo più corretto di calcolarlo:



Ho letto e pensato, e l'ho fatto a modo mio, ma la domanda sorge spontanea - il separatore nei numeri di tipo doppio è sempre uguale a punto?

void start()
  {
   double x = MathMin(MarketInfo(Symbol(), MODE_MINLOT),MarketInfo(Symbol(), MODE_LOTSTEP));

   Comment(digits(x));
  }
//+------------------------------------------------------------------+
int digits(double number)
  { 
  string y = DoubleToStr(number,8);
  int k = StringLen(y)-2;
  
  for(int i = -1; ;k--)
    {
    string x = StringSubstr(y,k,1);
    if(x != "0" && i < 0) i = k;
    if(x == ".") return(i-k); //Разделитель в mql4 всегда равен - точке?
    }
  }
 
fore-x:

Ho letto e pensato, e l'ho fatto a modo mio, ma è sorta una domanda - il separatore nei numeri di tipo doppio è sempre uguale a un punto?


Sì. È un linguaggio di programmazione, non è Excel o un testo scritto a mano.
 
fore-x:

Ho letto e pensato, e l'ho fatto a modo mio, ma è sorta una domanda - il separatore nei numeri di tipo doppio è sempre uguale a un punto?


Sempre.
 

Come terminare programmaticamente un Expert Advisor - qualcosa come terminate(0)?

MQL4 ha una tale possibilità, o è solo possibile terminare un Expert Advisor manualmente?

Grazie in anticipo.