Domanda per gli intenditori - pagina 14

 
Спасибо большое!
 
rid писал(а) >>

Buon pomeriggio. Non riesco a capire l'uso dell'indicatore nell'EA.

Ecco l'indicatore stesso:



Sto chiamando l'indicatore nell'Expert Advisor in questo modo (valori da 2 buffer) -

Tuttavia, anche se nella modalità visiva posso vedere che i valori dell'indicatore di entrambi i buffer cambiano da zero a più/meno cinque, ma la dogana mostra persistentemente (restituisce) degli zeri .....

Pubblicato in commento. - La linea verde =5, ma il commento mostra zero.

Sto cercando di capirlo da un'ora. Per favore, datemi un suggerimento su dove sia l'errore.

Ho scaricato lo strumento stesso.

Ho trovato l'errore. Ho inviato uno script di prova a Misha.

Infatti tutti i parametri devono essere passati. Anche quelli in corda.

File:
level_1.mq4  2 kb
 
Grazie Vinin!
 

Buon pomeriggio, per favore aiutate i conoscitori ad inventare un oscillatore sulla formula heiken ashi che mostri la differenza tra haOpen e haClose. Grazie in anticipo!

 

Ciao a tutti!

Si prega di consigliare. ecco il codice:

// Проверка условий для совершения сделки селл 
  if( если условия соотв.- ют заданным){ //продаем
StopLevel = MarketInfo(Symbol(),MODE_STOPLEVEL);
   
      SL=0; TP=0;
      if( StopLoss>0    && StopLoss> StopLevel)   SL=Bid+Point* StopLoss;
      if( TakeProfit>0 && TakeProfit> StopLevel) TP=Bid-Point* TakeProfit;
      if( StopLoss  < StopLevel && StopLoss>0)   SL = Bid+Point* StopLevel; 
      if( TakeProfit< StopLevel && TakeProfit>0) TP = Bid-Point* StopLevel; 
   ticket=OrderSend(Symbol(),OP_SELL, lots,Bid,3, SL, TP,"Name_Expert", Magic,0, clOpenSell);

                                                   }

Non riesco a capire cosa c'è che non va! Il log del tester restituisce l'errore 130 (stop sbagliati) se imposto stoploss e takeprofit inferiori al consentito!

Ma ho specificamente fornito che questo errore non si è verificato!

Per favore consigliate perché le condizioni non funzionano? -


 if( StopLoss  < StopLevel &&   StopLoss>0)   SL = Bid+Point* StopLevel; 
 if( TakeProfit< StopLevel  && TakeProfit>0)   TP = Bid-Point* StopLevel; 
 
Che ne dite di aggiungere una doppietta a StopLevel per la liberazione? Una volta ha funzionato per me.
 
Molti principianti hanno un problema nel confrontare i numeri in virgola mobile. Granit77 ha ragione, di solito aggiungo 0,1 pip invece di 1-2 pip per mantenere l'Expert Advisor accurato
 
granit77 >> :
Che ne dite di aggiungere una doppietta a StopLevel per lo scarto? Una volta ha funzionato per me.

Come questo? :

 if( StopLoss  < StopLevel &&   StopLoss>0)   SL = Bid+Point*( StopLevel+1); 
 if( TakeProfit< StopLevel  && TakeProfit>0)   TP = Bid-Point*( StopLevel+1); 

>> Non funziona.

Inoltre, nel tester queste condizioni dovrebbero funzionare anche senza gap. Ma non lo fanno. - Viene fuori l'errore 130

 
rid >> :

Non è utile.

Inoltre, nel tester queste condizioni dovrebbero funzionare anche senza gap. Ma non è così. - Viene mostrato l'errore 130

Non sono un esperto, ma vorrei stampare i valori delle variabili StopLoss, TakeProfit, StopLevel, SL e TP.

Non riesco a vedere come sono dichiarati o perché sono necessari

 SL=0; TP=0
 
goldtrader >> :

Non sono un esperto, ma vorrei stampare i valori delle variabili StopLoss, TakeProfit, StopLevel, SL e TP.

Non riesco a vedere come sono dichiarati e per cosa

Ecco come si fa:

extern int     StopLoss=1;
extern int     TakeProfit=1;
double SL, TP;
int StopLevel;

//---------------
StopLevel = MarketInfo(Symbol(),MODE_STOPLEVEL);

  if( УСЛОВИЯ ВХОДА ){ //продаем
   
      SL=0; TP=0;
      if( StopLoss>0    && StopLoss> StopLevel)   SL=Bid+Point* StopLoss;
      if( TakeProfit>0 && TakeProfit> StopLevel) TP=Bid-Point* TakeProfit;

      if( StopLoss  < StopLevel && StopLoss>0)   SL = Bid+Point* StopLevel; 
      if( TakeProfit< StopLevel && TakeProfit>0) TP = Bid-Point* StopLevel;
 
   ticket=OrderSend(Symbol(),OP_SELL, lots,Bid,3, SL, TP,"Name_Expert", Magic,0, clOpenSell);
   if( ticket < 0){
            Print("Ошибка открытия ордера SELL #", GetLastError()); 
            Sleep(10000);  
            prevtime = Time[1]; 
            return (0); 
         } 
       }

Le posizioni sono aperte, ma al posto degli stop c'è un errore 130 .....

Visualizzati tutti gli arresti e i livelli nel commento . - tutto sembra essere visualizzato correttamente... - ma viene fuori l'errore 130

Motivazione: