danışman iyileştirme stratejisi - sayfa 4

 
IRIP :

Durdurma kaybının nasıl ayarlanacağını nereden okuyabilirim?

Diyelim ki, 2. çubuğun Düşük'ünde bir durak koymak gerekiyor


https://book.mql4.com/en/trading/index
 
Teşekkür ederim
 

Şimdi birden fazla görev

1. Belirli bir kâra ulaşıldığında başabaş transfer

2. Fraktallar veya sabit bir sayı boyunca trol

 
IRIP :

Şimdi birden fazla görev

1. Belirli bir kâra ulaşıldığında başabaş transfer

2. Fraktallar veya sabit bir sayı üzerinde trol


Yazmaya başlayın ve zorluklar ortaya çıktıkça sorun...
 
IRIP :
if ( (Düşük[0]>Düşük[1]) && (Düşük[1]<Düşük[2]) && (Düşük[1]<Düşük[2]) && (Yüksek[1]<Yüksek[2]) ) buyop=doğru;

if ( (Yüksek[0]<Yüksek[1]) && (Düşük[0]<Düşük[1]) && (Yüksek[1]>Yüksek[2]) && (Açık[0]<Kapat[1]) ) selop=doğru;


Solet. Ve hiçbir iz ve başabaş size yardımcı olmaz. Ve bu durumda olduğu gibi herhangi bir kalıptan yararlanmazsa asla yardımcı olmaz.

 
DYN :


Solet. Ve hiçbir iz ve başabaş size yardımcı olmaz. Ve bu durumda olduğu gibi herhangi bir kalıptan yararlanmazsa asla yardımcı olmaz.


Solet. Ancak bir kişi programlamayı öğrenir ve bu çok da kötü değildir!
 
ktest0 :

Solet. Ancak bir kişi programlamayı öğrenir ve bu çok da kötü değildir!

Evet katılıyorum. Bunun için arkadaşa selamlar. Sıfırdan, ilk çiftte zor - kendim biliyorum-)-)-)
 
ktest0 :

Solet. Ancak bir kişi programlamayı öğrenir ve bu çok da kötü değildir!

Evet, gerçekten programlamayı öğrenmek istiyorum.
 


Kitaplar harika. Ancak, örneğin, genel olarak ihtiyacım olanı yapan bir danışman buldum.

//+------------------------------------------- --------------------+

//| TrailingStopLight.mq4 |

//| Telif hakkı © 2011, Khlystov Vladimir |

//| http://cmillion.narod.ru |

//+------------------------------------------- --------------------+

#property telif hakkı "Telif hakkı © 2011, cmillion@narod.ru"

#özellik bağlantısı "http://cmillion.narod.ru"

#özellik show_inputs

//------------------------------------------------ --------------------

extern int Stoploss = 0, //stoploss, 0 ise değişmez

kar al = 0; // kar al, 0 ise değişmez

extern int TrailingStop = 20; // trol uzunluğu, 0 ise trol yok

harici int StepTrall = 0; // trall step - stoploss'u StepTrall'den daha yakına taşıma

extern int Kaybı Yok = 10, //belirli sayıda kar puanı ile başabaşa transfer, eğer 0 ise başabaşa transfer olmaz

MinKarKayıpKayıp = 0; // başabaşa aktarırken minimum kar

//------------------------------------------------ --------------------

int STOPLEVEL,Zaman Çubuğu;

//------------------------------------------------ --------------------

int init()

{

}

//------------------------------------------------ --------------------

int tanım()

{

ObjectDelete("SLb");

ObjectDelete("SL'ler");

}

//------------------------------------------------ --------------------

int başlangıç()

{

//while(!Durduruldu())

{

// Yenileme Oranları();

STOPLEVEL=MarketInfo(Symbol(),MODE_STOPLEVEL);

çift OSL,OTP,OOP,StLo,SL,TP;

double Profit,ProfitS,ProfitB,LB,LS,NLb,NLs,price_b,price_s,OL,sl;

int b,s,OT,OMN;

for (int i=OrdersTotal()-1; i>=0; i--)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

{

OMN = OrderMagicNumber();

if (OrderSymbol() == Symbol())

{

OOP = NormalizeDouble(OrderOpenPrice(), Rakamlar);

OT = SiparişTürü();

OL = OrderLots();

eğer (OT==OP_SATIN AL)

{

fiyat_b = fiyat_b+OOP*OL;

b++; LB+=OL;

ProfitB+=OrderProfit()+OrderSwap()+OrderCommission();

}

eğer (OT==OP_SAT)

{

fiyat_s = fiyat_s+OOP*OL;

s++;LS+=OL;

ProfitS+=OrderProfit()+OrderSwap()+OrderCommission();

}

}

}

}

ObjectDelete("SLb");

ObjectDelete("SL'ler");

(b>0) ise

{

NLb = NormalizeDouble(fiyat_b/LB,Rakamlar);

ObjectCreate("SLb",OBJ_ARROW,0,Zaman[0],NLb,0,0,0,0);

ObjectSet("SLb",OBJPROP_ARROWCODE,6);

ObjectSet("SLb",OBJPROP_COLOR, Mavi);

}

eğer (s>0)

{

NLs = NormalizeDouble(fiyat_s/LS,Digits);

ObjectCreate("SLs",OBJ_ARROW,0,Time[0],NLs,0,0,0,0);

ObjectSet("SL'ler",OBJPROP_ARROWCODE,6);

ObjectSet("SL'ler",OBJPROP_COLOR, Kırmızı);

}

int OTicket;

(i=0; i<SiparişToplam(); i++) için

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

{

if (OrderSymbol()==Symbol())

{

OT = SiparişTürü();

OSL = NormalizeDouble(OrderStopLoss(),Digits);

OTP = NormalizeDouble(OrderTakeProfit(),Digits);

OOP = NormalizeDouble(OrderOpenPrice(), Rakamlar);

SL=OSL;TP=OTP;

eğer (OT==OP_SATIN AL)

{

b++;

if (OSL==0 && Stoploss>=STOPLEVEL && Stoploss!=0)

{

SL = NormalizeDouble(Teklif - Stoploss * Nokta,Rakamlar);

}

başka SL=OSL;

if (OTP==0 && Takeprofit>=STOPLEVEL && Takeprofit!=0)

{

TP = NormalizeDouble(Sor + Kâr Al * Puan,Rakamlar);

}

başka TP=OTP;

if (Kayıp Yok>=STOPLEVEL && OSL<NLb && Kayıp Yok!=0)

{

if (OOP<=NLb && NLb!=0 && NLb <= NormalizeDouble(Bid-NoLoss*Point,Digits))

SL = NormalizeDouble(NLb+MinProfitNoLoss*Point,Rakamlar);

}

if (TrailingStop>=STOPLEVEL && TrailingStop!=0)

{

StLo = NormalizeDouble(Teklif - TrailingStop*Point,Digits);

if (StLo>=NLb && NLb!=0) if (StLo > OSL) SL = StLo;

}

if (SL != OSL || TP != OTP)

{

OTicket=SiparişTicket();

if (!OrderModify(OTicket,OOP,SL,TP,0,Beyaz)) Print("Hata OrderModify ",GetLastError());

}

}

eğer (OT==OP_SAT)

{

s++;

if (OSL==0 && Stoploss>=STOPLEVEL && Stoploss!=0)

{

SL = NormalizeDouble(Sor + Stoploss * Nokta,Rakamlar);

}

başka SL=OSL;

if (OTP==0 && Takeprofit>=STOPLEVEL && Takeprofit!=0)

{

TP = NormalizeDouble(Teklif - Kâr Al * Puan,Rakamlar);

}

başka TP=OTP;

if (Kayıp Yok>=STOPLEVEL && (OSL>NLs || OSL==0) &&Kayıp Yok!=0)

{

if (OOP>=NLs && NLs!=0 && NLs >= NormalizeDouble(Ask+Loss*Point,Digits))

SL = NormalizeDouble(NLs-MinProfitNoLoss*Point,Rakamlar);

}

if (TrailingStop>=STOPLEVEL && TrailingStop!=0)

{

StLo = NormalizeDouble(Sor + TrailingStop*Point,Rakamlar);

if (StLo<=NLs && NLs!=0) if (StLo < OSL || OSL==0) SL = StLo;

}

if ((SL != OSL || OSL==0) || TP != OTP)

{

OTicket=SiparişTicket();

if (!OrderModify(OTicket,OOP,SL,TP,0,Beyaz)) Print("Hata OrderModify ",GetLastError());

}

}

}

}

}

if(IsTesting())

{

if (Zaman Çubuğu!=Zaman[0])

{

OrderSend(Symbol(),OP_BUY,1,NormalizeDouble(Sor,Rakamlar),3,0,0,"test",0,0,Mavi);

OrderSend(Symbol(),OP_SELL,1,NormalizeDouble(Bid,Digits),3,0,0,"test",0,0,Kırmızı);

Zaman Çubuğu=Zaman[0];

}

}

//Uyku(1000);

}

}

//------------------------------------------------ --------------------

(Teorik olarak) benimkine yerleştirilebilir mi?

 
IRIP :


Kitaplar harika. Ancak, örneğin, genel olarak ihtiyacım olanı yapan bir danışman buldum.

 //+------------------------------------------------------------------+

//|                                            TrailingStopLight.mq4 |

//|                              Copyright © 2011, Khlystov Vladimir |

//|                                         http://cmillion.narod.ru |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2011, cmillion@narod.ru"

#property link       "http://cmillion.narod.ru"

#property show_inputs

//--------------------------------------------------------------------
extern int  Stoploss             = 0 , //стоплосс, если 0 то не изменяется
           Takeprofit           = 0; //тейкпрофит, если 0 то не изменяется
extern int  TrailingStop         = 20 ; //длинна тралла, если 0 то нет тралла
extern int  StepTrall            = 0 ; //шаг тралла - перемещать стоплосс не ближе чем StepTrall
extern int  NoLoss               = 10 , //перевод в безубыток при заданном кол-ве пунктов прибыли, если 0 то нет перевода в безубыток
           MinProfitNoLoss      = 0//минимальная прибыль при переводе вбезубыток
//--------------------------------------------------------------------
int   STOPLEVEL,TimeBar;
//--------------------------------------------------------------------
int init()
{

}
//--------------------------------------------------------------------
int deinit()
{
   ObjectDelete ( "SLb" );
   ObjectDelete ( "SLs" );
}
//--------------------------------------------------------------------
int start()                                  
{
   //while(!IsStopped())
   {
       //RefreshRates();
      STOPLEVEL=MarketInfo( Symbol (),MODE_STOPLEVEL);
       double OSL,OTP,OOP,StLo,SL,TP;
       double Profit,ProfitS,ProfitB,LB,LS,NLb,NLs,price_b,price_s,OL,sl;
       int b,s,OT,OMN;
       for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
      {                                               
         if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
         {
            OMN = OrderMagicNumber();
             if (OrderSymbol() == Symbol ())
            {
               OOP = NormalizeDouble (OrderOpenPrice(), Digits );

               OT = OrderType();
               OL = OrderLots();
               if (OT==OP_BUY)
               {
                  price_b = price_b+OOP*OL;
                  b++; LB+= OL;
                  ProfitB+=OrderProfit()+OrderSwap()+OrderCommission();
               }
               if (OT==OP_SELL)
               {
                  price_s = price_s+OOP*OL;

                  s++;LS+= OL;

                  ProfitS+=OrderProfit()+OrderSwap()+OrderCommission();

               }

            }

         }

      }

       ObjectDelete ( "SLb" );

       ObjectDelete ( "SLs" );

       if (b> 0 ) 

      {

         NLb = NormalizeDouble (price_b/LB, Digits );

         ObjectCreate ( "SLb" , OBJ_ARROW , 0 ,Time[ 0 ],NLb, 0 , 0 , 0 , 0 );                     

         ObjectSet   ( "SLb" , OBJPROP_ARROWCODE , 6 );

         ObjectSet   ( "SLb" , OBJPROP_COLOR , Blue);

      }

       if (s> 0 ) 

      {

         NLs = NormalizeDouble (price_s/LS, Digits );

         ObjectCreate ( "SLs" , OBJ_ARROW , 0 ,Time[ 0 ],NLs, 0 , 0 , 0 , 0 );                     

         ObjectSet   ( "SLs" , OBJPROP_ARROWCODE , 6 );

         ObjectSet   ( "SLs" , OBJPROP_COLOR , Red);

      }

       int OTicket;

       for (i= 0 ; i< OrdersTotal (); i++)

      {    

         if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))

         {

             if (OrderSymbol()== Symbol ())

            { 

               OT = OrderType(); 

               OSL = NormalizeDouble (OrderStopLoss(), Digits );

               OTP = NormalizeDouble (OrderTakeProfit(), Digits );

               OOP = NormalizeDouble (OrderOpenPrice(), Digits );

               SL=OSL;TP=OTP;

               if (OT==OP_BUY)             

               {  

                  b++;

                   if (OSL== 0 && Stoploss>=STOPLEVEL && Stoploss!= 0 )

                  {

                      SL = NormalizeDouble (Bid - Stoploss   * Point , Digits );

                  } 

                   else SL=OSL;

                   if (OTP== 0 && Takeprofit>=STOPLEVEL && Takeprofit!= 0 )

                  {

                      TP = NormalizeDouble (Ask + Takeprofit * Point , Digits );

                  } 

                   else TP=OTP;

                   if (NoLoss>=STOPLEVEL && OSL<NLb && NoLoss!= 0 )

                  {

                     if (OOP<=NLb && NLb!= 0 && NLb <= NormalizeDouble (Bid-NoLoss* Point , Digits )) 

                        SL = NormalizeDouble (NLb+MinProfitNoLoss* Point , Digits );

                  }

                   if (TrailingStop>=STOPLEVEL && TrailingStop!= 0 )

                  {

                     StLo = NormalizeDouble (Bid - TrailingStop* Point , Digits ); 

                     if (StLo>=NLb && NLb!= 0 ) if (StLo > OSL) SL = StLo;

                  }

                   if (SL != OSL || TP != OTP)

                  {  

                     OTicket=OrderTicket();

                     if (!OrderModify(OTicket,OOP,SL,TP, 0 ,White)) Print ( "Error OrderModify " , GetLastError ());

                  }

               }                                         

               if (OT==OP_SELL)        

               {

                  s++;

                   if (OSL== 0 && Stoploss>=STOPLEVEL && Stoploss!= 0 )

                  {

                     SL = NormalizeDouble (Ask + Stoploss   * Point , Digits );

                  }

                   else SL=OSL;

                   if (OTP== 0 && Takeprofit>=STOPLEVEL && Takeprofit!= 0 )

                  {

                      TP = NormalizeDouble (Bid - Takeprofit * Point , Digits );

                  }

                   else TP=OTP;

                   if (NoLoss>=STOPLEVEL && (OSL>NLs || OSL== 0 ) && NoLoss!= 0 )

                  {

                     if (OOP>=NLs && NLs!= 0 && NLs >= NormalizeDouble (Ask+NoLoss* Point , Digits )) 

                        SL = NormalizeDouble (NLs-MinProfitNoLoss* Point , Digits );

                  }

                   if (TrailingStop>=STOPLEVEL && TrailingStop!= 0 )

                  {

                     StLo = NormalizeDouble (Ask + TrailingStop* Point , Digits ); 

                     if (StLo<=NLs && NLs!= 0 ) if (StLo < OSL || OSL== 0 ) SL = StLo;

                  }

                   if ((SL != OSL || OSL== 0 ) || TP != OTP)

                  {  

                     OTicket=OrderTicket();

                     if (!OrderModify(OTicket,OOP,SL,TP, 0 ,White)) Print ( "Error OrderModify " , GetLastError ());

                  }

               } 

            }

         }

      }

       if (IsTesting())

      {

         if (TimeBar!=Time[ 0 ])

         {

             OrderSend ( Symbol (),OP_BUY, 1 , NormalizeDouble (Ask, Digits ), 3 , 0 , 0 , "тест" , 0 , 0 ,Blue);

             OrderSend ( Symbol (),OP_SELL, 1 , NormalizeDouble (Bid, Digits ), 3 , 0 , 0 , "тест" , 0 , 0 ,Red);

            TimeBar=Time[ 0 ];

         }

      } 

       //Sleep(1000);

   } 
}
//--------------------------------------------------------------------

(Teorik olarak) benimkine yerleştirilebilir mi?

İlk önce, kodu SRC düğmesiyle nasıl yapıştıracağınızı öğrenin!

"Kitapların harika olduğu" gerçeğinin hala kanıtlanması gerekiyor! Bu arada, dışarı çıkmak için ipuçlarını düşünüyorsunuz. Ve "zorlanmadan ...", muhtemelen sonucu biliyorsunuzdur ya da öğreneceksiniz, ancak zaman geçiyor! Bilgi olmadan, sadece hiçbir yerde!