bisogno di consigli da un professionista della pesca a strascico che controlla due posizioni indipendentemente l'una dall'altra, come può essere implementato? - pagina 8

 
charony:

Mi dispiace per te.

Allo stesso modo )

ZS: sette pagine di strascico, così si fa).

 
Sì, l'ha tagliata due volte ed è ancora corta
 

)))).

ZS: non c'è nessuna prova nel tester.

1. Metti l'Expert Advisor sul grafico con le posizioni aperte

2. L'Expert Advisor segna ogni posizione con la propria linea.

3. Nelle proprietà della linea (la linea "Descrizione"), impostare la linea richiesta per l'ordine richiesto in punti (non cambiare il nome della linea, è uguale al biglietto dell'ordine)

4. Osserva come funziona la rete a strascico)))

5. Non chiedete come possiamo affrontare ciò che non possiamo affrontare.

File:
 
//+-----------------------------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----------------------------------------------+
   
такое вставил
 


ha ottenuto questo
 

metti merda - ottieni merda, poi quando crei un oggetto, fai la descrizione "30" invece di controllare che la descrizione sia uguale a "30".

ZS: avrebbe potuto chiedere come rendere la descrizione dell'oggetto uguale a "30" in una volta sola.

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

È questo il risultato che secondo voi avrebbe dovuto ottenere la sostituzione di "" con "30"?

ZS: questa linea impediva che la pesca a strascico iniziasse quando la descrizione era vuota.

 
sanyooooook:

È questo che pensi che sostituendo "" con "30" avresti dovuto ottenere?

ZS: questa linea impediva che la pesca a strascico iniziasse quando la descrizione era vuota.

Voi Udmurts sicuramente non conoscete il vecchio proverbio Kholya - "Non sprecare la forza di un kume..." :))
 
granit77:
Voi Udmurts sicuramente non conoscete il vecchio proverbio khohliano - "Non sprecare la forza di un kume..." :))
L'ho sentito per la prima volta, probabilmente è "come un pisello contro il muro", o "come un pesce contro il ghiaccio", o "insegnare agli sciocchi è come guarire i morti" )
 
sanyooooook:

Se mettete merda, otterrete merda, quindi fate la descrizione "30" quando create l'oggetto invece di controllare che la descrizione sia uguale a "30".

ZS: potrebbe chiedere come rendere la descrizione dell'oggetto immediatamente uguale a "30".


Ho paura di chiedere, sei un tipo così arrabbiato

NelleProprietà della linea (linea "Descrizione") nei paragrafi impostare il trawl desiderato

ObjectDescription è una proprietà, mettila lì

Dove volete inserirlo? 30 punti a strascico