Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 807
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
Buona giornata a tutti! Sono seduto qui a far girare l'indicatore. Penso di aver fatto tutto bene. Ma il fatto è che... Apre gli scambi su ogni candela
Codice di Expert Advisor
// получение сигнала _________________________________________________________________________________________________________
int signal=-1;
se (time_bar!=Time[0]) {
time_bar=Time[0];
double stop_buy=iCustom(Symb,0, "cm-FiguresCandle",AlertON,colorBulls,colorBears,DrawCandle,0,1)
double stop_sell=iCustom(Symb,0, "cm-FiguresCandle",AlertON,colorBulls,colorBears,DrawCandle,1,1);
if(stop_buy!=EMPTY_VALUE || stop_sell!=EMPTY_VALUE) {
double super_buy=iCustom(Symb,0, "xSuperTrend Tape MTF NRP",",",SuperTrend_Period,SuperTrend_Multiplier,SuperTrend_TimeFrame,SuperTrend_AutoTF,0,1);
if(stop_buy!=EMPTY_VALUE && super_buy==1) signal=0;
if(stop_sell!=EMPTY_VALUE && super_buy==EMPTY_VALUE) signal=1;
}
codice indicatore
ritorno(0);
}
//+------------------------------------------------------------------+
int start()
{
stringa NameFigur;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
if(counted_bars==0) limit-=1+2;
for(int i=1; i<limite; i++)
{
bool up=false,down=false;
double MA0 = iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,i);
double MA1 = iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,i);
double MA2 = iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,i+1);
double MA3 = iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,i+2);
if(MA0>MA1 && MA1>MA2 && MA2>MA3) up=true;
else up=false;
if(MA0<MA1 && MA1<MA2 && MA2<MA3) down=true;
else down=false;
//---
NameFigur=";
if(Close[i]>Close[i+1] && Close[i]>Open[i+1])
{
if(down && Open[i+1]>Close[i+1] && Open[i]>Close[i+1] && Close[i]<Open[i+1] && Close[i]>Open[i])
{
NameFigur="BullHarami";
Redraw(i,colorBulls,NameFigur); Redraw(i+1,colorBulls,NameFigur);
}
if(Open[i+1]>Close[i+1] && Open[i]>Close[i+1] && Open[i]<Open[i+1] && Close[i]>Open[i+1])
{
NameFigur="BullCross";
Redraw(i,colorBulls,NameFigur); Redraw(i+1,colorBulls,NameFigur);
}
if(Close[i+1]<Open[i+1] && Open[i]<Close[i+1] && Close[i]>Open[i+1])
{
NameFigur="Bullish Engulfing";
if(Close[i+1]<Open[i+1] && Close[i]>Open[i] && Open[i]<Close[i+1] && Close[i]>Close[i+1]+((Open[i+1]-Close[i+1])/2))
{
NameFigur="BullPierce";
}
Redraw(i,colorBulls,NameFigur); Redraw(i+1,colorBulls,NameFigur);
}
if(Close[i+2]<Open[i+2] && Open[i+1]<Close[i+2] && Close[i+1]<Close[i+2] && Open[i]>Close[i+1] && Open[i]>Open[i+1] && Close[i]>=Close[i+2])
{
NameFigur="Stella del mattino";
Redraw(i,colorBulls,NameFigur); Redraw(i+1,colorBulls,NameFigur); Redraw(i+2,colorBulls,NameFigur);
}
}
if(Open[i]-Low[i]>MathMax(High[i]-Close[i],Close[i]-Open[i])*3 && Close[i]-Low[i]>MathMax(High[i]-Close[i],Close[i]-Open[i])*3)
{
NomeFigur="Martello";
if(up) {Redraw(i,colorBulls,NameFigur); Redraw(i+1,colorBulls,NameFigur);}
if(down) {Redraw(i,colorBears,NameFigur); Redraw(i+1,colorBears,NameFigur);}
}
///// orsi ///// orsi ///// orsi ///// orsi ///// orsi ///// orsi ///// orsi ///// orsi
if(Close[i]<Close[i+1] && Close[i]<Open[i+1])
{
if(up& Open[i+1]<Close[i+1] && Open[i]<Close[i+1] && Close[i]>Open[i+1] && Close[i]<Open[i])
{
NameFigur="BearHarami";
Redraw(i,colorBears,NameFigur); Redraw(i+1,colorBears,NameFigur);
}
if(Open[i+1]<Close[i+1] && Open[i]<Close[i+1] && Open[i]>Open[i+1] && Close[i]<Open[i+1])
{
NameFigur="BearCross";
Redraw(i,colorBears,NameFigur); Redraw(i+1,colorBears,NameFigur);
}
if(Close[i+1]>Open[i+1] && Close[i]<Open[i] && Open[i]>Close[i+1] && Close[i]<Open[i+1])
{
NameFigur="BearEngulf";
if(Close[i+1]>Open[i+1] && Open[i]>Close[i+1] && Close[i]<Close[i+1]-((Close[i+1]-Open[i+1])/2))
{
NameFigur="DarkCloud";
}
Redraw(i,colorBears,NameFigur); Redraw(i+1,colorBears,NameFigur);
}
se(Close[i+2]>Open[i+2] && Open[i+1]>Close[i+2] && Close[i+1]>Close[i+2] && Open[i]<Close[i+1] && Open[i]<Open[i+1] && Close[i]<Close[i+2])
{
NameFigur="EveningStar";
Redraw(i,colorBears,NameFigur); Redraw(i+1,colorBears,NameFigur); Redraw(i+2,colorBears,NameFigur);
}
if(up && High[i]-Open[i]>MathMax(Close[i]-Low[i],Open[i]-Close[i])*3 && High[i]-Close[i]>MathMax(Close[i]-Low[i],Open[i]-Close[i])*3)
{
NomeFigur="Tiratore";
Redraw(i,colorBears,NameFigur); Redraw(i+1,colorBears,NameFigur);
}
}
se(NomeFigura!="")
{
double DELTA=(MathMax(High[i],High[i+1])-MathMin(Low[i],Low[i+1]))/2;
if(Color==colorBears) {BufferDN[i]=MathMax(High[i],High[i+1]);P=BufferDN[i]+DELTA;}
else {BufferUP[i]=MathMin(Low[i],Low[i+1]);P=BufferUP[i]-DELTA;}
DrawTEXT(StringConcatenate(NameFigur," ",TimeToStr(Time[i],TIME_DATE|TIME_MINUTES)),NameFigur,Color,Time[i+1],P);
}
}
if(Timei!=Time[0] && AlertON && i==0 && NameFigur!="") {Alert(Symbol()+" FiguresCandle ="+NameFigur);Timei=Time[0];}
ritorno(0);
}
//-------------------------------------------------------------------
void Redraw(int i,color col,string name)
{
Colore=col;
if(!DrawCandle) ritorno;
name=StringConcatenate(name,",TimeToStr(Time[i],TIME_DATE|TIME_SECONDS));
ObjectCreate(name,OBJ_TREND,0,Time[i],High[i],Time[i],Low[i]);
ObjectSet(nome,OBJPROP_COLOR,col);
ObjectSet(nome,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(nome,OBJPROP_BACK,false);
ObjectSet(nome,OBJPROP_RAY,false);
ObjectSet(nome,OBJPROP_WIDTH,2);
name=StringConcatenate(name," o");
ObjectCreate(name,OBJ_TREND,0,Time[i],Open[i],Time[i];
ObjectSet(nome,OBJPROP_COLOR,col);
ObjectSet(nome,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(nome,OBJPROP_BACK,false);
ObjectSet(nome,OBJPROP_RAY,false);
ObjectSet(nome,OBJPROP_WIDTH,2);
name=StringaConcatenata(nome," c");
ObjectCreate(name,OBJ_TREND,0,Time[i],Close[i],Time[i]+Period()*60,Close[i]);
ObjectSet(nome,OBJPROP_COLOR,col);
ObjectSet(nome,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(nome,OBJPROP_BACK,false);
ObjectSet(nome,OBJPROP_RAY,false);
ObjectSet(nome,OBJPROP_WIDTH,2);
}
//-------------------------------------------------------------------
void DrawTEXT(string NT, string Name, color col, datetime t1, double p1)
{
ObjectDelete(NT);
ObjectCreate(NT,OBJ_TEXT,0,t1,p1,0,0,0);
ObjectSet(NT,OBJPROP_COLOR,col);
ObjectSetText(NT,Name,10, "Arial");
}
//--------------------------------------------------------------------
Buona giornata a tutti! Sono seduto qui a far girare l'indicatore. Penso di aver fatto tutto bene. Ma il fatto è che... Ho aperto un accordo su ogni candela.
Il "foglio" è davvero impressionante :-) Inserisci il codice con più attenzione e non copiare cose ovviamente non necessarie
sull'argomento - stampatevi i valori di stop_buy e stop_sell. Perché la condizione è esplicitamente innescata:
if(stop_buy!=EMPTY_VALUE || stop_sell!=EMPTY_VALUE) {
forse stop_buy e stop_sell sono inizializzati con 0 invece di EMPTY_VALUE
Il "foglio" è ovviamente abbastanza buono :-) inserire il codice con più attenzione e non copiare nulla di evidentemente inutile
A proposito - stampatevi stop_buy e stop_sell. Perché chiaramente una condizione è innescata:
if(stop_buy!=EMPTY_VALUE || stop_sell!=EMPTY_VALUE) {
forse stop_buy e stop_sell sono inizializzati con 0 e non con EMPTY_VALUE
Scusa per questo )) - per una pagina intera, per l'amor di Dio)
Lo proverò ora)
Il "foglio" è naturalmente abbastanza buono :-) inserire il codice con più attenzione e non copiare nulla di evidentemente inutile
A proposito - stampatevi i valori di stop_buy e stop_sell. Perché chiaramente la condizione è innescata:
if(stop_buy!=EMPTY_VALUE || stop_sell!=EMPTY_VALUE) {
forse stop_buy e stop_sell sono inizializzati con 0 invece di EMPTY_VALUE
ancora non funziona. A proposito, ho notato che l'ordine di vendita si apre correttamente, ma nell'ordine di acquisto impazzisce e apre un miliardo))
Ancora non funziona allo stesso modo. Ho notato, tra l'altro, che i trade in sell si aprono correttamente, ma in buy impazzisce e apre un miliardo))
Beh, almeno la ricerca può essere abilitata? Inserire il codice...
Che problema... Non c'è nemmeno bisogno di attivare la ricerca, il motore del forum mette l'abilità stessa...Puoi almeno abilitare la ricerca? Inserire il codice...
Che peccato... Non c'è nemmeno bisogno di fare una ricerca, il motore del forum stesso mette la...Mi scuso profondamente, non ho molta esperienza nel comportarmi bene sul forum)))
Ciao a tutti, chi può aiutarmi a unire due indicatori in uno, ho il codice sorgente, ne ho davvero bisogno
O mi mostri cosa non si può fare quando si fonde, o mi contatti se non l'hai fatto tu o non vuoi farlo:
O mi mostri cosa non si può fare quando si fonde, o vieni qui se non l'hai fatto tu, o non vuoi farlo:
Sto cercando di scoprire esattamente cosa non posso fare, capisco che nessuno probabilmente mi dirà nulla gratuitamente - il capitalismo, per la miseria)). Non ho nulla contro di esso, ho solo bisogno di capire perché i trade si aprono su ogni candela nella direzione di acquisto.