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

 

Merhaba sevgili programcılar.

Ders kitabına girmek için çok tembel. Belki biri danışmanda neyin değiştirilmesi gerektiğini biliyordur, böylece para yönetimini 0.1 değil, 0.01'lik bir adımla uygular.

Dosyalar:
 
SteelKnight84 :

Merhaba sevgili programcılar.

Ders kitabına girmek için çok tembel. Belki biri danışmanda neyin değiştirilmesi gerektiğini biliyordur, böylece para yönetimini 0.1 değil, 0.01'lik bir adımla uygular.


herkes tembel
 
Vinin :

herkes tembel

Dili bilen bir programcının bir programı açamayacak kadar tembel olması bir şeydir. Başka bir şey, dili bilmeyen bir kişinin, özünde basit bir soruyu cevaplamak için dili öğrenemeyecek kadar tembel olmasıdır. Bir programcı için dil bilgisi bir zorunluluksa, o zaman benim için buna dalmanın bir anlamı yok :) Hepsi bu. Ama elbette, kimse cevap vermezse, vermek zorunda kalacaksın. Ama eğer sadece programcılar burada iletişim kuruyorsa forumun anlamı nedir?
 
SteelKnight84 :

Dili bilen bir programcının bir programı açamayacak kadar tembel olması bir şeydir. Başka bir şey, dili bilmeyen bir kişinin, özünde basit bir soruyu cevaplamak için dili öğrenemeyecek kadar tembel olmasıdır. Bir programcı için dil bilgisi bir zorunluluksa, o zaman benim için buna dalmanın bir anlamı yok :) Hepsi bu. Ama elbette, kimse cevap vermezse, vermek zorunda kalacaksın. Ama eğer sadece programcılar burada iletişim kuruyorsa forumun anlamı nedir?

Bir anlamı yoksa - soru sormayın, hemen burada
 
Vinin :

Bir anlamı yoksa - soru sormayın, hemen burada

ve bunun için teşekkürler
 
SteelKnight84 :

Merhaba sevgili programcılar.

Ders kitabına girmek için çok tembel. Belki biri danışmanda neyin değiştirilmesi gerektiğini biliyordur, böylece para yönetimini 0.1 değil, 0.01'lik bir adımla uygular.


2 basamak değişti, olması gerektiği gibi görünüyor veya çalışıyor.

Dosyalar:
 

Tüm forumu okundu olarak işaretlemek mümkün mü?

Ve ayrıca MQL5 forumu...

teşekkürler

 
ALXIMIKS :


2 basamak değişti, olması gerektiği gibi görünüyor veya çalışıyor.


Birinin tembel olmadığı ortaya çıktı. bir hata yaptım
 

Merhaba!!! İyi tavsiye için herkese teşekkürler. Ama başladığım şeyde hala ilerleyemedim)) Danışmanım iki özdeş emir açar ve diğerleri harekete karşı, ben onu harekette açılacak şekilde değiştirmek istiyorum !!! Tüm seçenekleri denedim.

KİMİN YAPACAĞINI SÖYLE

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));

 

Bana böyle bir şey söyle, hesapta belirli koşullar altında hepsi aynı anda bir sipariş açabilen N danışman var, her biri hesapta 1'den fazla siparişi kontrol etmiyor, ancak sonunda bazen alıyorum N emir, ne yapabilirim?