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

 

for(cnt=0;cnt<toplam;cnt++)
{
OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && // açık pozisyonu kontrol edin
OrderSymbol()== lSymbol() ) // sembolü kontrol edin
{

?

 

Kod için yardım plz! neden bu kodda 138 hatası alıyorum??? ve o neden burada? işlemler açılıyor ama fiyatlar kapanırken nedense oldukları gibi değiller mi? her şey basit. danışman mumlardan sonra anlaşmayı kapatmalı ve fraktal bozulduğunda açmalıdır. tavsiye için şimdiden teşekkürler

dış int s=5;



harici int stime=60;
harici int lot=1;
dış int kayma=5;
dış çift sl=NULL;
harici çift tp=NULL;
double upfr,dnfr=0.0;//son fraktalların seviyeleri
çift tKapat=NULL;
çift tOpen=NULL;
int bayrak=0;
int init()
{
//----



//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman sıfırlama işlevi |

//+------------------------------------------- --------------------+
int tanım()
{
//----

//----
dönüş(0);
}
//+------------------------------------------- ------ ----------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+

int start()//kırılmada açılır ve s mumlarından sonra kapanır
{
//----
upfr=iFractals(Symbol(), PERIOD_H1 ,MODE_UPPER,4);
dnfr=iFractals(Symbol(),PERIOD_H1,MODE_LOWER,4);
//PELÇLENEREK SİPARİŞ AÇ
if(upfr>0 && High[1]>upfr && flag==0) //yukarı fraktal ve yukarı fraktal seviyesi aşılırsa
{
tOpen=Zaman[0];
tKapat=tAç+s*süre*60;
OrderSend(Symbol(),OP_BUY,lot,Teklif,slippage,sl,tp);
bayrak=1;
}
if(dnfr>0 && Low[1]<dnfr && flag==0)//fraktal düşükse ve fraktal seviye düşükse
{
tOpen=Zaman[0];
tKapat=tAç+s*süre*60;
OrderSend(Symbol(),OP_SELL,lot,Sor,slippage,sl,tp);
bayrak=1;
}

//SÜRE GEÇTİKTEN SONRA SİPARİŞLERİ KAPATMAK
if(Time[0]>=tClose )// kapanmadan önceki zaman geçtiyse
{
Print("KAPATMA İŞLEVİ");
VeyaKapat();
bayrak=0;
}


//----
dönüş(0);
}
//+------------------------------------------- --------------------+
// tüm siparişleri kapat
geçersiz OrClose()
{
for(int i=OrdersTotal()-1;i>=1;i--)
{
if(Sipariş Seçimi(i,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),lot,OrderOpenPrice(),0.0005);
}
}
dönüş(0);
}
 
Qwertee :

kod plz ile yardım! neden bu kodda 138 hatası alıyorum??? ve o neden burada? işlemler açılıyor ama fiyatlar kapanırken nedense oldukları gibi değiller mi?

 OrderClose ( OrderTicket (),lots, OrderOpenPrice (), 0.0005 );

değişmek

         if ( OrderType ()==OP_BUY)
           {
             OrderClose ( OrderTicket (), OrderLots (),Bid,slippage);
           }
         else
           {
             OrderClose ( OrderTicket (), OrderLots (),Ask,slippage);
           }
 
Günün iyi zamanı. Zigzag göstergesiyle ilgilenen profesyoneller, son iki en yüksek değeri nasıl elde edeceğimi söylerler: Yüksek ve Düşük?
 

Güzel gün.

Siparişleri açma konusunda yardım. Danışmanı bir demo hesabına koydum, bir satın alma veya satış için bir koşul yapıldığında 130 hatası veriyor.

İşte emirleri açma işlevi:

 int NewOrder( int Cmd, double Lot)
{ double TP= 0 ; //тейкпрофит
 double SL= 0 ; //стоплосс
 double PR= 0 ; //Цена
 while (! IsTradeAllowed ()) Sleep ( 100 );
 RefreshRates ();
 if (Cmd==OP_BUY)
   {PR=Ask;
     if (TakeProfit> 0 ) TP= NormalizeDouble (Ask+TakeProfit* Point , Digits );
     if (StopLoss> 0 ) SL= NormalizeDouble (Bid-StopLoss* Point , Digits );}
 if (Cmd==OP_SELL)
   {PR=Bid;
     if (TakeProfit> 0 ) TP= NormalizeDouble (Bid-TakeProfit* Point , Digits );
     if (StopLoss> 0 ) SL= NormalizeDouble (Ask+StopLoss* Point , Digits );}
 int tic= OrderSend ( Symbol (),Cmd,Lot,PR, 20 ,SL,TP, "" , 0 , 0 , CLR_NONE );
 if (tic< 0 ) Print ( "Ошибка открытия ордера: " , GetLastError ());
return (tic);}

Partinin hesaplanmasıyla her şey yolunda, başka bir danışmanda kontrol ettim.

Alpari ile demo hesabı, Micro yazın. alma ve durdurma maliyeti sırasıyla 100 puan. 10 puan çünkü Alpari'nin 5 işareti var

 
Açılış fiyatını normalleştirin
 
FAQ :
Açılış fiyatını normalleştirin


Nasıl normalleştirilir?

Böyle?

PR= NormalizeDouble (Ask, Digits );

Eğer öyleyse, o zaman hiçbir şey değişmez.

Henüz programlama konusunda fazla tecrübem yok. Lütfen nasıl normalleştirileceğini açıklayabilir misiniz?

 
Daha sonra durdurma seviyesinin boyutunu önceden kontrol edin, eğer bu sizin stop ve karınızdan fazlaysa - düzeltin. eğer sıfırsa. o zaman önce sıfır stop ve kar ile bir sipariş vermeniz ve ardından bunları istediğiniz seviyelere değiştirmeniz gerekir.
 

iyi akşamlar. Soru, işlemin bir kısmını kapatırken, danışman olduğu gibi, yeni bir biletle yeni bir işlem açar. Ve yeni düzenin büyüsü aynı mı kalıyor?

 
MetaTrader 4 yüklendi, bir demo hesabı açıldı. Emirleri açıp kapatmaya çalıştım. Şimdi, "eski emri kapatıp yeni bir tane açmak için 2 mumluk bir fark gerekir" gibi bilgileri kullanarak, fiyat yükseldiğinde bir satış emri ve fiyat düştüğünde bir satın alma emrini terminalin kendisinin başlatmasını nasıl sağlayabilirim?