
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Salve ho scritto un indicatore che sul grafico traccia le percentuali del prezzo come scostamento, il problema è che il livello base devo inserirlo io e vorrei che lo prendesse automaticamente dall'apertura della candela weekly, mentre adesso devo inserirlo io emodificarlo.
Ho provato la funzione in calce ma va in errore nella riga open, e non capisco il xke.
datetime inizioSettimana=TimeCurrent()-Period()*7;
extern double Livello_Base=Open(inizioSettimana);
Inoltre vorrei che le linee fossero della lunghezza della week e non per tutto il grafico, insomma come la foto in calce ed allego codice e l'immagine del come lo vorrei.
codice attuale:
#property indicator_chart_window
extern double Livello_Base=1.06;
extern double Scostamento_Percentuale_1=0.25; etc x altre linee
long cid;
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime& time[],
const double& open[],
const double& high[],
const double& low[],
const double& close[],
const long& tick_volume[],
const long& volume[],
const int& spread[])
{
cid=ChartID();
double h1=Livello_Base*(1+(Scostamento_Percentuale_1/100)); + h2 h3 etc
ObjectCreate(cid,"lh1",OBJ_HLINE,0,0,h1);
ObjectSetInteger(cid,"lh1",OBJPROP_COLOR,Scarto_Positivo);
ObjectSetInteger(cid,"lh1",OBJPROP_STYLE,2); etc per le altre linee
ObjectCreate("ph1",OBJ_TEXT,0,TimeCurrent(),h1);
ObjectSetText("ph1",DoubleToStr(Scostamento_Percentuale_1,2)+" %",10,"Arial",Scarto_Positivo);
ObjectSetInteger(cid,"ph1",OBJPROP_TIME,Time[0]+(Period()*1600)); etc per le altre linee
eturn(rates_total);
}
void OnDeinit(const int reason)
{
ObjectDelete(ChartID(),"lh1"); etc x altre linee