[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 924

 
Düşüncenin ana yönü ayarlamaktır ... :)

Doğru sadece kişi kaybolmasın diye... :)

Beni düzeltebilir misin?
 
THC :
Beni düzeltebilir misin?

bir örnek verdim:

5'in 2'den büyük olması, 5'in 2'den büyük olduğu anlamına gelir.

Ve bu değerlerin farkının karşılaştırılması, 5-2 sıfırdan büyükse, 5, 2'den büyükse

Yani umarım açıktır? Öz kaldı - birinci sınıfın aynı matematiği, sadece onun bir türevi ...

 
extern double Lot=0.01; // Жестко заданное колич. лотов
datetime time;
//--------------------------------------------------------------- 2 --
int start()
{
int Total;


bool
Ans =false, // Ответ сервера после закрытия
Cls_B=false, // Критерий для закрытия Buy
Cls_S=false, // Критерий для закрытия Sell
Opn_B=false, // Критерий для открытия Buy
Opn_S=false; // Критерий для открытия Sell

//--------------------------------------------------------------- 3 --
// Учёт ордеров


for(int i=OrdersTotal()-1;i>=0;i--)
if (OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()>1)Total++;

if(Total!=0 || time==Time[1])return;

static int KolBars;



if (Close[0]-Open[0] > Point && Close[1]-Open[1] > Point && Bars == KolBars)


{

KolBars=Bars ; // запоминаем кол-во бар при которых совершались действия

}




// Торговые критерии

// Критерий откр. Buy


Opn_B=true;

//--------------------------------------------------------------- 7 --


if (Opn_B)
{OrderSend(Symbol(),OP_BUY,Lot,Ask,0,0,0);time=Time[1];}

}




Yardım edin lütfen, 4. kez soruyorum. Zaten 3 günümü bir cevap arayarak geçirdim, kitap bunun nasıl yapılacağını söylemiyor, benzer durumdaki danışmanlara rastlamadım. Yeni bir mum göründüğünde (önceki 2 mumun yeşil olması şartıyla) alış pozisyonu açan ve pozisyonun açıldığı mum kapandığında veya bir sonraki mumun kapanışında pozisyonu kapatan bir temel danışman.

Yukarıda gördüğünüz şey, açılış kriterlerine tepki vermeden her yeni mum çıktığında pozisyon açıyor ve bir pozisyonu nasıl kapatacağımı anlamadım, ders kitabında veya forumlarda bulamadım.

 
artmedia70 :

Anlamak... :)

Ve StopLevel'in varlığını da unutmayın - int StLev=MarketInfo(Symbol(), MODE_STOPLEVEL);

Bu değerden daha az olmayacak şekilde, duraklar ve kalkışlar için minimum mesafeyi kontrol edin.


genel olarak doğru görünüyordu, ancak-- "StLev=MarketInfo(Symbol(),MODE_STOPLEVEL);" nereye koyacağım bana ulaşmadı
burada...

gerçek şu ki sürekli işteyim (ve mql4 programını buraya koyamıyorum ve hepsini kafamda yapmak zorundayım)

harici çift StopLoss=100.0;
harici çift TakeProfit=100.0;
dış çift Lot=0.01;
dış int toplam;
harici int SetOrderDistance=50;

int start() {

int pt,dg,StLev;
double Fiyat_1,Fiyat_2,min,maks,pa,pb;
Yeniler();

pt=MarketInfo(Symbol(),MODE_POINT);
dg=MarketInfo(Symbol(),MODE_DIGITS);
pa=MarketInfo(Symbol(),MODE_ASK);
pb=MarketInfo(Symbol(),MODE_BID);
Fiyat_1=pb;
Fiyat_2=pa;
min=iDüşük(NULL,0,2);
max=iYüksek(NULL,0,2);
toplam=SiparişToplam();
double slB=NormalizeDouble(pa-StopLoss*pt,dg);
double tpB=NormalizeDouble(pa+TakeProfit*pt,dg);
double slS=NormalizeDouble(pb+StopLoss*pt,dg);
double tpS=NormalizeDouble(pb-TakeProfit*pt,dg);

if(toplam<1) {

if(Fiyat_1>maks)
OrderSend (Symbol(),OP_BUY,Lots,pa,5,slB,tpB,"My order#,16384,0,Green);

if(Fiyat_2<dak)
OrderSend(Symbol(),OP_SELL,Lots,pb,5,slS,tpS,"My order#,16384,0,Green);
}
}dönüş(0);

 
THC :

aceleyle çizilmiş Söveler olabilir

 #define Mag 464564564
extern double Lot= 0.01 ;

int start()
{
int Total;

for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--)
if ( OrderSelect (i,SELECT_BY_POS)&&OrderSymbol()== Symbol ()&&OrderType()< 2 &&OrderMagicNumber()==Mag)
       {Total++;
       if (Volume[ 0 ]< 4 )close();
       }

if (Total!= 0 ) return ;
if (Close[ 1 ]>Open[ 1 ]&&Close[ 2 ]>Open[ 2 ]&&Volume[ 0 ]> 4 )bue();
if (Close[ 1 ]<Open[ 1 ]&&Close[ 2 ]<Open[ 2 ]&&Volume[ 0 ]> 4 )sell();

}
void bue()
{
OrderSend ( Symbol (), 0 ,Lot, NormalizeDouble (Ask, Digits ), 5 , 0 , 0 , 0 ,Mag);
}
//----
void sell()
{
OrderSend ( Symbol (), 1 ,Lot, NormalizeDouble (Bid, Digits ), 5 , 0 , 0 , 0 ,Mag);
}
void close()
{
double pr; if (OrderType()== 0 )pr=Bid; if (OrderType()== 1 )pr=Ask;
OrderClose(OrderTicket(),OrderLots(), NormalizeDouble (pr, Digits ), 5 );
}
 
Techno :

aceleyle çizilmiş Söveler olabilir

Çok teşekkürler, çok yardımcı oldu.

Programlamayı nasıl öğrendiniz? Neyle başladın?

 
THC :

Çok teşekkürler, çok yardımcı oldu.

Programlamayı nasıl öğrendiniz? Neyle başladın?

ders kitaplarından öğrenildi, C++ ile başladı
 
C++ mql'den çok mu farklı?
 
THC :
C++ mql'den çok mu farklı?
bazı özellikler dışında (ticaret yönelimi) Mql, sadece c++'ın oldukça sadeleştirilmiş bir kopyasıdır.
 
Techno :
bazı özellikler dışında (ticaret yönelimi) Mql, sadece c++'ın oldukça sadeleştirilmiş bir kopyasıdır.
Ah, tavsiyen ve zaman ayırdığın için teşekkür ederim.
Neden: