[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 407

 
costy_ :

TEMEL daire... :-)

yanı sıra BASIC trend olanlar))

euro düşer ve dol düşerse, düz


:-)
 
costy_ :
Swap spreadleri düşüncede dikkate alındı mı?
Evet kesinlikle. Yayılmalar yüzünden. Takas yoktur, pozisyonlar kısadır. Bu, danışmanın daha da inatçı olması gerektiği anlamına gelir, böylece kâr zarara üstün gelir. Teşekkürler, deneyeceğim.
 
costy_ :
aslında formdan sonra ...

Evet .... "Ayrıntılı" cevap. Her olayın bir nedeni olmalıdır. Bir tür arıza ile karşılaşan profesyoneller, ne arayacaklarını biliyorlar. Algoritmayı birkaç kez inceledim ama nedenini bulamıyorum.Bu yüzden tavsiye için profesyonellere dönüyorum - nedenleri ne olabilir?
 

Bunun gibi bekleyen siparişleri açmaya çalışıyorum:

//+--------Parti hesaplama fonksiyonu-------------------------------------- --------------- ----+
çift GetLot(int Risk)
{
çift Serbest=HesapFreeMargin();
double One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double Min_Lot=MarketInfo(Symbol(),MODE_MINLOT);
double Max_Lot=MarketInfo(Symbol(),MODE_MAXLOT);
double Step=MarketInfo(Symbol(),MODE_LOTSTEP);
double Lot=MathFloor(Serbest*Risk/100/Bir_Lot/Adım)*Adım;
if(Lot<Min_Lot)Lot=Min_Lot;
if(Lot>Max_Lot)Lot=Max_Lot;
if(Lot*One_Lot>Ücretsiz)dönüş(0.0);
dönüş(Lot);
}

//+----------Sipariş açma işlevi-------------------------------- ----------------- -+
int NewOrder(int Cmd,çift Parti)
{
double TP=0;// kar al
double SL=0;// kaybı durdur
çift PR=0;// fiyat
while(!IsTradeAllowed())Sleep(100);
if(TakeProfit<MarketInfo(Symbol(),MODE_STOPLEVEL))
TakeProfit=MarketInfo(Symbol(),MODE_STOPLEVEL);
if(StopLoss<MarketInfo(Symbol(),MODE_STOPLEVEL))
StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL);
if(Cmd==OP_BUYSTOP)
{
PR=NormalizeÇift(Sor, Rakamlar);
if(Kar Al>0)TP=NormalizeÇift(Sor+Kar Al*Puan,Rakamlar);
if(StopLoss>0) SL=NormalizeDouble(Bid-StopLoss*Point,Rakamlar);
}
if(Cmd==OP_SELLSTOP)
{
PR=NormalizeÇift(Teklif, Rakamlar);
if(Kar Al>0)TP=NormalizeÇift(Teklif Al-Kar*Puan,Rakamlar);
if(StopLoss>0) SL=NormalizeDouble(Sor+StopLoss*Puan,Rakamlar);
}
tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,"",0,0,CLR_NONE);
if(tic<0)Print("sıra açma hatası:",GetLastError()); Print("Cmd-",Cmd,"Lot=",Lot,"PR=",PR,"SL=",SL,"TP=",TP);
dönüş(tik);
}

Kontrol ederken bana ne verir:

2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15: OrderSend işlevi için geçersiz lot miktarı

2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15: OrderSend hatası 4051

2011.12.06 23:36:51 2010.01.07 17:20 Big Dog 1.01 EURUSD,M15: sipariş açma hatası:405

2011.12.06 23:36:51 2010.01.07 17:20 Büyük Köpek 1.01 EURUSD,M15: Cmd-5Lot=0PR=1.4316SL=1.4419TP=1.4216

Belli ki kur hesabıyla ilgili bir şey ama benim anlamadığım bu))) Lütfen söyleyin

 
LOA :

Evet .... "Ayrıntılı" cevap. Her olayın bir nedeni olmalıdır. Bir tür arıza ile karşılaşan profesyoneller, ne arayacaklarını biliyorlar. Algoritmayı birkaç kez inceledim ama nedenini bulamıyorum.Bu yüzden tavsiye için profesyonellere dönüyorum - nedenleri ne olabilir?

Peki, gösterge nerede? (kahve telvesi üzerine tahmin tel. https://www.mql5.comhttps://www.mql5.com/ru/ )

Her şeyi sıralarsan, harfler biter.

devam mola dönüş bakın bir ara var mı ve ne zaman oluyor. barın açılması ile çalışır....

"Bazı sorunlarla karşılaşınca, nelere dikkat etmeleri gerektiğini bilirler" dikkat etmezler ama hata ayıklamaya başlarlar, göstergenizde hata ayıklamaya başlarlar, ayrıca baskı yoluyla (özellikle yabancılar ve sayfalar gibi 15, 50'den fazla fonksiyon denilen...)

 Print ( "дошли до инициализации, сделаем ресайз запишем все 0.0 size=" + ArrayRange (buf, 0 )+ " resize= " + ArrayResize (buf, Bars )+ "  " + ArrayInitialize (buf, 0.0 )) ;

 

Merhaba.

Bir dizi oluşturdum:

 double fibo[]={- 10.09 ,- 5.854 ,- 4.98 ,- 4.108 ,- 3.236 ,- 2.618 ,- 2.11 ,- 1.618 ,- 1.11 ,- 0.618 ,- 0.382 , 0 , 0.118 , 0.236 , 0.382 , 0.5 , 0.618 , 0.764 , 0.882 , 1 , 1.382 , 1.618 , 2.11 , 2.618 , 3.11 , 3.618 , 4.236 , 5.108 , 5.98 , 6.854 , 11.09 };

Ancak bazı nedenlerden dolayı ilk değeri sıfırlanır (-10.09 0 olur). Bunu yaparak bir geçici çözüm buldum:

 double fibo[]={,- 10.09 ,- 5.854 ,- 4.98 ,- 4.108 ,- 3.236 ,- 2.618 ,- 2.11 ,- 1.618 ,- 1.11 ,- 0.618 ,- 0.382 , 0 , 0.118 , 0.236 , 0.382 , 0.5 , 0.618 , 0.764 , 0.882 , 1 , 1.382 , 1.618 , 2.11 , 2.618 , 3.11 , 3.618 , 4.236 , 5.108 , 5.98 , 6.854 , 11.09 };

Söyle bana, lütfen, burada sorun ne? Bunu gerçekten çözmek istiyorum.

Şimdiden teşekkür ederim.

 
nemo811 :

Merhaba.

Bir dizi oluşturdum:

Ancak bazı nedenlerden dolayı ilk değeri sıfırlanır (-10.09 0 olur). Bunu yaparak bir geçici çözüm buldum:

Söyle bana, lütfen, burada sorun ne? Bunu gerçekten çözmek istiyorum.

Şimdiden teşekkür ederim.

index = 0 ile sıfırlama yapmıyorum

 double fibo[]={- 10.09 ,- 5.854 ,- 4.98 ,- 4.108 ,- 3.236 ,- 2.618 ,- 2.11 ,- 1.618 ,- 1.11 ,- 0.618 ,- 0.382 , 0 , 0.118 , 0.236 , 0.382 , 0.5 , 0.618 , 0.764 , 0.882 , 1 , 1.382 , 1.618 , 2.11 , 2.618 , 3.11 , 3.618 , 4.236 , 5.108 , 5.98 , 6.854 , 11.09 };
Alert (fibo[ 0 ]);

2011.12.06 20:00:47 MA_TF AUDUSD,M30: Uyarı: -10.09


 

İşte kodun sorunlu kısmı:

   if (FIBO)
   {
     double fibo[]={- 10.09 ,- 5.854 ,- 4.98 ,- 4.108 ,- 3.236 ,- 2.618 ,- 2.11 ,- 1.618 ,- 1.11 ,- 0.618 ,- 0.382 , 0 , 0.118 , 0.236 , 0.382 , 0.5 , 0.618 , 0.764 , 0.882 , 1 , 1.382 , 1.618 , 2.11 , 2.618 , 3.11 , 3.618 , 4.236 , 5.108 , 5.98 , 6.854 , 11.09 };
     double fiboPoint = 0 ;
     for (i= 1 ;i< ArraySize (fibo)+ 1 ;i++)
     {
      fiboPoint = NormalizeDouble (MinAsia+Asia*fibo[i], Digits );
       double v = 0 ;
       if (fibo[i]< 0 ) v=( MathAbs (fibo[i])+ 1 )* 100 ;
       else v=fibo[i]* 100 ;
       string kk;
      kk= StringConcatenate ( DoubleToStr (fiboPoint, Digits ), " / " , DoubleToStr (v, 1 ), "%" );
       string k= DoubleToStr (i, 0 );
       ObjectCreate (nameF+k, OBJ_TREND , 0 , 0 , 0 , 0 , 0 , 0 , 0 );
       ObjectSet (nameF+k, OBJPROP_RAY, false);
       ObjectSet (nameF+k, OBJPROP_TIME1, TimeBegAsia);
       ObjectSet (nameF+k, OBJPROP_PRICE1, fiboPoint);
       ObjectSet (nameF+k, OBJPROP_TIME2, FlowTime);
       ObjectSet (nameF+k, OBJPROP_PRICE2, fiboPoint);
       ObjectCreate (nameFT+k, OBJ_TEXT , 0 , 0 , 0 , 0 , 0 , 0 , 0 );
       ObjectSet (nameFT+k, OBJPROP_TIME1, TimeBegAsia);
       ObjectSet (nameFT+k, OBJPROP_PRICE1, fiboPoint);
       ObjectSetText (nameFT+k,kk, 8 , "Arial" );
     }
   }

Yukarıda açıklanan problem burada mevcuttur: -10.09 değerinden türetilen çizgi çizilmez ( MinAsia değerini alır).

 
nemo811 :

İşte kodun sorunlu kısmı:

tuts

 for (i= 0 ;i< ArraySize (fibo)/**/ -/**/ 1 ;i++)
 
mamba5 :

Bunun gibi bekleyen siparişleri açmaya çalışıyorum:

//+--------Parti hesaplama fonksiyonu---------------------------------- - ---+

Kontrol ederken bana ne verir:

2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15: OrderSend işlevi için geçersiz lot miktarı

2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15: OrderSend hatası 4051

2011.12.06 23:36:51 2010.01.07 17:20 Big Dog 1.01 EURUSD,M15: sipariş açma hatası:405

2011.12.06 23:36:51 2010.01.07 17:20 Büyük Köpek 1.01 EURUSD,M15: Cmd-5Lot=0PR=1.4316SL=1.4419TP=1.4216

Belli ki kur hesabıyla ilgili bir şey ama benim anlamadığım bu))) Lütfen söyleyin


Hem test eden hem de gerçek eğitimler için siparişleri açmak için uzun süredir kanıtlanmış işlevleri kullanın