[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 45
Se puede cargar con esta función: ExpertParameters=proba.set Pero, ¿cómo resolver el problema inverso, obtener este nombre proba.set? ¿Puede decirme al menos la dirección en la que hay que cavar?
¿Alguien sabe de esto? He añadido OrderSelect y no se muestra con esto
void TrailingOrders() {
doble di, pa, pb, pp, sl, tp, sp; int cnt2; for(cnt2=Total de pedidos();cnt2>0;cnt2--) { pp=MarketInfo(OrderSymbol(), MODE_POINT); if (OrderType()==OP_BUY) { pa=MarketInfo(OrderSymbol(), MODE_ASK); sp=MarketInfo(OrderSymbol(), MODE_ASK)-MarketInfo(OrderSymbol(), MODE_BID); if (OrderOpenPrice()-pa>(TrailingStop+TrailingStep-1)*pp || OrderStopLoss()==0 || pa-OrderOpenPrice()>(TrailingStop+TrailingStep-1)*pp) { di=Precio de apertura del pedido()-pa-TrailingStop*pp; si (OrderStopLoss()==0) sl=OrderOpenPrice()+(TrailingStop-sp+TrailingStep-1)*pp; si no sl=0; if (OrderStopLoss() >0) sl=OrderStopLoss() -di; si (pa-OrderOpenPrice()>(TrailingStop+TrailingStep-1)*pp) sl=pa-(TrailingStop+TrailingStep-1)*pp; si (OrderTakeProfit()>0) tp=OrderTakeProfit()-di; si no tp=0; ModifyOrder(pa+TrailingStop*pp, sl, tp); } } if (OrderType()==OP_SELL) { pb=MarketInfo(OrderSymbol(), MODE_BID); if (pb-OrderOpenPrice()>(TrailingStop+TrailingStep-1)*pp || OrderStopLoss()==0 || OrderOpenPrice()-pb>(TrailingStop+TrailingStep-1)*pp) { di=pb-PrecioAbierto()-TrailingStop*pp; si (OrderStopLoss()==0) sl=OrderOpenPrice()-(TrailingStop+TrailingStep-1)*pp; si no sl=0; if (OrderStopLoss() >0) sl=OrderStopLoss() +di; si (OrderOpenPrice()-pb>(TrailingStop+TrailingStep-1)*pp) sl=pb+(TrailingStop+TrailingStep-1)*pp; si (OrderTakeProfit()>0) tp=OrderTakeProfit()+di; si no tp=0; ModifyOrder(pb-TrailingStop*pp, sl, tp); } } }
Chicos, por favor, aconsejen cómo codificar todas las combinaciones únicas de 5 dígitos del 1 al 7, dado que la posición del dígito no importa, es decir, 12345 = 54321 = 21345 =... Pero cada dígito de la combinación sólo puede aparecer 1 vez, es decir, - 12345 - está bien, y 12341 - no cabe.
Gracias.
estúpidamente delante de la cabeza con cinco bucles
string _comment=WindowExpertName();//получаем имя советника, в котором прописана эта строка, допустим, Ilan77string SetFileName=_comment+".set";//получаем в строковую переменную название set-файла этого советника,"Ilan77.set"
Muchas gracias. No entiendo por qué hay un stop-loss aquí.
preguntaste " ¿puede bajar el precio?"
Esa es la distancia que he llamado "stop-loss". Puedes cambiarle el nombre como quieras.
preguntaste " ¿puede bajar el precio?"
Esa es la distancia que he llamado "stop-loss". Puedes cambiarle el nombre como quieras.
Muchas gracias.
drknn:
en la función start() del EA:
Comment("\n","StopLoss = ",StopLoss,"\n","Lot = ",Lot);
Esto no es así.
¿Alguien sabe de esto? He añadido OrderSelect y no se muestra con esto
void TrailingOrders() {
doble di, pa, pb, pp, sl, tp, sp;int cnt2;
for(cnt2=Total de pedidos();cnt2>0;cnt2--)
{
pp=MarketInfo(OrderSymbol(), MODE_POINT);
if (OrderType()==OP_BUY) {
pa=MarketInfo(OrderSymbol(), MODE_ASK);
sp=MarketInfo(OrderSymbol(), MODE_ASK)-MarketInfo(OrderSymbol(), MODE_BID);
if (OrderOpenPrice()-pa>(TrailingStop+TrailingStep-1)*pp || OrderStopLoss()==0 || pa-OrderOpenPrice()>(TrailingStop+TrailingStep-1)*pp) {
di=Precio de apertura del pedido()-pa-TrailingStop*pp;
si (OrderStopLoss()==0) sl=OrderOpenPrice()+(TrailingStop-sp+TrailingStep-1)*pp; si no sl=0;
if (OrderStopLoss() >0) sl=OrderStopLoss() -di;
si (pa-OrderOpenPrice()>(TrailingStop+TrailingStep-1)*pp) sl=pa-(TrailingStop+TrailingStep-1)*pp;
si (OrderTakeProfit()>0) tp=OrderTakeProfit()-di; si no tp=0;
ModifyOrder(pa+TrailingStop*pp, sl, tp);
}
}
if (OrderType()==OP_SELL) {
pb=MarketInfo(OrderSymbol(), MODE_BID);
if (pb-OrderOpenPrice()>(TrailingStop+TrailingStep-1)*pp || OrderStopLoss()==0 || OrderOpenPrice()-pb>(TrailingStop+TrailingStep-1)*pp) {
di=pb-PrecioAbierto()-TrailingStop*pp;
si (OrderStopLoss()==0) sl=OrderOpenPrice()-(TrailingStop+TrailingStep-1)*pp; si no sl=0;
if (OrderStopLoss() >0) sl=OrderStopLoss() +di;
si (OrderOpenPrice()-pb>(TrailingStop+TrailingStep-1)*pp) sl=pb+(TrailingStop+TrailingStep-1)*pp;
si (OrderTakeProfit()>0) tp=OrderTakeProfit()+di; si no tp=0;
ModifyOrder(pb-TrailingStop*pp, sl, tp);
}
}
}
}
¿Y por qué no se puede generar mediante WindowExpertName()+".set"?
¿cómo es posible? más detalles
¿qué línea debe insertarse en el CONTADOR?
Chicos, por favor, aconsejen cómo codificar todas las combinaciones únicas de 5 dígitos del 1 al 7, dado que la posición del dígito no importa, es decir, 12345 = 54321 = 21345 =... Pero cada dígito de la combinación sólo puede aparecer 1 vez, es decir, - 12345 - está bien, y 12341 - no cabe.
Gracias.
estúpidamente delante de la cabeza con cinco bucles
for (a=1; a<7; a++)
for (b=1; b<7; b++)
for (c=1; c<7; c++)
....
si (a==b || a==c || a==d || a==e || b==c || b==d | ....) continuar;
Si no, imprime;
Otra variante más civilizada es utilizar dos matrices. Es decir, la matriz A[b[]],
donde b[] son índices de la matriz A.
¿Por qué no se puede generar mediante WindowExpertName()+".set"?
Así es como se da (se establece) el nombre del archivo .set.
Pero, ¿cómo se consigue que muestre en la pantalla con qué .set está trabajando actualmente?
Digamos que tienes 10 conjuntos de .sets con diferentes nombres y quieres ver cuál es el conjunto que está ahora