[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 45

 
todem:
Grazie mille, non capisco perché c'è uno stop-loss qui.

hai chiesto " il prezzo può scendere?"

Questa è la distanza che ho chiamato "stop-loss". Potete rinominarlo come volete.

 
sergeev:

hai chiesto " il prezzo può scendere?"

Questa è la distanza che chiamo "stop-loss". Potete rinominarlo come volete.


Grazie mille.

 

drknn:

nella funzione start() dell'EA:

Comment("\n","StopLoss = ",StopLoss,"\n","Lot = ",Lot);

Non è questo.

Puoi caricarlo con questa funzione: ExpertParameters=proba.set Ma come risolvere il problema inverso, ottenere questo nome proba.set? Puoi almeno dirmi la direzione in cui scavare!
 

Ho aggiunto OrderSelect e non viene visualizzato con questo

void TrailingOrders() {

doppio di, pa, pb, pp, sl, tp, sp;
int cnt2;
for(cnt2=OrdiniTotali();cnt2>0;cnt2--)
{
pp=MarketInfo(OrderSymbol(), MODE_POINT);
se (OrderType()==OP_BUY) {
pa=MarketInfo(OrderSymbol(), MODE_ASK);
sp=MarketInfo(OrderSymbol(), MODE_ASK)-MarketInfo(OrderSymbol(), MODE_BID);
se (OrderOpenPrice()-pa>(TrailingStop+TrailingStep-1)*pp || OrderStopLoss()==0 || pa-OrderOpenPrice()>(TrailingStop+TrailingStep-1)*pp) {
di=OrderOpenPrice()-pa-TrailingStop*pp;
se (OrderStopLoss()==0) sl=OrderOpenPrice()+(TrailingStop-sp+TrailingStep-1)*pp; altrimenti sl=0;
se (OrderStopLoss() >0) sl=OrderStopLoss() -di;
se (pa-OrderOpenPrice()>(TrailingStop+TrailingStep-1)*pp) sl=pa-(TrailingStop+TrailingStep-1)*pp;
se (OrderTakeProfit()>0) tp=OrderTakeProfit()-di; altrimenti tp=0;
ModifyOrder(pa+TrailingStop*pp, sl, tp);
}
}
se (OrderType()==OP_SELL) {
pb=MarketInfo(OrderSymbol(), MODE_BID);
se (pb-OrderOpenPrice()>(TrailingStop+TrailingStep-1)*pp || OrderStopLoss()==0 || OrderOpenPrice()-pb>(TrailingStop+TrailingStep-1)*pp) {
di=pb-OrderOpenPrice()-TrailingStop*pp;
se (OrderStopLoss()==0) sl=OrderOpenPrice()-(TrailingStop+TrailingStep-1)*pp; altrimenti sl=0;
se (OrderStopLoss() >0) sl=OrderStopLoss() +di;
se (OrderOpenPrice()-pb>(TrailingStop+TrailingStep-1)*pp) sl=pb+(TrailingStop+TrailingStep-1)*pp;
se (OrderTakeProfit()>0) tp=OrderTakeProfit()+di; altrimenti tp=0;
ModifyOrder(pb-TrailingStop*pp, sl, tp);
}
}
}

}

 
granit77:
E perché non può essere generato tramite WindowExpertName()+".set"?

come è possibile? più dettagli

quale linea deve essere inserita nel COUNTER?

 
vitali_yv:

Ragazzi, per favore consigliate come codificare tutte le combinazioni uniche di 5 cifre da 1 a 7, dato che la posizione della cifra non importa, cioè 12345 = 54321 = 21345 =... Ma ogni cifra nella combinazione può verificarsi solo 1 volta, cioè - 12345 - ok, e 12341 - non va bene.

Grazie.

stupidamente davanti alla testa con cinque anelli

per (a=1; a<7; a++)

per (b=1; b<7; b++)

per (c=1; c<7; c++)

....

se (a==b || a==c || a==d || a==e || b==c || b==d || ....) continua;

altrimenti stampa;


In un'altra variante più civile, usate due array. Cioè l'array A[b[]],

dove b[] sono indici della matrice A.

 
granit77:
Perché non può essere generato tramite WindowExpertName()+".set"?
Otterremo il nome del COUNTER, ma che dire del NAME?
 
string _comment=WindowExpertName();//получаем имя советника, в котором прописана эта строка, допустим, Ilan77
string SetFileName=_comment+".set";//получаем в строковую переменную название set-файла этого советника,"Ilan77.set"  
 
granit77:

Perché prendersi il disturbo quando si può dichiarare il nome del file delle impostazioni nel file externals...
 
granit77:

È così che si dà il nome al file .set.

Ma come si fa a far vedere sullo schermo con quale .set sta attualmente lavorando?

Diciamo che avete 10 set di .set con nomi diversi e volete vedere quale .set è ora