Birbirinden bağımsız iki pozisyonu yöneten bir kar trolünün tavsiyesine ihtiyacım var, nasıl uygulayabilirim? - sayfa 8

 
charony :

senin için gerçekten üzgünüm

karşılıklı)

Not: yedi sayfa trol işkencesi yapabilmelisiniz)

[Silindi]  
Evet, iki kez kestim ve hala kısa
 

)))))

Not: Test cihazında uzaklaşmayın.

1. Danışmanı, pozların açık olduğu çizelgeye koyduk

2. EA, her pozisyonu kendi çizgisiyle işaretler.

3. Satır Özelliklerinde ("Açıklama" satırı), noktalarda, istenen sipariş için istenen izi ayarlayın (satır adına dokunmuyoruz , sipariş biletine eşittir)

4. Tral'in nasıl acı çektiğini izliyoruz)))

5. İtilemez olanın içine nasıl sıkıştıracağımızı sormuyoruz.

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


bunu anladım
 

x ** nu eklendi - x ** nu alındı, ardından bir nesne oluştururken "30" tanımını yapın ve "30"a eşit bir açıklamanın varlığını kontrol etmeyin

Not: Nesnenin tanımını nasıl hemen "30"a eşitleyeceğimi sorabilirim.

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

Sizce "" nin "30" ile değiştirilmesi neye yol açmalıydı?

Not: Bu satır boş bir açıklama ile trolün fırlatılmasını engelledi.

 
sanyooooook :

Sizce "" nin "30" ile değiştirilmesi neye yol açmalıydı?

Not: Bu satır boş bir açıklama ile trolün fırlatılmasını engelledi.

Burada siz, Udmurts, eski Khokhlyatsky atasözünü tam olarak bilmiyorsunuz - " Vaftiz annenizin gücünü boşa harcamayın ... " :))
 
granit77 :
Burada siz, Udmurts, eski Khokhlyatsky atasözünü tam olarak bilmiyorsunuz - " Vaftiz annenizin gücünü boşa harcamayın ... " :))
İlk defa duyuyorum, muhtemelen "duvara karşı bezelye gibi" veya "buza karşı balık gibi" veya "aptallara ölülerin tedavi edilebileceğini öğretmek")
[Silindi]  
sanyooooook :

eklenen çöp - alınan çöp, ardından bir nesne oluştururken "30" tanımını yapın ve "30" değerine eşit bir açıklamanın varlığını kontrol etmeyin

Not: Nesnenin tanımını nasıl hemen "30"a eşitleyeceğimi sorabilirim.


evet sormak ürkütücü, sen çok sinirli bir tipsin

Hat Özelliklerinde ("Açıklama" satırı), noktalarda, istenen trolü ayarlayın

ObjectDescription, buraya eklenen özelliklerdir

nereye yerleştirmeliyim? 30 trol noktası