L'equazione di una linea retta. Questa funzione calcola il valore dell'ordinata Y per l'ascissa X all'intersezione con una linea disegnata attraverso due punti arbitrari del grafico. La funzione prende i seguenti parametri obbligatori:
x1, y1 - Coordinate del primo punto.
x2, y2 - Coordinate del secondo punto.
x - Valore, ascissa per cui l'ordinata Y deve essere calcolata.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 12.10.2007 |//| Описание : Уравнение прямой. |//| Вычисляет значение Y для X в точке пересечения с прямой. |//+----------------------------------------------------------------------------+//| Параметры: |//| x1,y1 - координаты первой точки, |//| x2,y2 - координаты второй точки, |//| x - значение, для которого вычислить Y |//+----------------------------------------------------------------------------+doubleEquationDirect(doublex1, doubley1, doublex2, doubley2, doublex){if(x2==x1)return(y1);
return((y2-y1)/(x2-x1)*(x-x1)+y1);
}
Ho scritto questa funzione per migliorare la comodità di sviluppare indicatori di segnale, cioè quegli indicatori che danno chiari segnali di acquisto o vendita. Il segnale di tale indicatore di solito faccio come una freccia verso il basso sopra il Khai di una barra o come una freccia verso l'alto sotto il basso della barra corrispondente. Il valore di "sotto" e "sopra" era di solito qualche punto, in modo che la freccia non "corresse sopra" la barra. Non era un gran problema nel caso di un indicatore a timeframe singolo progettato solo per barre di un'ora, per esempio. Per ogni timeframe ho avuto diversi valori "sotto" e "sopra". Tuttavia, per un indicatore multiframe ho dovuto usare la funzione GetArrowInterval():
Questa è una vecchia variante che si è trasformata molto rapidamente in una forma più compatta e versatile:
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 12.10.2007 |//+----------------------------------------------------------------------------+//| Описание : Возвращает интервал установки сигнальных указателей |//| Параметры: |//| pr - процент относительно ценового размера окна |//+----------------------------------------------------------------------------+intGetArrowInterval(intpr=7){if(pr<=0)pr=7;
return((WindowPriceMax()-WindowPriceMin())/100*pr/Point);
}
L'equazione di una linea retta. Questa funzione calcola il valore dell'ordinata Y per l'ascissa X all'intersezione con una linea disegnata attraverso due punti arbitrari del grafico. La funzione prende i seguenti parametri obbligatori:
x1, y1 - Coordinate del primo punto.
x2, y2 - Coordinate del secondo punto.
x - Valore, l'ascissa per la quale volete calcolare l'ordinata Y.
Scrivi la seconda parte dell'equazione della linea.
Calcola il valore dell'ordinata Y per l'ascissa di X nel punto di intersezione con una linea disegnata attraverso un punto arbitrario su un grafico con un angolo dato. La funzione prende i seguenti parametri obbligatori:
x1, y1- Coordinate del primo punto.
a - Angolo in gradi.
x - Valore, l'ascissa per la quale volete calcolare l'ordinata y.
Scrivi la seconda parte dell'equazione di una linea retta.
Calcola il valore dell'ordinata Y per l'ascissa X nel punto di intersezione con una linea disegnata attraverso un punto arbitrario su un grafico con un angolo dato. La funzione prende i seguenti parametri obbligatori:
x1, y1- Coordinate del primo punto.
a - Angolo in gradi.
x - Valore, l'ascissa per cui l'ordinata Y deve essere calcolata.
Grazie.
Un angolo di 45° si verifica quando i cateti sono uguali. Quando l'unità di misura dei cateti è metrica, non ci sono problemi. Un cateto è di due metri e anche l'altro è di due metri. Quindi è un angolo di 45°. Ma che dire quando un cateto è il numero di barre o il tempo, e l'altro cateto è il prezzo? Come ti assicuri che siano uguali in modo che l'angolo sia di 45°? È una questione di scala. Datemi un fulcro e muoverò la terra (c).
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Esempi di come usare SetRegression().
PS. In allegato c'è uno script per testare la funzione SetRegression().
La funzione EquationDirect().
L'equazione di una linea retta. Questa funzione calcola il valore dell'ordinata Y per l'ascissa X all'intersezione con una linea disegnata attraverso due punti arbitrari del grafico. La funzione prende i seguenti parametri obbligatori:
Esempi di come usare EquationDirect().
SZY. In allegato c'è uno script per testare EquationDirect().
Funzione GetArrowInterval().
Ho scritto questa funzione per migliorare la comodità di sviluppare indicatori di segnale, cioè quegli indicatori che danno chiari segnali di acquisto o vendita. Il segnale di tale indicatore di solito faccio come una freccia verso il basso sopra il Khai di una barra o come una freccia verso l'alto sotto il basso della barra corrispondente. Il valore di "sotto" e "sopra" era di solito qualche punto, in modo che la freccia non "corresse sopra" la barra. Non era un gran problema nel caso di un indicatore a timeframe singolo progettato solo per barre di un'ora, per esempio. Per ogni timeframe ho avuto diversi valori "sotto" e "sopra". Tuttavia, per un indicatore multiframe ho dovuto usare la funzione GetArrowInterval():
Questa è una vecchia variante che si è trasformata molto rapidamente in una forma più compatta e versatile:
Esempi di come usare GetArrowInterval().
In allegato c'è uno script per testare la funzione GetArrowInterval().
In e-SOTrailing EA è necessario effettuare la modifica di take e stop.
Grazie! Fatto... L'EA corretto è sul mio sito web.
La funzione EquationDirect().
L'equazione di una linea retta. Questa funzione calcola il valore dell'ordinata Y per l'ascissa X all'intersezione con una linea disegnata attraverso due punti arbitrari del grafico. La funzione prende i seguenti parametri obbligatori:
Scrivi la seconda parte dell'equazione della linea.
Calcola il valore dell'ordinata Y per l'ascissa di X nel punto di intersezione con una linea disegnata attraverso un punto arbitrario su un grafico con un angolo dato. La funzione prende i seguenti parametri obbligatori:
Grazie.
Scrivi la seconda parte dell'equazione di una linea retta.
Calcola il valore dell'ordinata Y per l'ascissa X nel punto di intersezione con una linea disegnata attraverso un punto arbitrario su un grafico con un angolo dato. La funzione prende i seguenti parametri obbligatori:
Grazie.
Un angolo di 45° si verifica quando i cateti sono uguali. Quando l'unità di misura dei cateti è metrica, non ci sono problemi. Un cateto è di due metri e anche l'altro è di due metri. Quindi è un angolo di 45°. Ma che dire quando un cateto è il numero di barre o il tempo, e l'altro cateto è il prezzo? Come ti assicuri che siano uguali in modo che l'angolo sia di 45°? È una questione di scala. Datemi un fulcro e muoverò la terra (c).