Maksim Efimov MACD standard di una linea di segnale e un istogramma. L'idea è questa: su ogni nuova barra prendiamo le due candele precedenti e otteniamo i valori dell'indicatore su ciascuna di esse. Se il valore MACD sulla seconda candela è maggiore del valore del segnale e il valore MACD sulla prima candela è già sotto il segnale e tutti i valori sono sopra lo zero, significa che c'è un crossover verso l'alto e viceversa.
Ma, al momento di ottenere il valore diventa in qualche modo enorme. E solo uno - la linea di segnale della seconda candela. Può essere 8 a che grado, 4,5, 7, ecc. Quando appare la barra successiva, il valore della linea di segnale della seconda barra dalla nuova barra può già essere normale. Tutti gli altri risultano essere corretti. E nella finestra dei dati, il valore è anche corretto. Non riesco a capire perché. Cosa sto facendo di sbagliato?
Ho la sensazione che si tratti di un doppio variabile. Perché il valore nella finestra dei dati è 0,000081, ma risulta 8,1....., la stessa cosa ho notato con un altro valore - nella finestra dei dati 0,000071, ma nella variabile 7,1..... Ma sono tutti definiti come variabili doppie.
Non ci sono 8 nel commento, c'è una continuazione.
Grazie. Questo lo mostra correttamente. Un errore stupido, ovviamente. Ma mi chiedo ancora perché tutti gli altri valori sono visualizzati normalmente e solo uno è storto.
Grazie. Questo è il modo giusto per farlo. Un errore stupido, ovviamente. Ma mi chiedo ancora perché tutti gli altri valori sono visualizzati normalmente e solo uno è storto.
Non è storto, è corretto a livello della macchina, vedete che c'è "e-08" alla fine.
Per esempio, il numero 1e-05 non è un errore ma0,00001.
Dovete usare DoubleToString per vedere quello a cui siamo abituati e il programma funzionerà comunque correttamente
Онлайн калькулятор для перевода чисел в экспоненциальный вид и обратно, другим языком для вычисления чисел с буквой E. На компьютере (в частности в тексте компьютерных программ) экспоненциальную запись записывают в виде MEp (пример 1e-10), где: M — мантисса, E (exponent) — буква E, означающая «*10^» («…умножить на десять в степени…»), p — порядок. Это необходимо для представлении очень больших и очень малых чисел, а также для унификации их написания. Многие пользователи калькуляторов столкнулись с вопросом: Что означает буква "E" в цифровом калькуляторе? Это Экспоненциа́льная за́пись— представление действительных чисел в виде мантиссы и порядка. Удобна для записи очень больших и очень малых чисел.
Ma, al momento di ottenere il valore diventa in qualche modo enorme. E solo uno - la linea di segnale della seconda candela. Può essere 8 a che grado, 4,5, 7, ecc. Quando appare la barra successiva, il valore della linea di segnale della seconda barra dalla nuova barra può già essere normale. Tutti gli altri risultano essere corretti. E nella finestra dei dati, il valore è anche corretto. Non riesco a capire perché. Cosa sto facendo di sbagliato?
Ho la sensazione che si tratti di un doppio variabile. Perché il valore nella finestra dei dati è 0,000081, ma risulta 8,1....., la stessa cosa ho notato con un altro valore - nella finestra dei dati 0,000071, ma nella variabile 7,1..... Ma sono tutti definiti come variabili doppie.
Non ci sono 8 nel commento, c'è una continuazione.
Non ce ne sono 8 nel commento, ma c'è un seguito.
Grazie. Questo lo mostra correttamente. Un errore stupido, ovviamente. Ma mi chiedo ancora perché tutti gli altri valori sono visualizzati normalmente e solo uno è storto.
Grazie. Questo è il modo giusto per farlo. Un errore stupido, ovviamente. Ma mi chiedo ancora perché tutti gli altri valori sono visualizzati normalmente e solo uno è storto.
Non è storto, è corretto a livello della macchina, vedete che c'è "e-08" alla fine.
Per esempio, il numero 1e-05 non è un errore ma0,00001.
Dovete usare DoubleToString per vedere quello a cui siamo abituati e il programma funzionerà comunque correttamente
Leggi
Non è storto, è corretto a livello di macchina, vedi che c'è una "e-08" alla fine.
Per esempio, il numero 1e-05 non è un errore, è0,00001.
Per vedere quello a cui siamo abituati, dovete usare DoubleToString e il programma funzionerà comunque correttamente
Leggi
Grazie ancora. Lo leggerò.
Risolto, ora funziona. Ovviamente non è giusto, ma funziona.
{ if(iTrailTakeProfit > 0.0) { tp=OrderTakeProfit() + NormalizeDouble(iTrailTakeProfit * Point(),_Digits); if(NormalizeDouble(((tp - OrderTakeProfit())) < 0.0,Digits))return; tp = OrderTakeProfit(); }else tp = 0.0; if(OrderProfit() + OrderSwap() + OrderCommission() > MarketInfo(Symbol(), MODE_TICKVALUE) * iTrailStart * OrderLots()); { if(((NormalizeDouble((Bid - OrderOpenPrice()*Point),Digits) >= NormalizeDouble(((Bid - NormalizeDouble((iTrailStart * Point),_Digits))),_Digits) > OrderStopLoss() || OrderStopLoss()==0)));//true { if((OrderStopLoss() == 0.0 && NormalizeDouble(Bid - OrderStopLoss()* Point,Digits) < NormalizeDouble((Bid - NormalizeDouble((iTrailDist * Point),_Digits)),_Digits)));//true { if(iTrailStep > 0.0 && OrderStopLoss() >= 0.0 && NormalizeDouble(((Bid - OrderStopLoss() - iTrailDist * Point)),Digits) >= iTrailStep);//true { sl_lev = NormalizeDouble((Bid - iTrailDist * Point()),_Digits); if(NormalizeDouble(Bid - sl_lev * Point,_Digits) < MarketInfo(Symbol(),MODE_STOPLEVEL));//false { if(!OrderModify(Forder,OrderOpenPrice(),NormalizeDouble(Bid - NormalizeDouble((iTrailStart * Point),_Digits),_Digits),tp,OrderExpiration())); Print("Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError()); } } } } } }Non imposta i fermi correttamente, come posso risolvere il problema?
E guardare nella rivista per vedere cosa risulta essere)
All'inizio non ho scritto nulla, poi ho iniziato a guardare in sequenza e si è rivelato molto.
Grazie.
Risolto, ora funziona. Ovviamente non è giusto, ma funziona.
Non imposta bene i fermi, come si fa a risolvere il problema?
Da dove prendete questi dati?
Da dove prendete questi dati?
Dal mandato.
MQL5 restituirà anche immediatamente
Se l'ordine viene accettato con successo dal server commerciale, la funzione OrderSend() restituisce true.