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

 

Merhaba! Danışman yazdı! Test cihazında her şey çalışıyor, ancak gerçek bir hesapta pozisyon açmayı reddediyor! Manuel olarak açılan pozisyonları çok iyi kapattığını not ediyorum ama AÇMAK istemiyor... Ne yapmalıyım?


KOD:


//+------------------------------------------- --------------------+
//| DOKTRADE.mq4 |
//| DOKSTER@YANDEX.RU |
//| DOKSTER@YANDEX.RU |
//+------------------------------------------- --------------------+
# mülkiyet telif hakkı "DOKSTER@YANDEX.RU"
#özellik bağlantısı "DOKSTER@YANDEX.RU"

harici çift LOT = 0.01; // ÇOK
dış çift KOF = 2;
dış çift SAF = 5;
harici int FRC = 21;

int başlangıç()

{


int CNT;

int TOPLAM;
int SPREAD;

çift SPR;
çift SPRW;

çift FRCU;
çift FRCD;

çift EMAH;
çift EMAM;
çift EMAL;

çift AÇIK;
çift KAPALI;

çift DFB;
çift DFS;

EMAH = iMA(NULL,0,34,8,MODE_SMA,PRICE_HIGH,1);
EMAM = iMA(BOŞ,0,34,8,MODE_SMA,PRICE_MEDIAN,1);
EMAL = iMA(BOŞ,0,34,8,MODE_SMA,PRICE_LOW,1);

AÇIK = iOpen(NULL,0,1);
KAPAT = iClose(NULL,0,1);

FRCU = Yüksek[iEn Yüksek(NULL,0,MODE_HIGH,FRC,1)];
FRCD = Düşük[iDüşük(NULL,0,MODE_LOW,FRC,1)];

DFB=(KAPALI-FRCD);
DFS=(FRCU-KAPALI);

SPR = MarketInfo(Symbol(),MODE_SPREAD);
SPRW = (SPR*Nokta);

TOPLAM = SiparişlerToplam();

if(TOPLAM<1)

{

{ if (OPEN<EMAH&&CLOSE>EMAH)

OrderSend(Symbol(),OP_BUY,LOT,Ask,3,FRCD-(SAF*Point),CLOSE+(DFB*KOF),"DOKTRADE",15775,0,Yeşil);


if (OPEN>EMAL&&CLOSE<EMAL)

OrderSend(Symbol(),OP_SELL,LOT,Bid,3,FRCU+((SAF*Point)+SPRW),CLOSE-(DFS*KOF),"DOKTRADE",15885,0,Kırmızı);

dönüş(0);

}
}

for(CNT=0;CNT<TOPLAM;CNT++)

{

OrderSelect(CNT,SELECT_BY_POS,MODE_TRADES);

{

if (OrderType()==OP_BUY && OrderSymbol()==Symbol())

{

if (OPEN>EMAL&&CLOSE<EMAL)

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);

dönüş(0);

}

if (OrderType()==OP_SELL && OrderSymbol()==Symbol())

{

if (OPEN<EMAH&&CLOSE>EMAH)

OrderClose(OrderTicket(),OrderLots(),Ask,3,Mavi);

dönüş(0);

}

}

}

}
 

Güzel gün!

Beyler, lütfen nerede aptal olduğumu anlamama yardım edin. Aroon Up&Dn göstergesi var

Danışmana koymaya çalışıyorum... emirleri açmak istemiyor:

 extern int      _Aroon_Period = 14 ;
extern int      _TimeF = 60 ;
extern int      _Point = 10 ;
extern double   _lots= 0.01 ;
extern int      _Prof = 150 ;
 int start()
  {
//----
   double _Up1, _Up2, _Dn1, _Dn2;
   if (Volume[ 0 ]> 1 ) return ;
   if ( _Point < MarketInfo ( Symbol (),MODE_STOPLEVEL)) _Point = MarketInfo ( Symbol (),MODE_STOPLEVEL);
   _Up1= iCustom ( NULL ,_TimeF, "Aroon_Up_Down" ,_Aroon_Period, 1 , 1 ); // пробовал 0 и AroonUpBuffer
   _Up2= iCustom ( NULL ,_TimeF, "Aroon_Up_Down" ,_Aroon_Period, 1 , 2 );
   _Dn1= iCustom ( NULL ,_TimeF, "Aroon_Up_Down" ,_Aroon_Period, 2 , 1 );
   _Dn2= iCustom ( NULL ,_TimeF, "Aroon_Up_Down" ,_Aroon_Period, 2 , 2 );   // пробовал 1 и AroonDnBuffer

   if (_Up1>_Dn1  && _Up2<_Dn2) 
   
   {      
       _OrderDelete(OP_SELLSTOP);
      _price= NormalizeDouble ((High[ 1 ]+ _Point * Point ), MarketInfo ( Symbol (),MODE_DIGITS));
      _OrderModify(OP_SELL);
       OrderSend ( Symbol (),OP_BUYSTOP,_lots,_price, 5 , 0 ,_price+_Prof* Point , 0 , 0 , 0 , Green );
   }
   if ( _Up1<_Dn1  && _Up2>_Dn2 ) 
   
   {     
      _OrderDelete(OP_BUYSTOP);
      _price= NormalizeDouble ((Low[ 1 ]- _Point * Point ), MarketInfo ( Symbol (),MODE_DIGITS));
      _OrderModify(OP_BUY);
       OrderSend ( Symbol (),OP_SELLSTOP,_lots,_price, 5 , 0 ,_price-_Prof* Point , 0 , 0 , 0 , Red );
   }

//---- OrderSendError
   return ( 0 );
  }
Dosyalar:
 
7sintez :

Merhaba! Danışman yazdı! Test cihazında her şey çalışıyor, ancak gerçek bir hesapta pozisyon açmayı reddediyor! Manuel olarak açılan pozisyonları çok iyi kapattığını not ediyorum ama AÇMAK istemiyor... Ne yapmalıyım?


Başlangıç olarak, günlükteki hatalara bakın... Bir emir gönderirken fiyat parametreleri için NormalizeDouble şiddetle tavsiye edilir.

 
splxgf :

Başlangıç olarak, günlükteki hatalara bakın... Bir emir gönderirken fiyat parametreleri için NormalizeDouble şiddetle tavsiye edilir.

Elbette tavsiye için teşekkür ederim, ancak mümkünse - daha ayrıntılı olarak ... Günlükte senkronizasyon dışında hiçbir şey görüntülenmiyor! Söylesene, bir yere bir şey ekleyebilir miyim? Evet ve normal şekilde kapanıyor ... Yani. kapat her şey çalışıyor..!
 
Ve başka bir soru - başka herhangi bir komut dosyasının çalışması bu Uzman Danışmanın çalışmasını etkileyebilir mi?
 
NormalizeDouble ile tamamlandı ... Tepki yok! Belki ayarlarda bir şey değiştirirsiniz?
 
splxgf :

https://docs.mql4.com/en/array/ArrayMaximum üzerinden gidebilirsiniz.

Yüksek dizi tarafından.

Daha ayrıntılı olarak mümkünse, anlayamadım. Yüksek[i] ile Yüksek[1] aralığındaki en büyük değeri bulmamız gerekiyor. Teşekkür ederim!
 
93408 :

Güzel gün!

Beyler, lütfen nerede aptal olduğumu anlamama yardım edin. Aroon Up&Dn göstergesi var

Danışmana koymaya çalışıyorum... emirleri açmak istemiyor:


bence bu yüzden

(Volume[0]>1) dönerse;

 
7sintez :
Elbette tavsiye için teşekkür ederim, ancak mümkünse - daha ayrıntılı olarak ... Günlükte senkronizasyon dışında hiçbir şey görüntülenmiyor! Söylesene, bir yere bir şey ekleyebilir miyim? Evet ve normal şekilde kapanıyor ... Yani. kapat her şey çalışıyor..!

Aslında, bir EA yazarına bu tür soruları sormak saçma :) Görünüşe göre henüz bir acemi kadar büyümediniz ve hesaplanan duruşları ve alımları sipariş açılış fiyatına yakınlık için kontrol etmek gibi tavsiyeler size yardımcı olacaktır. size genellikle bir Çin mektubu gibi gelir.
 
Roger :


bence bu yüzden

(Volume[0]>1) dönerse;

Hayır, bu yüzden değil.

Herkese teşekkürler, anladım. kazanılan