Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 46

 
KarpovNikolay :

Herkese merhaba. Ticarette yeniyim, danışmanlarla bir demoda oturuyorum ama şimdi 45 dolarla gerçek başlamak istiyorum. Hâlâ danışmanları test ediyorum, bu yüzden sinyalleri kullanmak istiyorum. MT4 kullanıyorum. En iyi sinyali seçmeme yardım etmeni istediğim bir liste aldım. İşte liste:

https://www.mql5.com/ru/signals/10276

https://www.mql5.com/en/signals/11021

https://www.mql5.com/en/signals/6283

https://www.mql5.com/ru/signals/10964

https://www.mql5.com/ru/signals/9649

Yeni başlayanlar için sadece şanslı! Ama daha iyisi, zaman kaybetmeyin, ticareti, dili öğrenin! Belki sen bile şanslı olacaksın!
 
Tünaydın. lütfen bana yardım edin, sig = 1 değişkeniyle, pol değişkeninin bakiyeyi hatırlamasına ve daha ne kadar göstereceğine bakılmaksızın değerini değiştirmemesine ihtiyacım var ve böylece sig tekrar 1 ise, mevcut kodu hatırlayın , lütfen söyle
 
sannin :
Tünaydın. lütfen bana yardım edin, sig = 1 değişkeniyle, pol değişkeninin bakiyeyi hatırlamasına ve daha ne kadar göstereceğine bakılmaksızın değerini değiştirmemesine ihtiyacım var ve böylece sig tekrar 1 ise, mevcut kodu hatırlayın , lütfen söyle
     if (сиг == 1 ) pol = AccountBalance();
 
TarasBY :


bakiye değişirse taban yeni bakiyeye eşit olur

bunu yaparsanız hemen görünür

int pol;
Yorum ("\n bakiye: ", pol);

pol=HesapBalance();

 

Ticareti test etmek için bir danışman yaptım ama bir şeyi çözemiyorum...

Bay/sat maksimum ve minimum MA ile açılır

// SATIN AL pozisyonu açma koşulu
if(MA_L1<MA_L0&&Sor<=MA_L0&&MA_0>MA_1&&HA_up>HA_dw)

// SATIŞ pozisyonu açma koşulu
if(MA_H1>MA_H0&&Bid>=MA_H0&&MA_0<MA_1&&HA_up<HA_dw)

 #include <b-Lots.mqh>
extern double TrailingStop = 30 ;
extern double Sploss = 15 ;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start() {
   double HA_up,HA_dw;
   double MA_H0,MA_H1,MA_L0,MA_L1,MA_0,MA_1;
   int i, cnt, ticket, total;
   bool flag= true ;

   if ( Bars < 100 ) {
       Print ( "bars less than 100" );
       return ( 0 ); 
   }
// Проверяем стоит ли открываться
   
   cnt=OrdersHistoryTotal()- 1 ;
   for (i=cnt;i>= 0 ;i--) {
       if (! OrderSelect (i, SELECT_BY_POS, MODE_HISTORY )) continue ;
       if (OrderOpenTime()>=Time[ 0 ]) { // Time[0] - если позиция открывается на нулевом баре текущего символа
         flag= false ;
         break ;
      }
   }
   cnt= OrdersTotal ()- 1 ;
   for (i=cnt;i>= 0 ;i--) {
       if (! OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) continue ;
       if (OrderOpenTime()>=Time[ 0 ]) { // Time[0] - если позиция открывается на нулевом баре текущего символа
         flag= false ;
         break ;
      }
   }
   if (!flag) return ( 0 ); 
//-----------------------------------------------
   MA_H0= iMA ( 0 , 0 , 3 , 0 , MODE_SMA , PRICE_HIGH , 0 );
   MA_H1= iMA ( 0 , 0 , 3 , 0 , MODE_SMA , PRICE_HIGH , 1 );
   MA_0= iMA ( 0 , 0 , 3 , 0 , MODE_EMA , PRICE_MEDIAN , 0 );
   MA_1= iMA ( 0 , 0 , 3 , 0 , MODE_EMA , PRICE_MEDIAN , 1 );
   MA_L0= iMA ( 0 , 0 , 3 , 0 , MODE_SMA , PRICE_LOW , 0 );
   MA_L1= iMA ( 0 , 0 , 3 , 0 , MODE_SMA , PRICE_LOW , 1 );
   HA_up= iCustom ( 0 , 0 , "Heiken Ashi" , 3 , 0 );
   HA_dw= iCustom ( 0 , 0 , "Heiken Ashi" , 2 , 0 );

//задали все данные 

   total= OrdersTotal ();
   if (total< 1 ) 
     {
       // Проверка свободной маржи
       if (AccountFreeMargin()<( 1000 *Lots))
        {
         Print ( "We have no money. Free Margin = " , AccountFreeMargin());
         return ( 0 );  
        }
       // Условие открытие позиции BUY
       if (MA_L1<MA_L0&&Ask<=MA_L0&&MA_0>MA_1&&HA_up>HA_dw)
        {
         Lots=GetSizeLot();
         ticket= OrderSend ( Symbol (),OP_BUY,Lots,Ask, 5 ,Bid-Sploss* Point , 0 , "" , 16384 , 0 ,Green);
         if (ticket> 0 )
           {
             if ( OrderSelect (ticket,SELECT_BY_TICKET,MODE_TRADES)) Print ( "BUY order opened : " ,OrderOpenPrice());
           }
         else Print ( "Error opening BUY order : " , GetLastError ()); 
         return ( 0 ); 
        }
       // Условие открытие позиции SELL
       if (MA_H1>MA_H0&&Bid>=MA_H0&&MA_0<MA_1&&HA_up<HA_dw)
        {
         Lots=GetSizeLot();
         ticket= OrderSend ( Symbol (),OP_SELL,Lots,Bid, 5 ,Ask+Sploss* Point , 0 , "" , 16384 , 0 ,Red);
         if (ticket> 0 )
           {
             if ( OrderSelect (ticket,SELECT_BY_TICKET,MODE_TRADES)) Print ( "SELL order opened : " ,OrderOpenPrice());
           }
         else Print ( "Error opening SELL order : " , GetLastError ()); 
         return ( 0 ); 
        }
       return ( 0 );
     }
    
   for (cnt= 0 ;cnt<total;cnt++)
     {
       OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES);
       if (OrderType()<=OP_SELL &&   
         OrderSymbol()== Symbol ())  
        {
         if (OrderType()==OP_BUY)   // длинная позиция открыта
           {
           if ( NormalizeDouble ( MathAbs (MA_H0-Bid), Digits )< Point )
                {
                 OrderClose(OrderTicket(),OrderLots(),Bid, 3 ,Violet); 
                 return ( 0 ); 
                }
             // трейлинг-стоп для длинной позиции
             if (TrailingStop> 0 )  
              {                 
               if (Bid-OrderOpenPrice()> Point *TrailingStop)
                 {
                   if (OrderStopLoss()<Bid- Point *TrailingStop)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid- Point *TrailingStop,OrderTakeProfit(), 0 ,Green);
                     return ( 0 );
                    }
                 }
              }
           }
         else 
           {
           if ( NormalizeDouble ( MathAbs (MA_L0-Ask), Digits )< Point )
              {
               OrderClose(OrderTicket(),OrderLots(),Ask, 3 ,Violet); 
               return ( 0 ); 
              }
             // трейлинг-стоп для короткой позиции
             if (TrailingStop> 0 )  
              {                 
               if ((OrderOpenPrice()-Ask)>( Point *TrailingStop))
                 {
                   if ((OrderStopLoss()>(Ask+ Point *TrailingStop)) || (OrderStopLoss()== 0 ))
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+ Point *TrailingStop,OrderTakeProfit(), 0 ,Red);
                     return ( 0 );
                    }
                 }
              }
           }
        }
     }
   return ( 0 );
  }

Soru: Mevcut mumdaki pozisyon kapanmadı (koşullar gelmedi), MA_0= iMA ( 0, 0, 3, 0, MODE_EMA, PRICE_MEDIAN, 0 ) ile eşleştiğinde bir sonraki mumda hemen nasıl kapatılır ;

Bir kapanış koşulu vardır: mevcut mumda yüksek veya düşük noktayı geçmek, ancak bir pozisyon açtıktan sonra pozisyonun bir sonraki mumda kapatılabilmesi de gereklidir.

if ( NormalizeDouble ( MathAbs (MA_0-Ask), Digits )< Point ), ancak ikinci açık mumun koşulunun nasıl karşılanacağını yazabilirsiniz.


Kodla cevap verebilirseniz, bir örnekle daha net olur.

 
sannin :


bakiye değişirse taban yeni bakiyeye eşit olur

bunu yaparsanız hemen görünür

int pol;
Comment("\n bakiye: ", pol);

pol=HesapBalance();

Bu kod hiçbir şeyi kontrol etmez. Ve pol değişkeni, sig değişkeninin yanı sıra global olarak bildirilmelidir.
 
TarasBY :
Bu kod hiçbir şeyi kontrol etmez. Ve pol değişkeni, sig değişkeninin yanı sıra global olarak bildirilmelidir.


peki.. nasıl yapılır... çünkü an, cinsiyet değişkeninin mevcut değerini gösterir.

ilk dengeyi göstermesi gerektiği için zemin

Bir emir açıyorum ve bakiyem orijinaline eşit, ancak bunu kârda kapatırsam veya tam tersi olursa bakiye değişir

ve zeminin belirli koşullar altında yeni bir denge haline gelmesine ihtiyacım var ve koşullar gelene kadar taban orijinal dengeye eşit

 
borilunad :
MQL4 kodu için SRC kullanın ve herkes bunu çözebilecek ve size yardımcı olacaktır!

Teşekkürler bileceğim.
 
sannin :


peki.. nasıl yapılır... çünkü an, cinsiyet değişkeninin mevcut değerini gösterir.

ilk dengeyi göstermesi gerektiği için zemin

Bir emir açıyorum ve bakiyem orijinaline eşit, ancak bunu kârda kapatırsam veya tam tersi olursa bakiye değişir

ve zeminin belirli koşullar altında yeni bir denge haline gelmesine ihtiyacım var ve koşullar gelene kadar taban orijinal dengeye eşit

Dinlemeyi bilmeyen bir insan kategorisi var, onlara yardım etmek neredeyse imkansız.
 
TarasBY :
Dinlemeyi bilmeyen bir insan kategorisi var, onlara yardım etmek neredeyse imkansız.


Tünaydın. lütfen bana yardım edin, sig = 1 değişkeniyle, pol değişkeninin bakiyeyi hatırlamasına ve daha ne kadar göstereceğine bakılmaksızın değerini değiştirmemesine ihtiyacım var ve böylece sig tekrar 1 ise, mevcut kodu hatırlayın , lütfen söyle

Kabul ediyorum

herkes akıllı olabilir

üzgünüm .. olay şu ki 2 gündür görevden korkuyorum ..

yardım istemezdim