[Scriverò qualsiasi esperto o indicatore gratuitamente. - pagina 62

 
Roman.:

Rilevante... "Di vertiti!"
Merda, dov'è l'amministratore, non puoi essere sul forum! 5° grado.
 

/sicurezza-estate-vacanze-attivate-scuola-ragazzi/

 

Ciao!

Ho bisogno di un indicatore basato su TradeSig, la sua scala di ampiezza dovrebbe essere la stessa di Williams in %, e la sua gamma di ampiezza dovrebbe essere la stessa di Williams nella scala dei livelli da 0% a -100%.

P.S. È necessario, perché TradeSig "si allontana" quando gli indicatori sono sovrapposti l'uno all'altro.

I miei ringraziamenti in anticipo.

Il mio rispetto.

File:
tradesig.mq4  3 kb
 
Salve, stimati commercianti. Ho un ottimo indicatore di canale che mostra molto bene la tendenza sulla cronologia delle quotazioni, ma sul conto reale va in sovraccarico. Se non sapete come usarlo, potreste chiedere: "Quanto tempo mi rimane se non so cosa farne? Vi sarò molto grato.

//+------------------------------------------------------------------+
//| Multi.Period.mq4 |
//| Copyright © 2010, Vladimir Hlystov |
//| cmillion@narod.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Vladimir Hlystov"
#proprietà link "http://cmillion.narod.ru"
//+------------------------------------------------------------------+
#proprietà indicator_chart_window
#proprietà indicator_buffers 8
#proprietà indicator_color1 Lime
#proprietà indicator_width1 1
#proprietà indicator_color2 Lime
#proprietà indicator_width2 1
#property indicator_color3 Blue
#proprietà indicator_width3 1
#property indicator_color4 Blue
#proprietà indicator_width4 1
#property indicator_color5 Green
#proprietà indicator_width5 1
#property indicator_color6 Green
#proprietà indicator_width6 1
#property indicator_color7 Red
#proprietà indicator_width7 1
#property indicator_color8 Red
#proprietà indicator_width8 1
//---- parametri di ingresso
/*
PERIODO_M1 1 1 minuto
PERIODO_M5 5 5 minuti
PERIODO_M15 15 15 minuti
PERIODO_M30 30 30 minuti
PERIODO_H1 60 1 ora
PERIODO_H4 240 4 ore
PERIOD_D1 1440 1 giorno
PERIODO_W1 10080
PERIODO_MN1 43200
*/
extern int timeframe1 = 5; //Periodo. Può essere uno dei periodi del grafico. 0 significa il periodo del grafico corrente.
extern int timeframe2 = 15; //Periodo. Può essere uno dei periodi del grafico. 0 significa periodo del grafico corrente
extern int timeframe3 = 30; //Periodo. Può essere uno dei periodi del grafico. 0 significa periodo del grafico corrente
extern int timeframe4 = 60; //Periodo. Può essere uno dei periodi del grafico. 0 significa il periodo del grafico corrente

//---- buffer
doppio Buffer1[];
doppio Buffer2[];
doppio Buffer3[];;
doppio Buffer4[]; doppio Buffer5[];
doppio Buffer5[];
doppio Buffer6[];
doppio Buffer7[];
doppio Buffer8[];
//+------------------------------------------------------------------+
int init()
{
se (timeframe1<Period()) timeframe1=Period();
se (timeframe2<=timeframe1) timeframe2=next_period(timeframe1+1);
se (timeframe3<=timeframe2) timeframe3=next_period(timeframe2+1);
se (timeframe4<=timeframe3) timeframe4=next_period(timeframe3+1);
//---- linee di indicazione
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,Buffer1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,Buffer2);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,Buffer3);
SetIndexStyle(3,DRAW_LINE);
SetIndexBuffer(3,Buffer4);
SetIndexStyle(4,DRAW_LINE);
SetIndexBuffer(4,Buffer5);
SetIndexStyle(5,DRAW_LINE);
SetIndexBuffer(5,Buffer6);
SetIndexStyle(6,DRAW_LINE);
SetIndexBuffer(6,Buffer7);
SetIndexStyle(7,DRAW_LINE);
SetIndexBuffer(7,Buffer8);
//----
SetIndexLabel(0, "4TF "+StrPer(timeframe1)+StrPer(timeframe2)+StrPer(timeframe3)+StrPer(timeframe4));
ritorno(0);
}
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
for(int i=0; i<limit; i++)
{
Buffer1[i] = iMA(NULL,timeframe1,1,0,0,2,iBarShift(NULL,timeframe1,Time[i],false));
Buffer2[i] = iMA(NULL,timeframe1,1,0,0,3,iBarShift(NULL,timeframe1,Time[i],false));
Buffer3[i] = iMA(NULL,timeframe2,1,0,0,2,iBarShift(NULL,timeframe2,Time[i],false));
Buffer4[i] = iMA(NULL,timeframe2,1,0,0,3,iBarShift(NULL,timeframe2,Time[i],false));
Buffer5[i] = iMA(NULL,timeframe3,1,0,0,2,iBarShift(NULL,timeframe3,Time[i],false));
Buffer6[i] = iMA(NULL,timeframe3,1,0,0,3,iBarShift(NULL,timeframe3,Time[i],false));
Buffer7[i] = iMA(NULL,timeframe4,1,0,0,2,iBarShift(NULL,timeframe4,Time[i],false));
Buffer8[i] = iMA(NULL,timeframe4,1,0,0,3,iBarShift(NULL,timeframe4,Time[i],false));
}
ritorno(0);
}
//+------------------------------------------------------------------+
int prossimo_periodo(int per)
{
se (per > 43200) return(0);
se (per > 10080) return(43200);
se (per > 1440) return(10080);
se (per > 240) return(1440);
se (per > 60) return(240);
se (per > 30) return(60);
se (per > 15) return(30);
se (per > 5) return(15);
se (per > 1) return(5);
se (per == 1) return(1);
se (per == 0) ritorno(Periodo())
}
//+------------------------------------------------------------------+
stringa StrPer(int per)
{
if (per == 1) return(" M1 ");
{ if (per == 5) return(" M5 ");
se (per == 15) return(" M15 ");
if (per == 30) return(" M30 ");
se (per == 60) return(" H1 ");
se (per == 240) return(" H4 ");
se (per == 1440) return(" D1 ");
se (per == 10080) return(" W1 ");
se (per == 43200) return(" MN1 ");
return("errore di periodo");
}
//+------------------------------------------------------------------+
 
sergii7777777:

Salve, stimati commercianti. Ho un ottimo indicatore di canale che mostra molto bene la tendenza sulla cronologia delle quotazioni, ma sul conto reale va in sovraccarico. Se non sapete come usarlo, potete chiedere: quale delle seguenti coppie di coppie è la più adatta? Vi sarò molto grato.

Non ridisegna - cambia solo il canale mentre il prezzo si muove
 
se fosse scritto in modo che disegnasse un canale su citazioni reali come fa quando viene testato sulla cronologia delle citazioni, sarebbe fantastico. 100% graal.
 
sergii7777777:
Se fosse scritto in modo tale da disegnare il canale sulle citazioni reali nel modo in cui è testato sulla cronologia delle citazioni, sarebbe fantastico. 100% graal.


cosa intendi per "citazioni reali" - citazioni che non esistono ancora o citazioni che stanno per apparire?

L'indicatore costruisce un canale basato sulle quotazioni disponibili al momento.

Quando arrivano nuove citazioni - il canale cambia - si restringe, si espande - perché la situazione cambia.

o non è chiaro?

 
sergii7777777:
Se fosse scritto in modo da tracciare un canale sulle citazioni reali come è testato sulla storia delle citazioni, sarebbe fantastico. 100% graal.

Non scriverlo così, devi solo capire che il tuo EA deve lavorare alla velocità del TF più vecchio.

L'Expert Advisor dovrebbe ricevere i dati temporali dalla barra che è già stata registrata sul timeframe più vecchio.

Allora il vostro Expert Advisor non avrà problemi con il superamento del segnale.

 

Ciao, nell'indicatore i segnali appaiono sulla barra al momento del raggio ZZ, su quella di lavoro tutto è corretto.

Deciso a guardare il vecchio TF (lavorando M30, H1) aggiungendo il parametro TF ... kludah è venuto fuori (i segnali non sono su quelle barre, e il fascio di visualizzazione errata)

Dove ho sbagliato?....consigliare per favore.Grazie in anticipo!!!

//+------------------------------------------------------------------+
//| Dinapoli ZZ (ZigZag).mq4 |
//| riscritto da CrazyChart |
//| |
//+------------------------------------------------------------------+
#property copyright "riscritto da CrazyChart".
#proprietà link ""

#proprietà indicator_chart_window
#proprietà indicator_buffers 5
#property indicator_color1 Red
#proprietà indicatore_colore2 Giallo
#property indicator_color3 Aqua
#property indicator_color4 Green
#property indicator_color5 Orchid
//---- parametri di ingresso
extern inttern barn=1000;
extern Length=6;
extern inttern TF = 0;
//---- buffer
doppio ExtMapBuffer1[];
doppio ExtMapBuffer2[];
doppio ExtMapBuffer3[];
doppio ExtMapBuffer4[];
doppio ExtMapBuffer5[];
//double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'indicatore personalizzato
//+------------------------------------------------------------------+
int init()
{
//---- indicatori
SetIndexEmptyValue(0,0.0);
SetIndexStyle(0,DRAW_SECTION);
SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,159);
SetIndexBuffer(1,ExtMapBuffer2);

SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,159);
SetIndexBuffer(2,ExtMapBuffer3);

SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(3,186);
SetIndexBuffer(3,ExtMapBuffer4);

SetIndexStyle(4,DRAW_ARROW);
SetIndexArrow(4,187);
SetIndexBuffer(4,ExtMapBuffer5);





//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di deinizializzazione dell'indicatore Custor
//+------------------------------------------------------------------+
int deinit()
{

ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di iterazione dell'indicatore personalizzata
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int shift,Swing,Swing_n,i,uzl,zu,zd,mv;
doppio LL,HH,BH,BL,NH,NL,shf;
doppio Uzel[10000][3];
stringa di testo;
// ciclo dalla prima barra alla barra attuale (con shift=0).
Swing_n=0;Swing=0;uzl=0;
BH=iHigh(NULL, TF, barn);BL=iLow(NULL, TF, barn);zu=barn;zd=barn;

per (shift=barn;shift>=0;shift--) {
ExtMapBuffer2[shift]=EMPTY_VALUE;
ExtMapBuffer3[shift]=EMPTY_VALUE;
ExtMapBuffer4[shift]=EMPTY_VALUE;
ExtMapBuffer5[shift]=EMPTY_VALUE;
shf=0,2;
LL=10000000;HH=-100000000;
per (i=shift+Length;i>=shift+1;i--) {
se (iLow(NULL, TF,i)< LL) {LL=iLow(NULL, TF,i);}
se (iHigh(NULL, TF,i)>HH) {HH=iHigh(NULL, TF,i);}
}


se (iLow(NULL, TF,shift)<LL && iHigh(NULL, TF,shift)>HH){
Swing=2;
se (Swing_n==1) {zu=shift+1;}
if (Swing_n==-1) {zd=shift+1;}
} else {
se (iLow(NULL, TF,shift)<LL) {Swing=-1;}
se (iHigh(NULL,TF,shift)>HH) {Swing=1;}
}

se (Swing!=Swing_n && Swing_n!=0) {
se (Swing==2) {
Swing=Swing_n;BH = iHigh(NULL, TF,shift);BL = iLow(NULL, TF,shift);
}
uzl=uzl+1;
/punto basso
se (Swing==1) {
Uzel[uzl][1]=zd;
Uzel[uzl][2]=BL;
ExtMapBuffer2[shift]=BL;
Print("ExtMapBuffer2[shift] ", ExtMapBuffer2[shift];

ExtMapBuffer5[shift+3]=BL;

}
/punto più alto
se (Swing==-1) {
Uzel[uzl][1]=zu;
Uzel[uzl][2]=BH;
ExtMapBuffer3[shift]=BH;
ExtMapBuffer4[shift+1]=BH+shf;
Print("ExtMapBuffer3[shift] ", ExtMapBuffer3[shift];

}
BH = iHigh(NULL, TF,shift);
BL = iLow(NULL, TF,shift);
}

se (Swing==1) {
se (iHigh(NULL,TF,shift)>=BH) {BH=iHigh(NULL,TF,shift);zu=shift;}}
se (swing==-1) {
se (iLow(NULL, TF,shift)<=BL) {BL=iLow(NULL, TF,shift); zd=shift;}}
Swing_n=Swing;
}


for (i=1;i<=uzl;i++) {
mv=StrToInteger(DoubleToStr(Uzel[i][1],0));
ExtMapBuffer1[mv]=Uzel[i][2];
// Print("parametre MV ", ExtMapBuffer1[mv];
}





ritorno(0);
}
//+------------------------------------------------------------------+

 

Sto chiedendo aiuto per scrivere un indicatore.

Ho bisogno di scrivere un indicatore o uno script (cosa funzionerà e come è meglio) che mostri la possibile inversione del prezzo in base alla storia.

Il ToR è nel file allegato.

Vi ringrazio in anticipo.

Sinceramente Kirill.

Se avete domande, scrivete a onepips@bk.ru

Motivazione: