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

 

Millet, lütfen yardım edin. Açık bir emrin her izinin bir öncekinden 2 kat daha büyük olarak açılması için bir fonksiyon yazmak istiyorum. Bu fonksiyon yanlış değerler veriyor.. Burada yanlış olan ne? Şimdiden teşekkürler!



extern double LotBuy = 0.01;


double GetLotBuy()

{

for(int n = 1; n<=CountBuy(); n++)
{
LotBuy=LotBuy*2;
}
return (LotBuy);
}

 
Trader7777 :

Millet, lütfen yardım edin. Açık bir emrin her izinin bir öncekinden 2 kat daha büyük olarak açılması için bir fonksiyon yazmak istiyorum. Bu fonksiyon yanlış değerler veriyor.. Burada yanlış olan ne? Şimdiden teşekkürler!



extern double LotBuy = 0.01;


double GetLotBuy()

{

for(int n = 1; n<=CountBuy(); n++)
{
LotBuy=LotBuy*2;
}
return (LotBuy);
}


Başlamak:

extern double LotBuy = 0.01;

double GetLotBuy()

{
double ld_Lot = LotBuy;
for(int n = 1; n<=CountBuy(); n++)
{ld_Lot = LotBuy * n * 2;}
return (ld_Lot);
}

 
Trader7777 :

Millet, lütfen yardım edin. Açık bir emrin her izinin bir öncekinden 2 kat daha büyük olarak açılması için bir fonksiyon yazmak istiyorum. Bu fonksiyon yanlış değerler veriyor.. Burada yanlış olan ne? Şimdiden teşekkürler!



extern double LotBuy = 0.01;


double GetLotBuy()

{

for(int n = 1; n<=CountBuy(); n++)
{
LotBuy=LotBuy*2;
}
return (LotBuy);
}

böyle dene

 double OrderLotsSB( string sy= "" , int op=- 1 , int mn=- 1 ) { 
 datetime o;
   int       i, k= OrdersTotal (); double r=- 1 ;

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
       if (OrderSymbol()==sy || sy== "" ) {
         if ( OrderType()==OP_SELL||OrderType()==OP_BUY) {
           if (op< 0 || OrderType()==OP_SELL||OrderType()==OP_BUY) {
             if (mn< 0 || OrderMagicNumber()==Magic) {
              r=OrderLots()* 2 ;
            }
          }
        }
      }
    }
  }
   return (r);
}
 
TarasBY :

Başlamak:

extern double LotBuy = 0.01;

double GetLotBuy()

{
double ld_Lot = LotBuy;
for(int n = 1; n<=CountBuy(); n++)
{ld_Lot = LotBuy * n * 2;}
return (ld_Lot);
}



Dalga mı geçiyorsun?
 

Kendi göstergeme dayanarak bir danışman yaptım.

Düne göre yükselişte alım ve düşüşte satış için açılış anlaşmaları.

Sorun, anlaşmaların bir bar veya daha fazlası aracılığıyla açılıp kapanmasıdır.

Gösterge, belirli bir önceden belirlenmiş miktarda hareketleri yok sayacak şekilde yapılandırılmıştır.

Fazlalık yoksa gösterge değeri bir önceki çubuktaki gibi kalır (Sanırım sorun burada bir yerde)

Gösterge kodu:

 //+------------------------------------------------------------------+
//|                                                         EMAF.mq4 |
//|                                                 Kamil Gazizullin |
//|                                             forexman77@yandex.ru |
//+------------------------------------------------------------------+
#property copyright "Kamil Gazizullin"
#property link        "forexman77@yandex.ru"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
//--- input parameters
//--- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle( 0 , DRAW_LINE , 0 , 1 );
   SetIndexBuffer ( 0 ,ExtMapBuffer1);
   IndicatorDigits( Digits + 1 );
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----  
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
     int counted_bars=IndicatorCounted(),                      
    limit;
     double
    raznica,raznica_static,
    MA_1_t,                                                  
    MA_2_t;
 
   if (counted_bars> 0 )
      counted_bars--;
   limit= Bars -counted_bars;
   for ( int i= 0 ;i<limit;i++)
   {  
       static double MA_otshet;
      MA_1_t= iMA ( NULL , 0 , 7 , 0 , MODE_EMA , PRICE_CLOSE ,i+ 0 );  
      MA_2_t= iMA ( NULL , 0 , 7 , 0 , MODE_EMA , PRICE_CLOSE ,i+ 1 ); 
      raznica=MA_1_t-MA_2_t;
      raznica_static=MA_1_t-MA_otshet;
       if (raznica_static > - 0.003 && raznica_static < 0.003 )
      {
      ExtMapBuffer1[i]=MA_otshet;
      }
       else
       if (raznica > - 0.003 && raznica < 0.003 )
      {
      ExtMapBuffer1[i]=MA_2_t;
      MA_otshet=MA_2_t;
      }
       if ((raznica > 0.003 ) || (raznica <- 0.003 ))
      {
      ExtMapBuffer1[i]=MA_1_t;
      }
   }
   return ( 0 );
  }
//+------------------------------------------------------------------+

Uzman Danışman Ticaret Kriterleri:

   // Торговые критерии
EMAF_1= iCustom ( NULL , 0 , "EMAF" , 0 , 0 ,i+ 0 );    
EMAF_2= iCustom ( NULL , 0 , "EMAF" , 0 , 0 ,i+ 1 ); 
static datetime t;
if   (EMAF_1 > EMAF_2)
          {                                          
          Opn_B= true ; 
          t=Time[ 0 ];                  
          }
if   (EMAF_1 < EMAF_2)
      {
       if (Time[ 0 ]>t)
          {                                      
          Cls_B= true ;              
          }
      }
 
klop :
Merhaba!

Bunun gibi bir komut dosyasına ihtiyacımız var:

Öyleydi
eur/gbp / 1 lot / açık 312.25 / sl 559.45 / tp 454.55
yui/ghf / 1 lot / açık 3.28 / sl 5.65 / tp 4.65
.../... / 1 grup / açık ...... / sl ...... / tp .......


oldu
eur/gbp / 1.02 lot / açık 312.25 / sl 559.45 / tp 454.55
yui/ghf / 1.02 lot / açık 3.28 / sl 5.65 / tp 4.65
.../... / 1.02 lot / açık ...... / sl ...... / tp .......

Belirli bir hacmin (lot) Bekleyen emirlerini kapatmak ve farklı hacimde ancak aynı piyasaya giriş seviyelerine sahip yeni emirler açmak için dur ve al.

Belki biri tanışmıştır..?
Bence aynı forumda tanıştım, bu tür işlevlere sahip bir komut dosyası aramak için sitedeki arama motorunu kullanmayı deneyin.
 
max020780 :



ben burdan birşey anlamadım..


ikinci bir tek yönlü sipariş açılırsa parti büyüklüğünün katlanarak (2 çarpanıyla) artması gerekir.

 
Vinin :

Dalga mı geçiyorsun?
Çözüm genellikle birkaç "adımdan" oluşur. 1. adım - parti boyutunun üstel büyümesini azaltın. Yol boyunca, döngünün kullanımına en azından biraz anlam veriyoruz. Ve "başlangıcın nerede olduğunu" bilmediğimiz için, sonraki adımları yazara bırakıyoruz. ;)
 
TarasBY :
Çözüm genellikle birkaç "adımdan" oluşur. 1. adım - parti boyutunun üstel büyümesini azaltın. Yol boyunca, döngünün kullanımına en azından biraz anlam veriyoruz. Ve "başlangıcın nerede olduğunu" bilmediğimiz için, sonraki adımları yazara bırakıyoruz. ;)

bu elbette harika, ama yine de, bir sonraki tek yönlü düzenin bir öncekinden iki kat daha fazla açılacağı şekilde nasıl ifade edilir. CountBuy() ve CountSell() halihazırda çalışan iki fonksiyon vardır.
 
Trader7777 :
Ve böyle bir kontrol (komut dosyası) yapmanızı engelleyen nedir ???
Dosyalar: