[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 222
L'essenza della domanda è che ho bisogno di contare il numero di barre in ogni blocco continuo del diagramma a barre dell'indicatore superiore. Ho scritto un tale indicatore (il più basso). In esso, il valore di ogni colonna del grafico a barre corrisponde al numero di barre in un blocco continuo dell'indicatore superiore, ma inizia a visualizzare solo dalla sua installazione (la linea verticale rossa).Voglio che venga visualizzato sulle barre precedenti (come quando si installa AO o CCI), cioè il "quadro" era simile all'indicatore centrale (è lo stesso indicatore, ma installato ancora prima). Ascolterò qualsiasi suggerimento con gratitudine (preferibilmente con snippet di codice).
L'essenza della domanda è che ho bisogno di contare il numero di barre in ogni blocco continuo del diagramma a barre dell'indicatore superiore. Ho scritto un tale indicatore (il più basso). In esso, il valore di ogni colonna del grafico a barre corrisponde al numero di barre in un blocco continuo dell'indicatore superiore, ma inizia a visualizzare solo dalla sua installazione (la linea verticale rossa).Ma ho bisogno che venga visualizzato anche su barre precedenti (come quando si installa AO o CCI), cioè il "quadro" era simile all'indicatore centrale (è lo stesso dell'indicatore inferiore, ma è stato installato anche prima).
Qualcosa del genere?
-
#property indicator_separate_window#property indicator_buffers 2#property indicator_color1 DodgerBlue#property indicator_color2 Bisque#property indicator_width1 2#property indicator_width2 2//===============================double fx1[],fx2[];
double ao,ao1;
int ti,n,fs;
//******************************************************************int init()
{
SetIndexBuffer(0,fx1); SetIndexStyle(0,2);
SetIndexBuffer(1,fx2); SetIndexStyle(1,2);
SetLevelValue(0,0);
SetLevelValue(1,10);
SetLevelValue(2,20);
SetLevelValue(3,-10);
SetLevelValue(4,-20);
return(0);
}
//******************************************************************int start()
{
int cbi=Bars-IndicatorCounted()-1; if (cbi<0) return(-1);
if (cbi==1) cbi--;
if (cbi>1) {cbi=Bars-37; n=0; ti=Time[cbi];}
//-------------------------------------------------for(int i=cbi; i>=0; i--)
{
if (ti!=Time[i]) {n++; ti=Time[i];}
ao = iAO(NULL,0,i);
ao1 = iAO(NULL,0,i+1);
if (ao>ao1) {if (fs==2) n=1; fs=1;} elseif (ao<ao1) {if (fs==1) n=1; fs=2;}
if (fs==1) {fx1[i]=n; fx2[i]=0;} elseif (fs==2) {fx2[i]=-n; fx1[i]=0;}
}
return(0);
}
//******************************************************************
int start()
{
double Price=iOpen (Symbol (),0,0);
double SL=NormalizeDouble (Price-3000*Point, Digits);
double TP=NormalizeDouble (Price+100*Point, Digits);
#include <OMASS.mq4> //объявление и инициализация массиваdouble value = Bid ;// параметру value функции ArrayBsearch присваивается значение текущей ценыint S = ArrayBsearch( massiv[43], value, WHOLE_ARRAY, 0, MODE_ASCEND) //функция ищет самое близкое к текущей цене значениеif (MathAbs(NormalizeDouble(Bid - S,Digits))<=0.5*Point//если текущая цена отличается от значени возвращенного функцией не более чем 0,5 п.if (Bid==Price )
int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,SL,TP,"jfh",123 );//открыть ордер
}
Ma la variabile Ticket è anche definita nell'istruzione di assegnazione nel codice sottostante e il codice si compila con successo
int start()
{
double Price=iOpen (Symbol (),0,0);
double SL=NormalizeDouble (Price-3000*Point, Digits);
double TP=NormalizeDouble (Price+100*Point, Digits);
if (Bid==Price )
int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,SL,TP,"jfh",123 );
Спасибо.
L'essenza della domanda è che ho bisogno di contare il numero di barre in ogni blocco continuo del diagramma a barre dell'indicatore superiore. Ho scritto un tale indicatore (il più basso). In esso, il valore di ogni colonna del grafico a barre corrisponde al numero di barre in un blocco continuo dell'indicatore superiore, ma inizia a visualizzare solo dalla sua installazione (la linea verticale rossa).Voglio che venga visualizzato sulle barre precedenti (come quando si installa AO o CCI), cioè il "quadro" era simile all'indicatore centrale (è lo stesso indicatore, ma installato ancora prima). Ascolterò qualsiasi suggerimento con gratitudine (preferibilmente con snippet di codice).
L'essenza della domanda è che ho bisogno di contare il numero di barre in ogni blocco continuo del diagramma a barre dell'indicatore superiore. Ho scritto un tale indicatore (il più basso). In esso, il valore di ogni colonna del grafico a barre corrisponde al numero di barre in un blocco continuo dell'indicatore superiore, ma inizia a visualizzare solo dalla sua installazione (la linea verticale rossa).Ma ho bisogno che venga visualizzato anche su barre precedenti (come quando si installa AO o CCI), cioè il "quadro" era simile all'indicatore centrale (è lo stesso dell'indicatore inferiore, ma è stato installato anche prima).
Qualcosa del genere?
-
Qualcosa del genere?
-
Grazie mille! Proprio quello che ti serve!
int start()
{
double Sl =Low[1];
double Tpb =((High[1]-Open[1])/Tp)+Open;
double bar2b;
if (Open[2]<Close[2])bar2b=(High[2]-Open[2];
double bar1b;
if(Open[1]<Close[1])bar1b=(High[1]-Open[1]);
if(bar2b<bar1b)OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Sl,Tpb,",16384,0,Green);
aiuto!!!
indicatore di media mobile semplice
come applicarlo in un EA a: dati di indicatori precedenti
iMA(NULL,0,8,0,MODE_EMA,PRICE_PREVIOUS,0);
Spam. Abbastanza di un ramo separato
È meglio scrivere molte parole piuttosto che aiutare solo "questo è un credo di vita superiore, credo".
Signori! Buona sera!
Potresti dirmi perché il compilatore pensa che nel codice seguente
la variabile int Ticket è indefinita.
Genera un errore
'Ticket' - variabile non definita C:\Program Files\Alpari NZ MT4(2)\experts\hhhh.mq4 (18, 6)
Ma la variabile Ticket è anche definita nell'istruzione di assegnazione nel codice sottostante e il codice si compila con successo
Signori! Buona sera!
Potresti dirmi perché il compilatore pensa che nel codice seguente
la variabile int Ticket è indefinita.
Genera un errore
'Ticket' - variabile non definita C:\Program Files\Alpari NZ MT4(2)\experts\hhhh.mq4 (18, 6)
Ma la variabile Ticket è anche definita nell'istruzione di assegnazione nel codice sottostante e il codice si compila con successo
Probabilmente mancano solo le parentesi in un punto