Aiuto per la codifica - pagina 394

 

mladen

qualche suggerimento per la dll più efficiente usando microsoft visual studio?

 
Jeeves:
Sarei sfortunato se chiedessi un avviso sonoro wav, ma SOLO quando tutti e cinque sono 'in linea'? Scelta dell'utente per l'ingresso del suono

Credo di aver avuto la risposta che meritavo.... Sono stato in questo gioco abbastanza a lungo da sapere meglio.

Tutto quello che dovevo fare era mettere il mio file Wav nel > options > alert box, e il lavoro era fatto. Scusa Mladen per essere stato così stupido, e merito tuo per avermi costretto a pensarci

 
Jeeves:
Credo di aver avuto la risposta che meritavo.... Sono stato in questo gioco abbastanza a lungo da sapere meglio. Tutto quello che dovevo fare era mettere il mio file Wav nel > options > alert box, e il lavoro era fatto. Scusa Mladen per essere stato così stupido, e merito tuo per avermi costretto a pensarci

Non preoccuparti

Il fine settimana non è il momento per un serio brainstorming

 

Ciao a tutti, ho bisogno di aiuto e per favore se qualcuno può, mi aiuti :/

Quindi, voglio controllare i miei ordini totali e colorare i loro sfondi come dispari e pari.

Come questo

Ma il mio problema è l'ultima etichetta :/ in questa immagine, i miei ordini totali sono 5 ma le etichette sono 6 :/

Questo è il mio codice:

int ticket1 = OrdersTotal();

int a_ticket1[];

ArrayResize( a_ticket1, ticket1 );

for (int cnt1=0;cnt1<ticket1;cnt1++)

{

if ( !OrderSelect(cnt1,SELECT_BY_POS,MODE_TRADES) ) continue;

a_ticket1[cnt1]=OrderTicket();

int orcol;

if(ExtLines<0)

{

for(orcol=0; orcol<9; orcol++)

{

string OrderNumber1 = "Orders Background " +cnt1/2+orcol;

string OrderNumbert1 = "Orders Backgrnds " +cnt1/2+orcol;

if(ObjectCreate(OrderNumber1,OBJ_LABEL,0,0,0))

{

string Ydistanc1 = 65 + (24 * cnt1);

ObjectSetText(OrderNumber1, Obg[orcol], 15, "Acc_info", Gray);

ObjectSet(OrderNumber1, OBJPROP_CORNER, 0);

ObjectSet(OrderNumber1, OBJPROP_XDISTANCE, Obgs[orcol]);

ObjectSet(OrderNumber1, OBJPROP_YDISTANCE, Ydistanc1);

}

if(ObjectCreate(OrderNumbert1,OBJ_LABEL,0,0,0))

{

string Ydistanct1 = 89 + (24 * cnt1);

ObjectSetText(OrderNumbert1, Obg[orcol], 15, "Acc_info", DarkGray);

ObjectSet(OrderNumbert1, OBJPROP_CORNER, 0);

ObjectSet(OrderNumbert1, OBJPROP_XDISTANCE, Obgs[orcol]);

ObjectSet(OrderNumbert1, OBJPROP_YDISTANCE, Ydistanct1);

}

}

}

}

Grazie in anticipo e scusate il mio cattivo inglese

File:
 

Cari codificatori

Ho bisogno del vostro aiuto

L'indicatore allegato funziona bene ma se i livelli sono impostati a "0 & 100", il colore sull'isto (linea centrale) non cambia!

È possibile farlo funzionare anche con questi livelli!

Grazie per qualsiasi aiuto

secretcode

 
secretcode:
Cari codificatori

Ho bisogno del vostro aiuto

L'indicatore allegato funziona bene ma se i livelli sono impostati su "0 e 100", il colore sull'isto (linea centrale) non cambia!

È possibile farlo funzionare anche con questi livelli!

Grazie per qualsiasi aiuto

codice segreto

secretcode

Il valore dell'RSX deve essere maggiore o minore dei valori dei livelli. Prova ad usare 99.9999 e 0.0001 invece di 100 e 0

 
mladen:
secretcode Il valore dell'RSX deve essere maggiore o minore dei valori di livello. Prova a usare 99.9999 e 0.0001 invece di 100 e 0

Grazie mille Mladen per l'aiuto

Cordiali saluti,

secretcode

 

Salve signor Mladen, come sta? Può aiutarmi per favore?

Sto sviluppando un mio indicatore basato sul breackout di supporto e resistenza.

L'ho quasi pronto, ma sono 32 cose che non so dove inserire nel codice o scriverlo meglio.

1.- la prima cosa è fare il primo ordine Acquista dopo vendere per dipingere in un altro colore, in questo caso colore Lime, e il primo Vendi dopo comprare in colore rosso.

2.- Fare in modo che l'indicatore schieri un Pop up con un testo per questo ordine in colore diverso che dica "coppia .... andare lungo" e "coppia.... andare corto".

3.- includere il codice di questi indicatori frattali nel mio codice per far sì che tutto si incastri...

questo è quello che ho fino ad ora per il mio indicatore:

#property strict

#proprietà indicator_chart_window

#proprietà indicator_buffers 4

#proprietà indicator_color1 clrLime

#Proprietà indicatore_colore2 clrRed

#proprietà indicatore_colore3 clrMagenta

#proprietà indicatore_colore4 clrCyan

#define COMPRA 1

#define VENDERE 2

doppio Buy[],

Vendere[],

FirstBuy[],

FirstSell[];

int OnInit() {

SetIndexBuffer(0,FirstBuy);

SetIndexBuffer(1,FirstSell);

SetIndexBuffer(2,Buy);

SetIndexBuffer(3,Vendere);

for(int i=0; i<4; i++) {

SetIndexStyle (i,DRAW_ARROW,STYLE_SOLID,2);}

SetIndexArrow (0,233);

SetIndexArrow (1,234);

SetIndexArrow (2,233);

SetIndexArrow (3,234);

return(INIT_SUCCEED);}

void OnDeinit(const int reason) {}

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[]) {

int statico lastSignal=0;

for(int i=MathMin(rates_total-prev_calculated, rates_total-1); i>=0; i--) {

FirstBuy=FirstSell=Buy=Sell=EMPTY_VALUE;

datetime when=Time;

int x=iBarShift(NULL,PERIOD_H1, when),

y=iBarShift(NULL,PERIOD_M15, when),

z=iBarShift(NULL,PERIOD_M5, when);

double srUpH1 = iCustom(NULL,PERIOD_H1, "Supporto e Resistenza (Barry)",0,x),

srDownH1 = iCustom(NULL,PERIOD_H1, "Supporto e resistenza (Barry)",1,x),

MidH1 = (srUpH1+srDownH1)/2,

srUp15M = iCustom(NULL,PERIOD_M15, "Supporto e resistenza (Barry)",0,y),

srDown15M = iCustom(NULL,PERIOD_M15, "Supporto e resistenza (Barry)",1,y),

Mid15M = (srUp15M+srDown15M)/2,

srUp5M = iCustom(NULL,PERIOD_M5, "Supporto e resistenza (Barry)",0,z),

srDown5M = iCustom(NULL,PERIOD_M5, "Supporto e resistenza (Barry)",1,z),

Mid5M = (srUp5M+srDown5M)/2,

srUp = iCustom(NULL,0, "Supporto e Resistenza (Barry)",0,i),

srDown = iCustom(NULL,0, "Supporto e Resistenza (Barry)",1,i);

if(ClosesrUp) {

if(lastSignal==SELL) {

FirstBuy=Low-_Point;

SoundAlert(when, "Buy");}

else {

Buy=Low-_Point; }

lastSignal=BUY;}

if(Close>srUpH1 && Close<srDown) {

se(lastSignal==BUY) {

FirstSell=High+_Point;

SoundAlert(when, "Sell");}

else {

Sell=High+_Point; }

lastSignal=SELL;}}

return(rates_total);}

void SoundAlert(datetime i, string dir) {

static datetime lastAlert=0;

if(lastAlert!=i) {

Alert(StringFormat("%s signal on %s at %s",dir,Symbol(),TimeToStr(i));

lastAlert=i;}}

Questo è il codice dei frattali per supporto e resistenza che non so dove inserire:

[TD="class: bb-bot, width: 100%"] [TD="class: bb-right-bot, width: 4"]grazie
#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Red

#property indicator_color2 Blue

//---- buffers

double v1[];

double v2[];

double val1;

double val2;

int i;

int init()

{

IndicatorBuffers(2);

//---- impostazioni di disegno

SetIndexArrow(0, 119);

SetIndexArrow(1, 119);

SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,1,Red);

SetIndexDrawBegin(0,i-1);

SetIndexBuffer(0, v1);

SetIndexLabel(0, "Resistenza");

SetIndexStyle(1,DRAW_ARROW,STYLE_DOT,1,Blu);

SetIndexDrawBegin(1,i-1);

SetIndexBuffer(1, v2);

SetIndexLabel(1, "Supporto");

return(0);

}

int start()

{

i=Bars;

while(i>=0)

{

val1 = iFractals(NULL, 0, MODE_UPPER,i);

if (val1 > 0)

v1=High;

else

v1 = v1;

val2 = iFractals(NULL, 0, MODE_LOWER,i);

if (val2 > 0)

v2=Low;

else

v2 = v2;

i--;

}

return(0);

}

//+------------------------------------------------------------------+

[/TD]
[/TD]

[/TR

]

[TR]

 
daniel1983:
Salve signor Mladen, come sta? Puoi aiutarmi per favore?

Sto sviluppando il mio indicatore basato sul breackout di supporto e resistenza.

L'ho quasi pronto, ma sono 32 cose che non so dove inserire nel codice o scriverlo meglio.

1.- la prima cosa è fare il primo ordine Acquista dopo vendere per dipingere in un altro colore, in questo caso colore Lime, e il primo Vendi dopo comprare in colore rosso.

2.- Fare in modo che l'indicatore schieri un Pop up con un testo per questo ordine in colore diverso che dica "coppia .... andare lungo" e "coppia.... andare corto".

3.- includere il codice di questi indicatori frattali nel mio codice per far sì che tutto si incastri...

questo è quello che ho fino ad ora per il mio indicatore:

#property strict

#proprietà indicator_chart_window

#proprietà indicator_buffers 4

#proprietà indicator_color1 clrLime

#Proprietà indicatore_colore2 clrRed

#proprietà indicatore_colore3 clrMagenta

#proprietà indicatore_colore4 clrCyan

#define COMPRA 1

#define VENDERE 2

doppio Buy[],

Vendere[],

FirstBuy[],

FirstSell[];

int OnInit() {

SetIndexBuffer(0,FirstBuy);

SetIndexBuffer(1,FirstSell);

SetIndexBuffer(2,Buy);

SetIndexBuffer(3,Vendere);

for(int i=0; i<4; i++) {

SetIndexStyle (i,DRAW_ARROW,STYLE_SOLID,2);}

SetIndexArrow (0,233);

SetIndexArrow (1,234);

SetIndexArrow (2,233);

SetIndexArrow (3,234);

return(INIT_SUCCEED);}

void OnDeinit(const int reason) {}

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[]) {

int statico lastSignal=0;

for(int i=MathMin(rates_total-prev_calculated, rates_total-1); i>=0; i--) {

FirstBuy=FirstSell=Buy=Sell=EMPTY_VALUE;

datetime when=Time;

int x=iBarShift(NULL,PERIOD_H1, when),

y=iBarShift(NULL,PERIOD_M15, when),

z=iBarShift(NULL,PERIOD_M5, when);

double srUpH1 = iCustom(NULL,PERIOD_H1, "Supporto e Resistenza (Barry)",0,x),

srDownH1 = iCustom(NULL,PERIOD_H1, "Supporto e resistenza (Barry)",1,x),

MidH1 = (srUpH1+srDownH1)/2,

srUp15M = iCustom(NULL,PERIOD_M15, "Supporto e resistenza (Barry)",0,y),

srDown15M = iCustom(NULL,PERIOD_M15, "Supporto e resistenza (Barry)",1,y),

Mid15M = (srUp15M+srDown15M)/2,

srUp5M = iCustom(NULL,PERIOD_M5, "Supporto e resistenza (Barry)",0,z),

srDown5M = iCustom(NULL,PERIOD_M5, "Supporto e resistenza (Barry)",1,z),

Mid5M = (srUp5M+srDown5M)/2,

srUp = iCustom(NULL,0, "Supporto e Resistenza (Barry)",0,i),

srDown = iCustom(NULL,0, "Supporto e Resistenza (Barry)",1,i);

if(ClosesrUp) {

if(lastSignal==SELL) {

FirstBuy=Low-_Point;

SoundAlert(when, "Buy");}

else {

Buy=Low-_Point; }

lastSignal=BUY;}

if(Close>srUpH1 && Close<srDown) {

se(lastSignal==BUY) {

FirstSell=High+_Point;

SoundAlert(when, "Sell");}

else {

Sell=High+_Point; }

lastSignal=SELL;}}

return(rates_total);}

void SoundAlert(datetime i, string dir) {

static datetime lastAlert=0;

if(lastAlert!=i) {

Alert(StringFormat("%s signal on %s at %s",dir,Symbol(),TimeToStr(i));

lastAlert=i;}}

Questo è il codice dei frattali per supporto e resistenza che non so dove inserire:

[TD="class: bb-bot, width: 100%"] [TD="class: bb-right-bot, width: 4"]grazie
#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Red

#property indicator_color2 Blue

//---- buffers

double v1[];

double v2[];

double val1;

double val2;

int i;

int init()

{

IndicatorBuffers(2);

//---- impostazioni di disegno

SetIndexArrow(0, 119);

SetIndexArrow(1, 119);

SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,1,Red);

SetIndexDrawBegin(0,i-1);

SetIndexBuffer(0, v1);

SetIndexLabel(0, "Resistenza");

SetIndexStyle(1,DRAW_ARROW,STYLE_DOT,1,Blu);

SetIndexDrawBegin(1,i-1);

SetIndexBuffer(1, v2);

SetIndexLabel(1, "Supporto");

return(0);

}

int start()

{

i=Bars;

while(i>=0)

{

val1 = iFractals(NULL, 0, MODE_UPPER,i);

if (val1 > 0)

v1=High;

else

v1 = v1;

val2 = iFractals(NULL, 0, MODE_LOWER,i);

if (val2 > 0)

v2=Low;

else

v2 = v2;

i--;

}

return(0);

}

//+------------------------------------------------------------------+

[/TD]
[/TD]

[/TR

]

[TR]

daniel1983

punti 2 e 3 ora:

2. Basta aggiungere Alert(t "text to use for popup window") per avere un avviso popup

3. Non è una buona idea - rende il codice troppo complicato e aumenta la possibilità che qualcosa funzioni male

 

Caro Mladen

E' possibile 'aggiungere la banda' nell'indicatore allegato come in questo post: https: //www.mql5.com/en/forum/172894/page45

Quell'indicatore è della sezione elite ma mi piace il modo in cui aggiungi la banda

Grazie per qualsiasi aiuto

secretcode

Motivazione: