Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 107

 

FEAR:

buona risposta

E soprattutto, quello giusto...
 
VladislavVG:


bool SLowTen = (Open[1]==Low[1]); // nessuna ombra inferiore di una candela rialzista

Cerca nel forum il confronto corretto dei numeri reali.

Chiunque può offendere un artista, avresti dovuto scriverlo correttamente. Mi piacciono molto le critiche - quelle costruttive. Anch'io conosco il codice brutto.

Ho un'altra domanda al riguardo - come scrivere in una condizione che la dimensione di una candela è più di 60 punti (in cinque cifre).

 
alexey1979621:

Chiunque può essere offeso da un artista, avresti dovuto scriverlo correttamente. Mi piacciono molto le critiche - critiche costruttive. Anch'io conosco il codice brutto.

Ecco un'altra domanda su di esso - come scrivere nella condizione che la dimensione della candela è più grande di 60 punti (in cinque cifre).


Confronto doppio:

if (NormalizeDouble(p1-p2,Digits)<0.5*Point) {
   // Значит равны
   }

Come prescrivere nella condizione che la dimensione della candela è più di 60 pip (su cinque cifre).

if (размер_свечи>60*Point) {}
 
artmedia70:

Confronto doppio:

Come prescrivere nella condizione che la dimensione della candela è più di 60 pip (su cinque cifre).


Perdonate la mia ottusità, ma p1 e p2 sono rispettivamente Alto e Basso? E cosa significa 0,5?

Applicato al mio codice esistente

   double STelo = MathAbs(Close[1]-Open[1])/Point; // тело бычьей свечи
   double SHighTen = (High[1]-Close[1])/Point; // верхняя тень бычьей свечи
   bool SLowTen = (Open[1]==Low[1]);    // отсутствие нижней тени бычьей свечи
  
   
   double Razmer_1 = (High[1]-Low[1])/Point; // размер свечи

        
   if(Volume[0]>1) return;

   if (Open[1]<Close[1] && SHighTen > 5*STelo && SLowTen == true && Razmer_1 > 60*Point)


Я правильно должен прописать: 
   double STelo = MathAbs(Close[1]-Open[1])/Point; // тело бычьей свечи
   double SHighTen = (High[1]-Close[1])/Point; // верхняя тень бычьей свечи
   bool SLowTen;

   if (NormalizeDouble(Open[1]-Low[1],Digits)<0.5*Point)  // отсутствие нижней тени бычьей свечи
  
   
   double Razmer_1 = (High[1]-Low[1])/Point; 

        
   if(Volume[0]>1) return;

   if (Open[1]<Close[1] && SHighTen > 5*STelo && SLowTen == true && Razmer_1 > 60*Point) // продажа
 
alexey1979621:

Chiunque può essere offeso da un artista, avresti dovuto scriverlo correttamente. Mi piacciono molto le critiche - critiche costruttive. Anch'io conosco il codice brutto.

C'è solo un'altra domanda al riguardo - come scrivere nella condizione che la dimensione della candela è più di 60 punti (in cinque cifre).



Questa è una conoscenza di base che dovete capire, non solo cercarla. La domanda è così masticata sul forum che solo i molto pigri non possono trovare la risposta e capirla. A proposito, è molto più utile per voi.

Ma che dire della bruttezza del codice - questo non fa per me. Mi sembra che sia abbastanza normale introdurre variabili aggiuntive per rendere il codice più leggibile.

 
artmedia70:

Confronto doppio:



In questo caso.

if (NormalizeDouble(p1-p2,Digits)<0.5*Point) {
   

NormalizeDouble() è ridondante ;).

 
VladislavVG:


In questo caso

NormalizeDouble() è ridondante ;).

E poi spiegargli perché non c'è normalizzazione qui e prezzi normalizzati negli ordini commerciali? Ecco perché ho messo la normalizzazione qui, in modo che non si arrotonda gli occhi quando invia prezzi non normalizzati negli ordini commerciali.
 
artmedia70:
E poi spiegargli perché qui non c'è normalizzazione, ma con i prezzi negli ordini commerciali con normalizzazione? Ecco perché ho messo la normalizzazione qui, in modo che non si arrotonda gli occhi quando invia prezzi non normalizzati nell'ordine di compravendita.


)))))))))))))))))) sì, questo è un argomento.
 
VladislavVG:

)))))))))))))))))) sì, questo è un argomento.
Penso che alla fine imparerà dove ha bisogno e dove non ha bisogno. Allo stesso tempo, saprà immediatamente che la normalizzazione è necessaria. E quando sarà possibile farne a meno, sarà al prossimo stadio di apprendimento... ;) Da tali considerazioni...
 
Gente, per favore aiutatemi. Sono passati cinque giorni e non riesco a capirlo. Ho creato il mio EA per modificare lo stop loss di un ordine quando vengono attivati i criteri giusti. E stop loss - che dovrebbe essere impostato, prendere profitto dell'ultimo ordine chiuso. Ma quando inizia la modifica, il robot imposta sempre uno Stop Loss di 1,0000. Non capisco cosa c'è di sbagliato. Mi sono già scervellato. Qualcuno ha qualche variante, come prendere il take profit dell'ordine precedente contro lo stop loss dell'ordine attuale?
Motivazione: