Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 221
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
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.
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.
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));
"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.
Ya da belki birisi böyle bir göstergeyi hazır gördü?