[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 329

 
emilien:
extern int variabile = 0;
extern int shift = 0,0000;
extern int shift2 = 0,0000;
int init()
{
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di deinizializzazione esperto |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di inizio esperto |
//+------------------------------------------------------------------+
int start()
{
//----
SetLabel("MA_LABEL",DoubleToStr(iMA(Symbol(),15,variabile,0,MODE_SMA,PRICE_CLOSE,0),shift,2),Bisque,735,277,0,14);
SetLabel("MA_LABEL2",DoubleToStr(iMA(Symbol(),15,variabile,0,MODE_SMA,PRICE_CLOSE,0),shift2,2),Bisque,680,27 7,0,14)
//----
ritorno(0);
}
//+------------------------------------------------------------------+


void SetLabel(string nm, string tx, color cl, int xd, int yd, int cr=0, int fs=9) {
se (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_LABEL, 0, 0,0);
ObjectSetText(nm, tx, fs);
ObjectSet(nm, OBJPROP_COLOR, cl);
ObjectSet(nm, OBJPROP_XDISTANCE, xd);
ObjectSet(nm, OBJPROP_YDISTANCE, yd);
ObjectSet(nm, OBJPROP_CORNER, cr);
ObjectSet(nm, OBJPROP_FONTSIZE, fs);
}



più suggerimenti, per favore.
non riesco a ottenere lo spostamento verticale verso l'alto e l'indentazione shift2 verso il basso.
questo parametro dovrebbe essere impostato in modo diverso per ogni grafico.
ottengo un errore di compilazione
guardate le parentesi, le avete messe dentro la funzione DoubleToStr, che non può spostare
 
ilunga:

Tb e Ts nel senso di TPb e TPs? poi di nuovo, è andato allo stesso modo, ma gli ordini sono diversi

scaricare tutti i valori e vedere cosa si ottiene

Chiedo scusa!!!


doppio pb = Ask+20*Point;

doppio ps = Bid-20*Point;

doppio TPb = Ask+50*Point;

doppio TPs = Bid-50*Point;

ticket=OrderSend(Symbol(),OP_BUYSTOP,0.01,Ask+q*Point,5,0,Ask+50*Point, "Aw",mn,0,CLR_NONE);

ticket=OrderSend(Symbol(),OP_SELLSTOP,0.01,Bid-q*Point,5,0,Bid-50*Point, "Aw",mn,0,CLR_NONE);

if (!ticket) Print(GetLastError());

}

}

ticket=OrderTicket();

per (ii=OrdiniTotali(); ii>0; ii--)

{

se (OrderSelect(ii,SELECT_BY_POS,MODE_TRADES)==true)

{

se (OrderComment()=="Aw")

{

se (OrderType()==OP_BUYSTOP)

{

t=OrderModify(OrderTicket(),pb,0,TPb,0,CLR_NONE);

if (!t) Print("BUY OBUYSTOP = ",GetLastError());

}

se (OrderType()==OP_SELLSTOP)

{

t=OrderModify(OrderTicket(),ps,0,TPs,0,CLR_NONE);

if (!t) Print("SELL OVERSTOP = ",GetLastError())

}

}

}

}

Questo viene dal registro:

13:55:47 0 EURUSD,M1: modificare #736403688 vendere stop 0,01 EURUSD a 1,3622 sl: 0,0000 tp: 1,3592 ok

13:55:47 0 EURUSD,M1: VENDERE ALLO SCOPERTO = 1

13:55:53 0 EURUSD,M1: modificare #736403688 vendere stop 0,01 EURUSD a 1,3623 sl: 0,0000 tp: 1,3593 ok

13:55:53 0 EURUSD,M1: VENDERE ALLO SCOPERTO = 1

13:55:54 0 EURUSD,M1: modificare #736403688 vendere stop 0,01 EURUSD a 1,3622 sl: 0,0000 tp: 1,3592 ok

13:55:54 0 EURUSD,M1: VENDERE ALLO SCOPERTO = 1

13:55:55 0 EURUSD,M1: modificare #736403688 vendere stop 0,01 EURUSD a 1,3623 sl: 0,0000 tp: 1,3593 ok

comprare non modificare

Grazie in anticipo!

 
smartemiy:

Scusa!!!


...

per (ii=OrdiniTotali(); ii>0; ii--)

...

ciao non modifica

grazie in anticipo!

La numerazione va da zero. Spostare il ciclo a 1:

per (ii=OrdiniTotali()-1; ii>=0; ii--)

 
ilunga:
guardate le parentesi, le avete messe dentro la funzione DoubleToStr, che non può spostare

parentesi sinistra sbilanciata

le coordinate di errore sono la parentesi graffa alla fine.

Ma questa staffa è normale.

Cosa può essere?


 
emilien:

parentesi sinistra sbilanciata

le coordinate di errore sono la parentesi graffa alla fine.

Ma questa staffa è normale.

Cosa può essere?


manca una parentesi da qualche parte, quindi si combatte. Date un'occhiata più da vicino.
 
ilunga:

La numerazione parte da zero. Spostare il ciclo a 1:

per (ii=OrdiniTotali()-1; ii>=0; ii--)

Grazie mille!!! questo era il problema.

--------------------------------------------------------------

Perché appare l'errore?

15:38:55 0 EURUSD,M1: VENDERE SOCK = 1

15:38:55 0 EURUSD,M1: BUY SHORT = 1

 
Grazie a tutti, funziona. =)
 
Roman.:


Questo non è Pascal - non ci sono procedure...:-) Una funzione - un valore...:-)

Vedi GetMarketInfo f-file di tutti gli ordini che chiudono lo script - è possibile usare gli array.


Grazie.
 

Ciao, come possiamo formalizzare e algoritmizzare la frequenza dell'alternanza di barre "bianche" e "verdi"?

 
Shniperson:

Ciao, come possiamo formalizzare e algoritmizzare la frequenza dell'alternanza di barre "bianche" e "verdi"?


Tutto è possibile.

Che tipo di seghe...

Motivazione: