necesito consejo de un profesional de la pesca de arrastre que controle dos posiciones independientemente una de la otra, ¿cómo se puede implementar? - página 8

 
charony:

Lo siento por ti.

Igualmente )

ZS: siete páginas de arrastre, así se hace).

 
Sí, lo he cortado dos veces y sigue siendo corto.
 

)))).

ZS: no hay ninguna prueba en el probador.

1. Poner el Asesor Experto en el gráfico con posiciones abiertas

2. El Asesor Experto marca cada posición con su propia línea.

3. En las propiedades de la línea (la línea "Descripción"), establezca la línea requerida para la orden requerida en puntos (no cambie el nombre de la línea, es igual al ticket de la orden)

4. Observe cómo funciona la red de arrastre))

5. No preguntes cómo podemos tratar lo que no podemos tratar.

Archivos adjuntos:
 
//+-----------------------------trailingstop----------------------------------------------
for(int i=OrdersTotal()-1;i>=0;i--)
   {
      if(OrderSelect(i,SELECT_BY_POS)==true)
      {
         {
            int cmd=OrderType();
            if(cmd==OP_BUY)
            {
               if(ObjectFind(DoubleToStr(OrderTicket(),0))<0)
               {
                  ObjectCreateTrend(false,DoubleToStr(OrderTicket(),0),OBJ_HLINE,0,0,OrderOpenPrice(),0,0,Blue,0,0,"",0);
               }
               else
               {
                  if(ObjectDescription(DoubleToStr(OrderTicket(),0))!="30")//if(TrailingStop>0)  
                  {                 
                     if(Bid-OrderOpenPrice()>Point*StrToDouble(ObjectDescription(DoubleToStr(OrderTicket(),0))))
                     {
                        if(OrderStopLoss()<Bid-Point*StrToDouble(ObjectDescription(DoubleToStr(OrderTicket(),0))))
                        {
                           OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*StrToDouble(ObjectDescription(DoubleToStr(OrderTicket(),0))),OrderTakeProfit(),0,Green);
                        }
                     }
                  }
               }
            }
            if(cmd==OP_SELL)
            {
               if(ObjectFind(DoubleToStr(OrderTicket(),0))<0)
               {
                  ObjectCreateTrend(false,DoubleToStr(OrderTicket(),0),OBJ_HLINE,0,0,OrderOpenPrice(),0,0,Red,0,0,"",0);
               }
               else
               {
                  if(ObjectDescription(DoubleToStr(OrderTicket(),0))!="30")//TrailingStop>0)  
                  {                 
                     if((OrderOpenPrice()-Ask)>(Point*StrToDouble(ObjectDescription(DoubleToStr(OrderTicket(),0)))))
                     {
                        if((OrderStopLoss()>(Ask+Point*StrToDouble(ObjectDescription(DoubleToStr(OrderTicket(),0))))) || (OrderStopLoss()==0))
                        {
                           OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*StrToDouble(ObjectDescription(DoubleToStr(OrderTicket(),0))),OrderTakeProfit(),0,Red);
                        }
                     }
                  }
               }
            }
         }
      }
   }
   return(0);
  }
//+------------------------------------------------------------------+
void ObjectCreateTrend(bool RayLines,string iObjectName,int Type,int iWindow,int X1Time,double Y1Price,int X2Time,double Y2Price,color iColor,int Code,int sound,string coment,int angle)
{
        if (ObjectFind(iObjectName)<0) {
                ObjectCreate(iObjectName,Type,iWindow,0,0);
                ObjectSet(iObjectName,OBJPROP_COLOR,iColor);
         ObjectSet(iObjectName,OBJPROP_RAY,RayLines);
        }
        if (X1Time!=0)
           ObjectSet(iObjectName,OBJPROP_TIME1,X1Time);
        ObjectSet(iObjectName,OBJPROP_PRICE1,Y1Price);
        if (X2Time!=0)
           ObjectSet(iObjectName,OBJPROP_TIME2,X2Time);
        if (Y2Price!=0)
           ObjectSet(iObjectName,OBJPROP_PRICE2,Y2Price);
        if (Code!=0)
           ObjectSet(iObjectName,OBJPROP_ARROWCODE,Code);
        if (coment!="")
           ObjectSetText(iObjectName,coment,10,"Times New Roman",iColor);
        if (angle!=0)
           ObjectSet(iObjectName,OBJPROP_ANGLE,angle);
        //ObjectSet(iObjectName,OBJPROP_FIBOLEVELS,7);
        //ObjectSet(iObjectName,OBJPROP_FIRSTLEVEL+0,0);
        //ObjectSet(iObjectName,OBJPROP_FIRSTLEVEL+1,0.5);
        //ObjectSet(iObjectName,OBJPROP_FIRSTLEVEL+2,1);
}


 //-------------------------------------tral-------------------------------------------------
  
//+-----------------------------trailingstop end----------------------------------------------+
   
такое вставил
 


Tengo esto
 

pones una mierda - obtienes una mierda, entonces cuando creas un objeto, haz que la descripción sea "30" en lugar de comprobar una descripción igual a "30".

ZS: podría haber preguntado cómo hacer que la descripción del objeto sea igual a "30" a la vez.

 
if(ObjectDescription(DoubleToStr(OrderTicket(),0))!="30")/

¿Es esto lo que crees que debería haber resultado de la sustitución de "" por "30"?

ZS: esta línea impedía que la red de arrastre se iniciara cuando la descripción estaba vacía.

 
sanyooooook:

¿Es esto lo que crees que debería haber resultado de la sustitución de "" por "30"?

ZS: esta línea impedía que la red de arrastre se iniciara cuando la descripción estaba vacía.

Ustedes, los Udmurts, seguramente no conocen el viejo proverbio kholya: "No desperdicies la fuerza de un kume..." :))
 
granit77:
Ustedes, los Udmurts, seguramente no conocen el viejo proverbio khohliano: "No desperdicies la fuerza de un kume..." :))
Lo he escuchado por primera vez, probablemente sea "como un guisante contra la pared", o "como un pez contra el hielo", o "enseñar a los tontos es como curar a los muertos" )
 
sanyooooook:

Si pones mierda, obtienes mierda, así que haz que la descripción sea "30" al crear el objeto en lugar de comprobar si la descripción es igual a "30".

ZS: podría preguntar cómo hacer que la descripción del objeto sea inmediatamente igual a "30".


Tengo miedo de preguntar, eres un tipo tan enojado

En lasPropiedades de la línea (línea "Descripción") en los párrafos establezca el arrastre deseado

ObjectDescription es una propiedad, ponla ahí

¿Dónde quiere insertarlo? 30 puntos de arrastre