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
Grazie per questo
Che ruolo ha questa linea SetIndexStyle(0, DRAW_LINE) nel codice precedente quando abbiamo appena usato gli oggetti per disegnare la linea? Abbiamo bisogno di menzionarli, capisco il ruolo dei buffer, ma non so perché un buffer dovrebbe essere collegato a un indice e perché un indice dovrebbe avere uno stile come quello che vediamo è fuori dalla chiamata createObject con gli atributi del prezzo?
Avete visto voi stessi usando il codice di cui sopra le candele hanno bordi curvi e non rettangoli puri come il grafico dei prezzi?
L'ho già spiegato.
Se volete dei rettangoli, disegnate dei rettangoli invece di oggetti trendline.
Ciao Phy
Scusa se sono un rompiscatole, l'opzione RECTANGLE non funziona, ecco perché ti sto disturbando, grazie per la tua pazienza e per favore prova questo e fammi sapere, ho fissato i calcoli HA.
Per favore provate un'ultima volta grazie, vorrei poter far funzionare correttamente questo rettangolo.
#proprietà indicator_separate_window
#proprietà indicator_buffers 6
#proprietà indicator_color1 CLR_NONE
#proprietà indicator_color2 CLR_NONE
double high[];
double low[];;
doppio open[];
doppio close[];
doppio haOpen1[]
doppio haClose1[];
//+------------------------------------------------------------------+
//|Funzione di inizializzazione dell'indicatore personalizzata |
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0, DRAW_LINE);
SetIndexStyle(1, DRAW_LINE);
SetIndexStyle(2, DRAW_LINE);
SetIndexStyle(3, DRAW_LINE);
SetIndexStyle(4, DRAW_LINE);
SetIndexStyle(5, DRAW_LINE);
SetIndexBuffer(0, high);
SetIndexBuffer(1, low);
SetIndexBuffer(2, open);
SetIndexBuffer(3, close);
SetIndexBuffer(4, haOpen1);
SetIndexBuffer(5, haClose1);
return(0);
}
//+------------------------------------------------------------------+
//| Funzione personalizzata di deinizializzazione dell'indicatore |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| Funzione di iterazione dell'indicatore personalizzata |
//+------------------------------------------------------------------+
int start(){
stringa basename = "Heikin-Ashi";
IndicatoreNomeCorto(nome base);
int window = WindowFind(basename);
for (int i = Bars-100; i >= 0; i--){
// questi due indici sono usati per controllare la dimensione della sottofinestra
// non sono visibili
high[i] = High[i];
low[i] = Low[i];
doppio haOpen, haHigh, haLow, haClose,haDiffCo;
haOpen=(haOpen1[i+1]+haClose1[i+1])/2;
haOpen1[i] = haOpen;
haClose=(Open[i]+High[i]+Low[i]+Close[i])/4;
haClose1[i] = haClose;
haHigh=MathMax(haOpen,High[i]);
haLow=MathMin(haOpen,Low[i]);
stringa name1 = "Heikin-Ashi-HL-"+i;
if(ObjectFind(name1) != -1) ObjectDelete(name1);
ObjectCreate(name1, OBJ_TREND, window, Time[i], haHigh, Time[i], haLow);
ObjectSet(nome1, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name1, OBJPROP_RAY, 0);
ObjectSet(name1, OBJPROP_WIDTH, 2);
stringa nome2 = "Heikin-Ashi-OC-"+i;
if(ObjectFind(nome2) != -1) ObjectDelete(nome2);
ObjectCreate(name2, OBJ_RECTANGLE, window, Time[i], haOpen, Time[i], haClose);
ObjectSet(name2, OBJPROP_WIDTH, 5);
//ObjectSet(name2, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name2, OBJPROP_RAY, 0);
se (haOpen < haClose) {
ObjectSet(nome1, OBJPROP_COLOR, Chartreuse);
ObjectSet(name2, OBJPROP_COLOR, Chartreuse);
}else{
ObjectSet(nome1, OBJPROP_COLOR, Rosso);
ObjectSet(nome2, OBJPROP_COLOR, Rosso);
}
}
return(0);
}
Le candele dovrebbero essere linee di tendenza
Larghezza del corpo 2 o più probabilmente 3
Non so di cosa tu stia parlando di "arrotondamento" delle linee
Mostra un'immagine
A volte quando si scorre verso sinistra si ottiene anche questo (misto verde e rosso)
Sì, lo vedo.
Credo che tu abbia delle barre stantie da cancellare lì.
Capire cosa c'è di sbagliato, poi pensare a come si potrebbe risolvere il problema. ci sono barre duplicate, cosa sta succedendo?
Ciao Phy
Se ho ragione, il problema potrebbe essere dovuto al fatto che faccio così
SetIndexStyle(0, DRAW_LINE);
SetIndexStyle(1, DRAW_LINE);
SetIndexStyle(2, DRAW_LINE);
SetIndexStyle(3, DRAW_LINE);
SetIndexStyle(4, DRAW_LINE);
SetIndexStyle(5, DRAW_LINE);
Faccio quanto sopra e faccio disegnare i buffer e allo stesso tempo faccio
if(ObjectFind(name1) != -1) ObjectDelete(name1);
ObjectCreate(name1, OBJ_TREND, window, Time[i], haHigh, Time[i], haLow);
ObjectSet(nome1, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name1, OBJPROP_RAY, 0);
ObjectSet(name1, OBJPROP_WIDTH, 2);
stringa nome2 = "Heikin-Ashi-OC-"+i;
if(ObjectFind(nome2) != -1) ObjectDelete(nome2);
ObjectCreate(name2, OBJ_TREND, window, Time[i], haOpen, Time[i], haClose);
ObjectSet(name2, OBJPROP_WIDTH, 5);
//ObjectSet(name2, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name2, OBJPROP_RAY, 0);
Quindi sia i dati nel buffer che gli oggetti sono disegnati uno sopra l'altro, è corretto?
Dovrei rimuovere l'impostazione del codice di stile dell'indice poiché sto usando il buffer solo per la memorizzazione dei dati e non voglio disegnarlo?
Ho ragione?