Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 550

 
Alexandr24 :
Bir önceki gün için N göstergesinin maksimum değerini bulmama yardım et, verileri iCustom ve ardından çıkmaz yoldan alıyorum. Bunun ArrayMaximum üzerinden yapıldığına dair düşünceler var ama bir değer olarak

Aklıma başka seçenekler gelene kadar iCustom'u oraya nasıl ekleyeceğimi anlamıyorum.



1. Bir önceki günün başındaki çubuk numarasını, sonundaki çubuk numarasını bulun.

2. Döngüyü bir şekilden diğerine geçin ve maksimumu bulun.

Elbette ArrayMaximum'u da kullanabilirsiniz, ancak ilk paragraftan sonra.

 
proxy'ler hakkında, gerçekten çalışan IP adreslerine ihtiyacı olan varsa, tavsiye edebilirim http://buy.fineproxy.org/ Oradan çok uzun süredir adres satın alıyorum, her şey yolunda gidiyor ve bir test süresi olasılığı var!
 

Sel için özür dilerim, tekrar soracağım.

Hızlı ücretsiz açık faiz göstergesi. Şimdiden teşekkürler!

 
GSB :

Böyle kod yazamazsın :)

Sonraki Yorum("USDCADAsk = ",USDCADAsk); ardından USDCADAsk = DoubleToString(MarketInfo("USDCAD",MODE_ASK),usdcaddigits); USDCADAsk double olarak bildirilir ve içine bir dize koyarsınız,

ve sonra tekrar Rakamlar .... ^) yani ayrıca Nokta

Bu tür hataları kendiniz arayın, kimse onları sizin için düzeltmeyecek ve ticaret yapmayacak! Derleyici 28 hata veriyor ve demo koysanız bile ticaret yapıyorsunuz. Sadece gerçek olmadığına pişman olmak için kalır, burada piyasa sizi düzeltirdi!

Kimin Teklif Sor bu?


düzelt


Ek değişkenlerin kullanılmasının gerekli olmadığı ve ardından normalleştirmeye gerek olmadığı ortaya çıktı, böyle olması gerekiyor.
 OrderSend ( "USDCAD" , OP_BUY ,Lot, MarketInfo ( "USDCAD" , MODE_ASK ),slip, 0 , 0 , "USDCAD" ,magic[ 0 ], 0 ,Red);
 
Example2 :

Ek değişkenlerin kullanılmasının gerekli olmadığı ve ardından normalleştirmeye gerek olmadığı ortaya çıktı, böyle olması gerekiyor.

 OrderSend ( "USDCAD" , OP_BUY ,Lot, MarketInfo ( "USDCAD" , MODE_ASK ),slip, 0 , 0 , "USDCAD" ,magic[ 0 ], 0 ,Red);

İlk olarak, bunları doğrulama için ekranda görüntülemeye çalıştınız, bu da hatalara yol açtı ve ikincisi, normalleştirme arzu edilir ve sipariş verme ve TP, SL fiyatı. Normalleştirilmemiş bir fiyat hatalara yol açabilir. Bu bir kuraldır ve çiğnenmemelidir. Örneklere bakın ve neden böyle olduğunu analiz edin, örneğin https://book.mql4.com/ru/samples/shared
 
Merhaba! Zorlaştırmıyorsa, örneğin OrderOpenPrice'a nasıl %23 ekleyeceğimi söyleyin. OrderOpenPrice'ın zaten %77 olduğu biliniyorsa. 77'ye bölüp 23 ile çarpıyorum ve 31 yerine 7 puan çıkıyor. İşte if kod satırı (MarketInfo-OrderOpenPrice()>OrderOpenPrice()/50*Percent*Point). Bu, başa baş bir transferdir, ancak puan olarak değil, yüzde olarak. Şimdiden teşekkürler!
 
vidnab :
Merhaba! Zorlaştırmıyorsa, örneğin OrderOpenPrice'a nasıl %23 ekleyeceğimi söyleyin? OrderOpenPrice'ın zaten %77 olduğu biliniyorsa. 77'ye bölüp 23 ile çarpıyorum ve 31 yerine 7 puan çıkıyor. İşte if kod satırı (MarketInfo-OrderOpenPrice()>OrderOpenPrice()/50*Percent*Point). Bu, başa baş bir transferdir, ancak puan olarak değil, yüzde olarak. Şimdiden teşekkürler!


50 ruble için yüz bin avro aldım, sonra satın alma fiyatına% 23 ekliyorum.

Durumunuz için kodu tam olarak düzenlemeniz gerekir. Yine de %100'e getirirseniz, 0,77'ye bölün.

 

Cevap için teşekkürler. İşte kodun tamamı

//+------------------------------------------- ------------------------------+
//| e-MovingInWL2.mq4 |
//| |
//| Kim Igor V. namı diğer KimIV |
//| http://www.kimiv.ru |
//| |
//| 27.10.2008 EA, durağı başa baş noktasına taşıyor. |
//+------------------------------------------- ------------------------------+
#özellik telif hakkı "Kim Igor V. aka KimIV"
#özellik bağlantısı "http://www.kimiv.ru"

//------- EA'nın dış parametreleri ------------------------------------ ------+
extern string _P_Expert = "---------- Uzman Danışman Seçenekleri";
extern bool AllSymbols = True; // Tüm karakterlerin konumlarını takip edin
harici int Sihir = -1; // Konum tanımlayıcısı
extern int Kar Düzeyi = 25; // Puan olarak kar seviyesi
harici int SeviyeWKayıp = 1; // Puan cinsinden başabaş seviyesi
extern bool ShowComment = Doğru; // Yorumu göster

//-------Ticaret emirlerinin yürütülmesi için parametreler ------------------------------+
extern string _P_Performance = "---------- Performans Parametreleri";
extern bool UseSound = True; // Ses sinyali kullan
harici string SoundSuccess = "uzman.wav"; // Başarı sesi
harici string SoundError = "timeout.wav"; // Hata sesi
harici int NumberOfTry = 2; // Alım satım denemesi sayısı

//---------------------- Uzman Danışmanın global değişkenleri ----------------------------------- ---+
bool gbDisabled = Yanlış; // EA kilit işareti
bool gbNoInit = Yanlış; // Başarısız başlatma bayrağı
color clModifyBuy = Aqua; // Satın alma değişikliği simgesinin rengi
color clModifySell = Domates; // Satış değişikliği simgesinin rengi

//-------Harici modüllerin bağlanması ------------------------------------------ ---+
#include <stdlib.mqh>


//+------------------------------------------- ------------------------------+
//| |
//| ÖN TANIMLI FONKSİYONLAR |
//| |
//+------------------------------------------- ------------------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- ------------------------------+
geçersiz init() {
gbNoInit=Yanlış;
if (!IsTradeAllowed()) {
Message("Uzman Danışmanın normal çalışması için\n"+
"Danışmanın ticaret yapmasına izin ver");
gbNoInit=Doğru; dönüş;
}
if (!IsLibrariesAllowed()) {
Message("Uzman Danışmanın normal çalışması için\n"+
"Dış uzmanlardan içe aktarmaya izin ver");
gbNoInit=Doğru; dönüş;
}
if (!IsTesting()) {
if (IsExpertEnabled()) Message("Uzman Danışman bir sonraki tıkta başlatılacaktır");
else Message("\"Uzman Danışmanların başlatılmasına izin ver\"" düğmesi devre dışı bırakılmıştır);
}
Başlat();
}

//+------------------------------------------- ------------------------------+
//| uzman sıfırlama işlevi |
//+------------------------------------------- ------------------------------+
geçersiz tanım() {
if (!IsTesting()) Yorum("");
}

//+------------------------------------------- ------------------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- ------------------------------+
geçersiz başlangıç() {
if (gbDisabled) {
Message("Kritik hata! Uzman Danışman DURDURULDU!"); dönüş;
}
if (gbNoInit) {
Message("Uzman Danışman başlatılamadı!"); dönüş;
}
if (Yorumu Göster) {
Yorum(IIFs(AllSymbols, "AllSymbols ", "")
,"Magic="+IIFs(Magic<0, "Herhangi biri", DoubleToStr(Magic, 0))+" "
,"LevelProfit="+DoubleToStr(LevelProfit, 0)+"n "
,"LevelWLoss="+DoubleToStr(LevelWLoss, 0)+"n "
);
} başka Yorum("");

string sy=IIFs(AllSymbols, "", NULL);
MovingInWL(sy, -1, Magic);
}


//+------------------------------------------- ------------------------------+
//| |
//| KULLANICI FONKSİYONLARI |
//| |
//+------------------------------------------- ------------------------------+
//| Yazar : Kim Igor V. namı diğer KimIV, http://www.kimiv.ru |
//+------------------------------------------- ------------------------------+
//| Sürüm : 01/09/2005 |
//| Açıklama : Bir ticaret işleminin adını döndürür |
//+------------------------------------------- ------------------------------+
//| Seçenekler: |
//| op - ticari işlem tanımlayıcısı |
//+------------------------------------------- ------------------------------+
string GetNameOP(int op) {
geçiş (op) {
case OP_BUY : iade("Satın Al");
case OP_SELL : dönüş("Sat");
case OP_BUYLIMIT : return("BuyLimit");
case OP_SELLLIMIT: return("SellLimit");
case OP_BUYSTOP : dönüş("BuyStop");
case OP_SELLSTOP : return("SellStop");
default : return("Bilinmeyen İşlem");
}
}

//+------------------------------------------- ------------------------------+
//| Yazar : Kim Igor V. namı diğer KimIV, http://www.kimiv.ru |
//+------------------------------------------- ------------------------------+
//| Sürüm : 18/07/2008 |
//| Açıklama : Duruma göre iki değerden birini döndürür. |
//+------------------------------------------- ------------------------------+
color IIFc(bool koşulu, color ifTrue, color ifFalse) {
if (koşul) dönüş(ifTrue); başka bir dönüş(ifFalse);
}

//+------------------------------------------- ------------------------------+
//| Yazar : Kim Igor V. namı diğer KimIV, http://www.kimiv.ru |
//+------------------------------------------- ------------------------------+
//| Sürüm : 01/02/2008 |
//| Açıklama : Duruma göre iki değerden birini döndürür. |
//+------------------------------------------- ------------------------------+
string IIF'ler(bool koşulu, string ifTrue, string ifFalse) {
if (koşul) dönüş(ifTrue); başka bir dönüş(ifFalse);
}

//+------------------------------------------- ------------------------------+
//| Yazar : Kim Igor V. namı diğer KimIV, http://www.kimiv.ru |
//+------------------------------------------- ------------------------------+
//| Sürüm : 01/09/2005 |
//| Açıklama : Yorumlara ve günlüğe çıkış mesajı |
//+------------------------------------------- ------------------------------+
//| Seçenekler: |
//| m - mesaj metni |
//+------------------------------------------- ------------------------------+
geçersiz Mesaj(string m) {
yorum(m);
if (StringLen(m)>0) Print(m);
}

//+------------------------------------------- ------------------------------+
//| Yazar : Kim Igor V. namı diğer KimIV, http://www.kimiv.ru |
//+------------------------------------------- ------------------------------+
//| Sürüm : 28.11.2006 |
//| Açıklama : Önceden seçilmiş bir siparişin değiştirilmesi. |
//+------------------------------------------- ------------------------------+
//| Seçenekler: |
//| pp - sipariş verme fiyatı |
//| sl - fiyat seviyesini durdur |
//| tp - fiyat seviyesini al |
//| son - son kullanma tarihi |
//+------------------------------------------- ------------------------------+
void ModifyOrder(double pp=-1, double sl=0, double tp=0, datetime ex=0) {
bool fm;
renk cl=IIFc(OrderType()==OP_BUY
|| OrderType()==OP_BUYLIMIT
|| OrderType()==OP_BUYSTOP, clModifyBuy, clModifySell);
çift op, pa, pb, os, ot;
int dg=MarketInfo(OrderSymbol(), MODE_DIGITS), ee, o;

if (pp<=0) pp=OrderOpenPrice();
if (sl<0 ) sl=OrderStopLoss();
if (tp<0 ) tp=OrderTakeProfit();

pp=NormalizeÇift(pp, dg);
sl=NormalizeÇift(sl, dg);
tp=NormalizeÇift(tp, dg);
op=NormalizeDouble(OrderOpenPrice(), dg);
os=NormalizeDouble(OrderStopLoss(), dg);
ot=NormalizeDouble(OrderTakeProfit(), dg);

if (pp!=op || sl!=os || tp!=ot) {
for (it=1; it<=NumberOfTry; it++) {
if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) break;
while (!IsTradeAllowed()) Sleep(5000);
Yeniler();
fm=OrderModify(OrderTicket(), pp, sl, tp, ex, cl);
eğer (fm) {
if (UseSound) PlaySound(SoundSuccess); kırmak;
} başka {
er=GetLastError();
if (UseSound) PlaySound(SoundError);
pa=MarketInfo(OrderSymbol(), MODE_ASK);
pb=MarketInfo(OrderSymbol(), MODE_BID);
Print("Error(",er,") sıralama değiştiriliyor: ",ErrorDescription(er),", try ",it);
Print("Ask=",pa," Bid=",pb," sy=",OrderSymbol(),
" op="+GetNameOP(OrderType())," pp=",pp," sl=",sl," tp=",tp);
Uyku(1000*10);
}
}
}
}

//+------------------------------------------- ------------------------------+
//| Yazar : Kim Igor V. namı diğer KimIV, http://www.kimiv.ru |
//+------------------------------------------- ------------------------------+
//| Sürüm : 23/04/2009 |
//| Açıklama : Durdurma düzeyini başa baş düzeyine aktarma |
//+------------------------------------------- ------------------------------+
//| Seçenekler: |
//| sy - enstrüman adı ("" - herhangi bir sembol, |
//| NULL - geçerli karakter) |
//| operasyon - operasyon ( -1 - herhangi bir pozisyon) |
//| mn - MagicNumber ( -1 - herhangi bir büyü) |
//+------------------------------------------- ------------------------------+
void MovingInWL(dize sy="", int op=-1, int mn=-1) {
çift po, s;
int i, k=SiparişToplam();

if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
if (mn<0 || OrderMagicNumber()==dk) {
po=MarketInfo(OrderSymbol(), MODE_POINT);
if (OrderType()==OP_BUY) {
if (OrderStopLoss()-OrderOpenPrice()<LevelWLoss*po) {
pp=MarketInfo(OrderSymbol(), MODE_BID);
if (pp-OrderOpenPrice()>LevelProfit*po) {
ModifyOrder(-1, OrderOpenPrice()+LevelWLoss*po, -1);
}
}
}
if (OrderType()==OP_SELL) {
if (OrderStopLoss()==0 || OrderOpenPrice()-OrderStopLoss()<LevelWLoss*po) {
pp=MarketInfo(OrderSymbol(), MODE_ASK);
if (OrderOpenPrice()-pp>LevelProfit*po) {
ModifyOrder(-1, OrderOpenPrice()-LevelWLoss*po, -1);
}
}
}
}
}
}
}
}
//+------------------------------------------- ------------------------------+

 
Bu Igor Kim'in kodu ama onunla bağlantı kuramıyorum. Zor değilse yardım!
 
GSB :

İlk olarak, bunları doğrulama için ekranda görüntülemeye çalıştınız, bu da hatalara yol açtı ve ikincisi, normalleştirme arzu edilir ve sipariş verme ve TP, SL fiyatı. Normalleştirilmemiş bir fiyat hatalara yol açabilir. Bu bir kuraldır ve çiğnenmemelidir. Örneklere bakın ve neden böyle olduğunu analiz edin, örneğin https://book.mql4.com/en/samples/shared

Bunu sitem ederek yazmadım, başkaları görsün diye. Zaman ayırdığınız için teşekkür ederim.