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

 
penzacity :

Bunun mümkün olduğunu forumda buldum: https://www.mql5.com/ru/forum/141467

Ve bir kene öykünücüsü bulmanızı tavsiye ederim.

Yani, MQL4 kullanarak hafta sonları bir kene simülasyonu uygulamak mümkün değil mi???

Sadece o sayfada, gönderinize gönderdiğiniz bağlantı. Orada daha dikkatli okuyun.
 
artmedia70 :
Sadece o sayfada, gönderinize gönderdiğiniz bağlantı. Orada daha dikkatli okuyun.

Evet, aptalım. Sadece start()'a ihtiyacınız var; ek olarak init(){} aracılığıyla çalıştırın...

int init(){start();}

...

geçersiz başlangıç(){...}

Teşekkürler, anladım.

 
Yyyy ... tupanul yani tupanul))) Gerçekten net değil mi, makyajdaki init (), deinit () ve start () işlevlerine dokunmayın. Sadece büyük metakotaların emrettiği gibi)))
 
Para için ikramiye nasıl değiştirilir?
 
Alexs65 :
Para için ikramiye nasıl değiştirilir?

Kimin bonusları?
 

Takip koduna sahibim:

harici tarihsaat başlangıç = D'2013.10.17 23:59';

int başlangıç()

{

int b1=iBarShift( Symbol() ,0,start,0);

double hb=iYüksek(Symbol(),0,b1); //belirtilen tarihin çubuğu

double hb2=iYüksek(Sembol(),0,b1-1); // belirtilen tarihten yarına çubuk

Lütfen bana belirtilen tarihten itibaren dünü nasıl yazacağımı söyleyin, aksi takdirde double hb3=iHigh(Symbol(),0,b1+1); çalışmıyor...

 

Merhaba!!! Danışmanım harekete karşı emirler açar, nasıl değiştireceğimi veya nerede değiştireceğimi söyler???

string GLOB_START;

int init()
{
GLOB_START = "@" + DoubleToStr(ID,0) + "@" + "_start";
if ( !GlobalVariableCheck( GLOB_START ) )GlobalVariableSet(GLOB_START,TimeCurrent());
dönüş(0);
}

int tanım()
{
switch( UninitializeReason() )
{
durum REASON_REMOVE: delete_glob ("@" + DoubleToStr(ID,0) + "@");
}
if ( IsTesting() )delete_glob ("@" + DoubleToStr(ID,0) + "@");
dönüş(0);
}

geçersiz delete_glob (c dizesi)
{
int i;
for ( i = GlobalVariablesTotal()-1; i>= 0 ; i-- )if ( StringFind(GlobalVariableName(i),c) >= 0 )GlobalVariableDel(GlobalVariableName(i));
}

int başlangıç()
{
Yorum(Bilgi());
int KOL_BUY = order_total(0);
int KOL_SELL = sipariş_toplam(1);
çift l;

if ( order_total() == 0 )
{
open(0,Lot,0,TP);
open(1,Lot,0,TP);
}

if ( KOL_BUY == 0 && KOL_SELL != 0 )
{
open(0,Lot,0,TP);
l = son_ticaret(1);
açık(1,l,0,0);
change_orders(1);
}

if ( KOL_BUY != 0 && KOL_SELL == 0 )
{
open(1,Lot,0,TP);
l = last_trade(0);
açık(0,l,0,0);
change_orders(0);
}

dönüş(0);
}

dizi Bilgi()
{
int i;
çift buff_1 = 0, buff_2 = 0, buff_3 = 0;
string res = "\n";

for( i = OrdersHistoryTotal() - 1; i >= 0; i-- )
{
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if( OrderMagicNumber() == Kimlik )
{
if ( OrderOpenTime() >= iTime(NULL,PERIOD_D1,0) )buff_1 += OrderProfit();
if ( OrderOpenTime() >= iTime(NULL,PERIOD_D1,1) && OrderOpenTime() < iTime(NULL,PERIOD_D1,0) )buff_2 += OrderProfit();
if ( OrderOpenTime() >= GlobalVariableGet(GLOB_START) )buff_3 += OrderProfit();
}
}

res = res + "" + TimeToStr(iTime(NULL,PERIOD_D1,0)) + ": " + DoubleToStr(buff_1,0) + "\n" + "\n";
res = res + "" + TimeToStr(iTime(NULL,PERIOD_D1,1)) + ": " + DoubleToStr(buff_2,0) + "\n" + "\n";
res = res + "Yatırılan para birimi toplamı kârı: "+ DoubleToStr(buff_3,0) + "\n";
dönüş(ler);
}

void change_orders( int tipi )
{
int i;
tarihsaat time_last = 0, time_first = TimeCurrent();
double SPREAD = MarketInfo(Symbol(),MODE_SPREAD)*MarketInfo(Symbol(),MODE_POINT), op_pr_last, op_pr_first, level;

for( i = OrdersTotal() - 1; i >= 0; i-- )
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if( OrderMagicNumber() == ID && OrderType() == type )
{
if (OrderOpenTime() > time_last )
{
op_pr_last = OrderOpenPrice();
time_last = OrderOpenTime();
}
if ( OrderOpenTime() < time_first )
{
op_pr_first = OrderOpenPrice();
time_first = OrderOpenTime();
}
}
}


if ( type == 0 )level = op_pr_last + MathAbs(op_pr_last-op_pr_first) * (SL/100);
if ( type == 1 )level = op_pr_last - MathAbs(op_pr_last-op_pr_first) * (SL/100);

for( i = OrdersTotal() - 1; i >= 0; i -- )
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if( OrderMagicNumber() == ID && OrderType() == type && NormalizeDouble(OrderTakeProfit(),Digits) != NormalizeDouble(level,Digits) )OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),level,0 );
}
}

double last_trade( int t )
{
int i;
çift res = -1;
tarihsaat=0;

for(i=SiparişlerToplam()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderOpenTime()>time && OrderMagicNumber()==ID && OrderType() == t)
{
res = OrderLots();
zaman = OrderOpenTime();
}
}
if (çarpan)dönüş(res * Lot_koeff);
if ( !multiplier )dönüş(res + Lot_koeff);
}
int open(int tipi, çift l, çift sl=0, çift tp=0, string iletişim = "")
{
int açık = 0, dene = 0;
çift s,t;
while ( IsTradeContextBusy() ){Sleep(500);}
Yeniler();
if ( sl != 0 && sl < MarketInfo(Symbol(),MODE_STOPLEVEL) )sl = MarketInfo(Symbol(),MODE_STOPLEVEL);
if ( tp != 0 && tp < MarketInfo(Symbol(),MODE_STOPLEVEL) )tp = MarketInfo(Symbol(),MODE_STOPLEVEL);
if ( yazın == 0 )
{
if ( tp == 0 )t = 0;
if ( tp != 0 )t = Sor + tp * Nokta;
if ( sl == 0 )s = 0;
if ( sl != 0 )s = Teklif - sl * Puan;
}
if ( tür == 1 )
{
if ( tp == 0 )t = 0;
if ( tp != 0 )t = Teklif - tp * Puan;
if ( sl == 0 )s = 0;
if ( sl != 0 )s = Sor + sl * Nokta;
}
s = NormalizeDouble(s, Digits);
t = NormalizeDouble(t, Rakamlar);
if(type==0)isOpened = OrderSend(Symbol(),type,check_lot(l),NormalizeDouble(Ask,Digits),10,s,t,comm,ID);
if(type==1)isOpened = OrderSend(Symbol(),type,check_lot(l),NormalizeDouble(Bid,Digits),10,s,t,comm,ID);
Uyku(500);
while(isOpened<0)
{
while ( IsTradeContextBusy() ){Sleep(500);}
Yeniler();
if ( yazın == 0 )
{
if ( tp == 0 )t = 0;
if ( tp != 0 )t = Teklif + tp * Puan;
if ( sl == 0 )s = 0;
if ( sl != 0 )s = Teklif - sl * Puan;
}
if ( tür == 1 )
{
if ( tp == 0 )t = 0;
if ( tp != 0 )t = Sor - tp * Nokta;
if ( sl == 0 )s = 0;
if ( sl != 0 )s = Sor + sl * Nokta;
}
s = NormalizeDouble(s, Digits);
t = NormalizeDouble(t, Rakamlar);
dene++;
if(type==0)isOpened = OrderSend(Symbol(),type,check_lot(l),NormalizeDouble(Ask,Digits),10,s,t,comm,ID);
if(type==1)isOpened = OrderSend(Symbol(),type,check_lot(l),NormalizeDouble(Bid,Digits),10,s,t,comm,ID);
if(deneyin > 5) break;
if(isOpened>=0)break;
Uyku(500);
}
if(isOpened<0) Alert("Sipariş açılmadı, hata :", GetLastError());
dönüş(isOpened);
}

int sipariş_toplam( int type_1 = -1, int type_2 = -1 )
{
int i;
intcol=0;
for(i=SiparişlerToplam()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==ID && (OrderType() == type_1 || OrderType() == type_2) )kol++;
if(OrderMagicNumber()==ID && type_1 == -1 && type_2 == -1 )kol++;
}
dönüş(sütun);
}

double check_lot(double &lo)
{
double l = MarketInfo(Symbol(),MODE_LOTSTEP);
int tamam = 0;
while ( l < 1 ){l*=10;ok++;}
if( lo < MarketInfo(Symbol(),MODE_MINLOT) )lo = MarketInfo(Symbol(),MODE_MINLOT);
if( lo > MarketInfo(Symbol(),MODE_MAXLOT) )lo = MarketInfo(Symbol(),MODE_MAXLOT);
dönüş(NormalizeDouble(lo,tamam));

 
Hepinize iyi günler. Beyler bir sorum var lütfen beni aydınlatın Alpari ve Master_Forex ile çalışıyorsam EA'ları çalışan terminalden indirdiğim hikayeler için test ediyorum, dışarıdan hiçbir şey yok, sol hikaye yok, Dukas'tan örneğin hiçbir yardımcı program yok , örneğin Tick Data Suite gibi, DS'min özellikle Alpari veya Master_Forex terminali ile sadece %90 simülasyon, ........ yöntemini kullanarak farklı koşullar ve parametreler üzerinde yarım yıl boyunca test edildi, en iyisini seçti ve sonra geri test edin ve önümüzdeki altı ay içinde, 2-5g sonra her şey bir demet halinde ve baykuş hazır. Güvenilir bir kazanan olabilir mi yoksa hala% 99'a ve buna bağlı her şeye ihtiyacınız var mı?
Teşekkürler!!! ........
 

"Equity:" (AccountEquity()) için takip nasıl yapılır?

Seçenekler

harici çift İzleyenBaşlangıç = 10000; // Trolün başlangıç seviyesi
harici çift sondaki durdurma = 100; // Trol boyutu
harici çift TrailingStep = 10; // Trol adımı

 

Arka arkaya iki yukarı/aşağı fraktal nasıl bulunur? Resim aşağıda.

Bir gösterge yazmaya çalıştım ama bir şey düşünmedim.

 //+------------------------------------------------------------------+
//|                                           Dvigubas fraktalas.mq4 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"

#property indicator_chart_window
#property indicator_color1 Red
#property indicator_width1 2
#property indicator_buffers 1

double FRACTAL[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle( 0 , DRAW_ARROW );
   SetIndexArrow( 0 , 119 );
   SetIndexBuffer ( 0 ,FRACTAL);
   SetIndexLabel( 0 , "Fractal" );
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int     counted_bars=IndicatorCounted();
//----
   int limit;
   
   
   
//---- последний посчитанный бар будет пересчитан
   if (counted_bars > 0 ) 
       counted_bars--;
   limit = Bars - counted_bars;
//---- основной цикл
   for ( int i = limit; i > 0 ; i--)
     {           
         int f1 = GetFractal( "" , 0 , 0 );
         int f2 = GetFractal( "" , 0 , 1 );
         
         if ( f1 == 1 && f2 == 1 ) FRACTAL[i] = High[i]+ 100 * Point ;
         else 
         if ( f1 == 0 && f2 == 0 ) FRACTAL[i] = Low[i]- 100 * Point ;
     }
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
        |
//+----------------------------------------------------------------------------+
int GetFractal( string sy= "0" , int tf= 0 , int nf= 0 ) 
{
   if (sy== "" || sy== "0" ) sy= Symbol ();
   int f=- 1 ;
   int     i, k=iBars(sy, tf), kf;
   for (i= 3 ; i<k; i++) 
  {
     if ( iFractals (sy, tf, MODE_UPPER, i)> 0 )f= 1 ;
     else
       if ( iFractals (sy, tf, MODE_LOWER, i)> 0 )f= 0 ;
    kf++;
     if (kf>nf) return (f);    
  }
  
}

Ya da belki birisi böyle bir göstergeyi hazır gördü?