Robotla kim yardımcı olabilir, neden çalışmıyor? - sayfa 2

 
Alexey Volchanskiy :

Dilin kuralları gereği varsayılan değerlere sahip parametreleri yutamazsınız. Okların rengini ayarlamanız gerekiyorsa, tüm parametreleri rengin soluna yazın. B kayması 3 yeterli değil, 5 haneli ise alıntılar olacak, 50 yazdım. Ve SL ve TP değerleri sıfıra eşit olmamalı, Aleksey Vakhrushev zaten burada yazdı .


Hata:

'OrderSend' dönüş değeri kontrol edilmelidir
 
GIM :

Hata:

'OrderSend' dönüş değeri kontrol edilmelidir
Bu sadece bir uyarıdır. Dosya derlenecek.
 

İyi günler, lütfen yardım edin Danışman sadece satılıktır.


dış çift Lot = 0.1;
harici int FastMAPeriod=14;
harici int FastMAMethod=0; // 0-SMA, 1-EMA, 2-SMMA, 4-LWMA
harici int FastMAPrice=0; // 0-Kapalı, 1-Açık, 2-Yüksek, 3-Düşük, 4-Ortanca, 5-Tipik, 6-Ağırlıklı
harici int SlowMAPeriod=42;
harici int SlowMAMethod=0; // 0-SMA, 1-EMA, 2-SMMA, 4-LWMA
harici int SlowMAPrice=0; // 0-Kapalı, 1-Açık, 2-Yüksek, 3-Düşük, 4-Ortanca, 5-Tipik, 6-Ağırlıklı
harici int TP=0; // kar almak
harici int SL=0; //kaybı durdurmak

int BuyTicket,SellTicket;



int start(){

double fast_ma1=iMA(NULL,0,FastMAPeriod,0,FastMAMethod,FastMAPrice,1);
double slow_ma1=iMA(NULL,0,SlowMAPeriod,0,SlowMAMethod,SlowMAPrice,1);
double fast_ma2=iMA(NULL,0,FastMAPeriod,0,FastMAMethod,FastMAPrice,2);
double slow_ma2=iMA(NULL,0,SlowMAPeriod,0,SlowMAMethod,SlowMAPrice,2);


if(fast_ma1>slow_ma1 && !(fast_ma2>slow_ma2)){
if(SellTicket!=0){ //SellTicket 0'a eşit değilse true ;

SellTicket=0;
}
if(BuyTicket==0){ //// BuyTicket 0 ise true ;
BuyTicket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,SL=Ask-SL*Point,Ask+TP*Point,NULL,0,0, CLR_NONE );
}
}
if(fast_ma1<slow_ma1 && !(fast_ma2<slow_ma2)){
if(BuyTicket!=0){ //BuyTicket 0'a eşit değilse true ;
bilet al=0;
}
if(SellTicket==0){ // SellTicket 0 ise true
SellTicket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid-SL*Point,Bid+TP*Point,NULL,0,0,CLR_NONE);
}
}

dönüş(0);
}

 
Alexey Kozitsyn :
Bu sadece bir uyarıdır. Dosya derlenecek.
Eh, yine de bir anlaşma açmayacak ...
 
GIM :
Eh, yine de bir anlaşma açmayacak ...
Eh, görünüşe göre kader değil ... Gerçi, belki de, ne yazdığını görmek için dergiye bakmaya değer ... Eh, bu bir seçenek olarak.
 
Alexey Kozitsyn :
Eh, görünüşe göre kader değil ... Gerçi, belki de, ne yazdığını görmek için dergiye bakmaya değer ... Eh, bu bir seçenek olarak.
Teşekkür ederim! denemeye devam edeceğim))
 
AdikAmir :

İyi günler, lütfen yardım edin Danışman sadece satılıktır.


dış çift Lot = 0.1;
harici int FastMAPeriod=14;
harici int FastMAMethod=0; // 0-SMA, 1-EMA, 2-SMMA, 4-LWMA
harici int FastMAPrice=0; // 0-Kapalı, 1-Açık, 2-Yüksek, 3-Düşük, 4-Ortanca, 5-Tipik, 6-Ağırlıklı
harici int SlowMAPeriod=42;
harici int SlowMAMethod=0; // 0-SMA, 1-EMA, 2-SMMA, 4-LWMA
harici int SlowMAPrice=0; // 0-Kapalı, 1-Açık, 2-Yüksek, 3-Düşük, 4-Ortanca, 5-Tipik, 6-Ağırlıklı
harici int TP=0; // kar almak
harici int SL=0; //kaybı durdurmak

int BuyTicket,SellTicket;



int start(){

double fast_ma1=iMA(NULL,0,FastMAPeriod,0,FastMAMethod,FastMAPrice,1);
double slow_ma1=iMA(NULL,0,SlowMAPeriod,0,SlowMAMethod,SlowMAPrice,1);
double fast_ma2=iMA(NULL,0,FastMAPeriod,0,FastMAMethod,FastMAPrice,2);
double slow_ma2=iMA(NULL,0,SlowMAPeriod,0,SlowMAMethod,SlowMAPrice,2);


if(fast_ma1>slow_ma1 && !(fast_ma2>slow_ma2)){
if(SellTicket!=0){ //SellTicket 0'a eşit değilse true ;

SellTicket=0;
}
if(BuyTicket==0){ //// BuyTicket 0 ise true ;
BuyTicket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,SL=Ask-SL*Point,Ask+TP*Point,NULL,0,0, CLR_NONE );
}
}
if(fast_ma1<slow_ma1 && !(fast_ma2<slow_ma2)){
if(BuyTicket!=0){ //BuyTicket 0'a eşit değilse true ;
bilet al=0;
}
if(SellTicket==0){ // SellTicket 0 ise true
SellTicket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid-SL*Point,Bid+TP*Point,NULL,0,0,CLR_NONE);
}
}

dönüş(0);
}

Daha önce hiç görmediğim garip kod.

BuyTicket ve SellTicket değişkenleri, her yeni onay geldiğinde sıfıra eşit olacaktır veya başlatılmadığından ne olduğu net değildir.

if(fast_ma1>slow_ma1 && !(fast_ma2>slow_ma2)) yapısı insan diline çevrildiğinde hiç net değil, bu durum şöyle görünür:

fast_ma1, slow_ma1'den büyükse VE fast_ma2, slow_ma2'den büyük DEĞİLDİR. Şebeke! olumsuzlama anlamına gelir, aksi takdirde şöyle yazılabilir: if(fast_ma1>slow_ma1 && (fast_ma2<slow_ma2))

fast_ma1>slow_ma1 = true (true) ve fast_ma2>slow_ma2 = false (false) ifadesi gerçekleştiğinde koşul karşılanır.

....
if ( OrdersTotal ()== 0 )
{
   if (условие на покупку)
  {
    ticet = OrderSend ( Symbol (),OP_BUY,.....);
     if (ticet== 0 ) Print ( "ERROR" );
  }
   if (условие на продажу)
  {
    ticet = OrderSend ( Symbol (),OP_SELL,.....);    
     if (ticet== 0 ) Print ( "ERROR" );
  }

}
//Простейший код для примера.
 
Vitalii Ananev :

Daha önce hiç görmediğim garip kod.

BuyTicket ve SellTicket değişkenleri, yeni bir tick geldiğinde her seferinde sıfıra eşit olacaktır veya başlatılmadığından ne olduğu net değildir.

if(fast_ma1>slow_ma1 && !(fast_ma2>slow_ma2)) yapısı insan diline çevrildiğinde hiç net değil, bu durum şöyle görünür:

fast_ma1, slow_ma1'den büyükse VE fast_ma2, slow_ma2'den büyük DEĞİLDİR. Şebeke! olumsuzlama anlamına gelir, aksi takdirde şöyle yazılabilir: if(fast_ma1>slow_ma1 && (fast_ma2<slow_ma2))

fast_ma1>slow_ma1 = true (true) ve fast_ma2>slow_ma2 = false (false) ifadesi gerçekleştiğinde koşul karşılanır.

Yine de kodunuzu giriyorum, Satış pozisyonu açılmıyor, tamamen SATIN AL'da.
 
AdikAmir :
Yine de kodunuzu giriyorum, Satış pozisyonu açılmıyor, tamamen SATIN AL'da.

dış çift Lot = 0.1;
harici int FastMAPeriod=5;
harici int FastMAMethod=0; // 0-SMA, 1-EMA, 2-SMMA, 4-LWMA
harici int FastMAPrice=0; // 0-Kapalı, 1-Açık, 2-Yüksek, 3-Düşük, 4-Ortanca, 5-Tipik, 6-Ağırlıklı
harici int SlowMAPeriod=75;
harici int SlowMAMethod=3; // 0-SMA, 1-EMA, 2-SMMA, 4-LWMA
harici int SlowMAPrice=3; // 0-Kapalı, 1-Açık, 2-Yüksek, 3-Düşük, 4-Ortanca, 5-Tipik, 6-Ağırlıklı
harici int TP=500; // kar almak
harici int SL=250; //kaybı durdurmak
çift bilet;

int start(){

double fast_ma1=iMA(NULL,0,FastMAPeriod,0,FastMAMethod,FastMAPrice,1);
double slow_ma1=iMA(NULL,0,SlowMAPeriod,0,SlowMAMethod,SlowMAPrice,1);
double fast_ma2=iMA(NULL,0,FastMAPeriod,0,FastMAMethod,FastMAPrice,2);
double slow_ma2=iMA(NULL,0,SlowMAPeriod,0,SlowMAMethod,SlowMAPrice,2);

if (Sipariş Toplamı()==0)
{
if (fast_ma1>slow_ma1 && (fast_ma2<slow_ma2))
{ bilet = OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-SL*Point,Ask+TP*Point,NULL,0,0, CLR_NONE );
if (bilet==0) Print("HATA");
}
if (slow_ma1>fast_ma1 && (slow_ma2<fast_ma2))
{
bilet = OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid-SL*Point,Bid+TP*Point,NULL,0,0,CLR_NONE);
if (bilet==0) Print("HATA");
}

}

dönüş(0);
}




 
SL / TP hesaplanırken işaretlerin değiştirilmesi gerekiyor
ticet = OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*Point,Bid-TP*Point,NULL,0,0, CLR_NONE );