Kodlama yardımı - sayfa 159

 
mladen:
Kodun o kısmını değiştirmeyin. Kodun bu kısmı, komisyoncunuzun 4 veya 5 basamaklı komisyoncu olup olmadığını kontrol ediyor. Ayrıca, ilk para yatırma için 500$ kullanan bir test (risk %5 stoploss 20 pip, test için EURUSD kullanıldı) ve bu ilk para yatırma ile bile çalışıyor

Merhaba Mladen.

Dün size sipariş kodlamasını sorduk.

Ama çok Karmaşık.

Üzgünüm, çünkü basit bir kodlama istiyorum.

Aynen böyle:

Hesap bakiyesi 500$

%5 riskle, açık lotlar = 0,25 ABD doları

lot=500$*(risk/100)

lot=500$*(0.05/100)

lot=500$(0.0005)

lot=0,25$

Sadece bu EA auto'yu sevdim, 0,25 dolarlık bir lot açtı.

Ve lotlar Stoploss veya TProfit ile Karıştırma sayılmaz.

Umarım bu sorunu çözmeme yardım edebilirsin.

Çok teşekkürler.

extern double lots = 0.1;extern double stopsize = 20;

extern double profsize = 10;

extern double Risk =5;

int err;

int ticket;

double stop;

double prof;

int init() { return(0); }

int deinit() { return(0); }

int start()

{

int TotalOrders = 0;

for (int i=0; i <= OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

if (OrderSymbol() == Symbol())

TotalOrders++;

}

if (TotalOrders<1)

{

double sl = stopsize*Point*MathPow(10,Digits%2);

double tp = profsize*Point*MathPow(10,Digits%2);

stop = (Ask-sl);

prof = (Ask+tp);

ticket = OrderSend(Symbol(), OP_BUY, getLots(sl,Risk), Ask, 3, 0, 0, NULL,LimeGreen);

OrderModify( ticket, OrderOpenPrice(), stop, prof, 0, Blue);

}

err=GetLastError();

Comment(" ");

}

//

//

//

//

//

double getLots(double stopLoss, double risk)

{

RefreshRates();

double pPoint = MarketInfo(Symbol(),MODE_POINT);

double step = MarketInfo(Symbol(),MODE_LOTSTEP);

double minLot = MarketInfo(Symbol(),MODE_MINLOT);

double maxLot = MarketInfo(Symbol(),MODE_MAXLOT);

double lots = minLot;

if (risk>0 && stopLoss>0)

{

lots = AccountFreeMargin()*(risk/100.0)/(stopLoss*MarketInfo(Symbol(),MODE_TICKVALUE)/pPoint);

}

return(MathMax(MathMin(lots,maxLot),minLot));

}
 
hock87:
Merhaba Mladen.

Dün size sipariş kodlamasını sorduk.

Ama çok Karmaşık.

Üzgünüm, çünkü basit bir kodlama istiyorum.

Aynen böyle:

Hesap bakiyesi 500$

%5 riskle, açık lotlar = 0,25 ABD doları

lot=500$*(risk/100)

lot=500$*(0.05/100)

lot=500$(0.0005)

lot=0,25$

Sadece bu EA auto'yu sevdim, 0,25 dolarlık bir lot açtı.

Ve lotlar Stoploss veya TProfit ile Karıştırma sayılmaz.

Umarım bu sorunu çözmeme yardım edebilirsin.

Çok teşekkürler.

extern double lots = 0.1;extern double stopsize = 20;

extern double profsize = 10;

extern double Risk =5;

int err;

int ticket;

double stop;

double prof;

int init() { return(0); }

int deinit() { return(0); }

int start()

{

int TotalOrders = 0;

for (int i=0; i <= OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

if (OrderSymbol() == Symbol())

TotalOrders++;

}

if (TotalOrders<1)

{

double sl = stopsize*Point*MathPow(10,Digits%2);

double tp = profsize*Point*MathPow(10,Digits%2);

stop = (Ask-sl);

prof = (Ask+tp);

ticket = OrderSend(Symbol(), OP_BUY, getLots(sl,Risk), Ask, 3, 0, 0, NULL,LimeGreen);

OrderModify( ticket, OrderOpenPrice(), stop, prof, 0, Blue);

}

err=GetLastError();

Comment(" ");

}

//

//

//

//

//

double getLots(double stopLoss, double risk)

{

RefreshRates();

double pPoint = MarketInfo(Symbol(),MODE_POINT);

double step = MarketInfo(Symbol(),MODE_LOTSTEP);

double minLot = MarketInfo(Symbol(),MODE_MINLOT);

double maxLot = MarketInfo(Symbol(),MODE_MAXLOT);

double lots = minLot;

if (risk>0 && stopLoss>0)

{

lots = AccountFreeMargin()*(risk/100.0)/(stopLoss*MarketInfo(Symbol(),MODE_TICKVALUE)/pPoint);

}

return(MathMax(MathMin(lots,maxLot),minLot));

}

hock87

Öz sermaye, zararı durdurma ve gerekli risk dikkate alındığında lot büyüklüğünü hesaplamanın basit(r) bir yolu yoktur. Ayrıca, zararı durdurmayı bilmeden riski hesaplayamazsınız (bir düşünün: diyelim ki 1 lot büyüklüğünde bir emir açarsanız ve bunu 1 pip sonra kapatırsanız veya 100 pip sonra kapatırsanız kayıpları (ve bu şekilde) alınan risk) aynı olmayacak ve aynı olamaz).

Eğer böyle hesaplarsanız (bilinen bir stoploss olmadan) bu risk hesaplaması değil, basit bir lot büyüklüğü hesaplamasıdır (bu herhangi bir risk hesaplaması gerektirmez)

 
mladen:
hock87

Öz sermaye, zararı durdurma ve gerekli risk dikkate alındığında lot büyüklüğünü hesaplamanın basit(r) bir yolu yoktur. Ayrıca, zararı durdurmayı bilmeden riski hesaplayamazsınız (bir düşünün: diyelim ki 1 lot büyüklüğünde bir emir açarsanız ve bunu 1 pip sonra kapatırsanız veya 100 pip sonra kapatırsanız kayıpları (ve bu şekilde) alınan risk) aynı olmayacak ve aynı olamaz).

Eğer böyle hesaplarsanız (bilinen bir stoploss olmadan) bu risk hesaplaması değil, basit bir lot büyüklüğü hesaplamasıdır (bu herhangi bir risk hesaplaması gerektirmez)

Mladen, haklısın.

Herhangi bir risk hesabı anlamına gelmediğini biliyorum.

ve sadece basit bir parti büyüklüğü hesaplaması istiyorum,

% ile hesap bakiyesi ile lot boyutunu otomatik hesaplamasına izin verin.

lot=500$*(risk %/100)

lot=500$*(0.05/100)

lot=500$(0.0005)

lot=0,25$

Sadece bu EA auto'yu sevdim, 0.25 dolarlık bir lot açtı.

Ve lotlar Stoploss veya TProfit ile Karıştırma sayılmaz.

Nasıl kodlanır?

Teşekkürler.

 
hock87:
Mladen, haklısın.

Herhangi bir risk hesabı anlamına gelmediğini biliyorum.

ve sadece basit bir parti büyüklüğü hesaplaması istiyorum,

% ile hesap bakiyesi ile lot boyutunu otomatik hesaplamasına izin verin.

lot=500$*(risk %/100)

lot=500$*(0.05/100)

lot=500$(0.0005)

lot=0,25$

Sadece bu EA auto'yu sevdim, 0.25 dolarlık bir lot açtı.

Ve lotlar Stoploss veya TProfit ile Karıştırma sayılmaz.

Nasıl kodlanır?

Teşekkürler.

Burada KimIV tarafından açıklanan yolu deneyin: b-Lots

 

Mladen'e çok teşekkür ederim, aklımdakiyle benzer olduğunu düşünüyorum #1579 bu arada, RSI veya MFI denklemlerinin dikey ölçeği normalleştirmesine benzer şekilde DPO'yu dönüştürmek mümkün mü? Detrended Fiyat Osilatörü - MQL4 Kod Tabanı , tekrar teşekkürler.

 
kenwa:
Mladen'e çok teşekkür ederim, aklımdakiyle benzer olduğunu düşünüyorum #1579 bu arada, RSI veya MFI denklemlerinin dikey ölçeği normalleştirmesine benzer şekilde DPO'yu dönüştürmek mümkün mü? Detrended Fiyat Osilatörü - MQL4 Kod Tabanı , tekrar teşekkürler.

kenva

Bir kez bir şablonunuz olduğunda zor değil

İşte bir dpo'nun rsi'si. Üstte DPO ve altta bir DPO'nun RSI'si

Dosyalar:
 

merhaba mladen, daha önce macd rsi'nizi aldım, bu son kuvvet indeksi FI ve DPO olanlarla benzer yollarla/mantıkla mı yapıldı?

yeni yapılmış yeni rsi sürümlerinizi (FI ve DPO) bilgisayarıma ekledim, çıkış değerlerini geri çağırmak için icustom işlevini kullanırsam bir sorunla karşılaşıyorum, grafikte gösterildiği gibi 0'dan 100'e değil, -100'den 0'a 100'e, neden herhangi bir yorum, iç arabellek değerini yanlış mı hatırlıyorum? Tavsiyen için teşekkürler.

Dosyalar:
 

Merhaba Mladen.

Bir sorunum var ,

alış emri açık fiyatı Ters yöne hareket ettiğinde ve Mesafe piyasa fiyatı 25 puanın üzerine çıktığında,

otomatik olarak tekrar satın alma emri açar.

Bu stratejik kodlama nasıl yapılır?

Teşekkürler.

extern double lots = 0.1;

extern double stopsize = 50;

extern double profsize = 20;

int err;

int ticket;

double stop;

double prof;

int start()

{

int TotalOrders = 0;

for (int i=0; i <= OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

if (OrderSymbol() == Symbol())

TotalOrders++;

}

if (TotalOrders<1)

{

ticket=OrderSend(Symbol(), OP_Buy, 0.1, Ask, 3, 0, 0, NULL,LimeGreen);

stop=(Ask+stopsize*Point);

prof=(Ask-profsize*Point);

OrderModify( ticket, OrderOpenPrice(), stop, prof, 0, Blue);

}

err=GetLastError();

// Comment("This is a test ", err, " ", stop, " ", prof);

Comment(" ");

return(0);

}
 
hock87:
Merhaba Mladen.

Bir sorunum var ,

alış emri açık fiyatı Ters yöne hareket ettiğinde ve Mesafe piyasa fiyatı 25 puanın üzerine çıktığında,

otomatik olarak tekrar satın alma emri açar.

Bu stratejik kodlama nasıl yapılır?

Teşekkürler.

extern double lots = 0.1;

extern double stopsize = 50;

extern double profsize = 20;

int err;

int ticket;

double stop;

double prof;

int start()

{

int TotalOrders = 0;

for (int i=0; i <= OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

if (OrderSymbol() == Symbol())

TotalOrders++;

}

if (TotalOrders<1)

{

ticket=OrderSend(Symbol(), OP_Buy, 0.1, Ask, 3, 0, 0, NULL,LimeGreen);

stop=(Ask+stopsize*Point);

prof=(Ask-profsize*Point);

OrderModify( ticket, OrderOpenPrice(), stop, prof, 0, Blue);

}

err=GetLastError();

// Comment("This is a test ", err, " ", stop, " ", prof);

Comment(" ");

return(0);

}

hock87

Bu kod derlenmeyecek (OP_Buy'u OP_BUY ile değiştirin) ve başka bir siparişin açılması için hiçbir koşul görmüyorum. Her an sadece bir siparişe izin veriyorsunuz ("if (TotalOrders<1)" satırı) Başlangıç noktanız bu olmalı

 

CCI fdoe hpp

Bu göstergeyi iş parçacıklarından birinden indirdim ve CCI bölgeleri veya Ma bölgeleri göstergelerinden çok daha iyi.

Bir bölge göstergesinde olduğu gibi ekranda gösterilecek şekilde uyarlanabilir mi?

CCİ ayarı 13'e ayarlanmıştır, ancak kolayca değişken bir ayar göstergesine dönüştürülebiliyorsa bu bir bonus olur - ancak çok ikincil bir istektir.

Bu bir Forex-TSD göstergesidir ancak onunla birlikte mq4 klasörü yoktur.

teşekkürler

TAKIM taciri

Dosyalar:
cci_fdoehpp.ex4  19 kb