Bence senin sorunun val1 ve val2'yi sıfırlamamış olmanda. Bu nedenle, en yüksek ve en düşük değeri bulduktan sonra, onları sıfırlamanız gerekir:
Umarım bu yardımcı olur.
Ahhh, bugün daha sonra pencerelere önyükleme yaptığımda deneyeceğim, teşekkürler
İlk if(ifade) doğruysa, start()'ı yeniden başlatacağını ve kodun başından sıfırlayacağını ve böylece val1 ve val2'yi yeniden sıfırlayacağını düşündüm.
Düşündüğüm yol şuydu - if(ilk ifade) true sonra yazdırır ve ardından bir sonraki if(second) muhtemelen false metnine geçer, ardından tekrar başlangıcın en üstüne döner ve val1 ve val2'yi sıfırlar
Doğru baskıları ve değerleri alıyorum ancak sürekli olarak yazdırıyor.
Şimdi düşünüyorum da, en basit EMA çaprazları bile sürekli baskılar üretiyorsa, herhangi bir if(ifade) için bunu gerçekten hiç anlamadım.
Gönderdiğiniz kodunuzu test edeceğim, ancak bu değişkenleri yazdırmak için print ifadeleri ekleseydim ve sürekli olarak da yazdırmazsa şaşırırdım.
Tamam evet, val1 ve val2'yi sıfırlamak bana A yüksek verecek ama yine de her şeyi sürekli olarak yazdırıyor, eskisi kadar çok değil. Bunu düzeltmek için currentTime ve iTime ile bir şeyler yapmam gerektiğine eminim, biraz daha gözden geçirmem gerekecek.
Görünüşe göre kod tabanında öğrenilecek bir ABCD şeması olmalı, ancak bu, bana herhangi bir ipucu verip vermediğini görmek için şimdi gözden geçirdiğim ZigZag'a dayalı olması dışında mevcut olmayan bir şey gibi görünüyor. Ama yine bu da bir gösterge
Her neyse, && macd veya başka bir şey eklersem, onları yalnızca bir kez yazdırır, bu da beni gerçekten ürkütüyor
Sanırım üzerinde biraz daha düşündükten ve üzerinde biraz daha çalıştıktan sonra buna sahibim.
Buna ne dersin:
//+------------------------------------------------------------------+//| Agent86_5min.mq4 |//| Unfinished POS |//| //+------------------------------------------------------------------+#property copyright "Unfinished POS by Agent86"//---- input parametersexterndouble TakeProfit= 20.0 ;
externdouble Lots= 0.1 ;
externdouble StopLoss= 10.0 ;
externint MagicNumber= 123486 ;
double val1;
double val2;
bool traded = false;
bool A = false;
//++++ These are adjusted for 5 digit brokers.int pips2points; // slippage 3 pips 3=points 30=pointsdouble pips2dbl; // Stoploss 15 pips 0.0015 0.00150intDigits .pips; // DoubleToStr(dbl/pips2dbl, Digits.pips)// OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl//+------------------------------------------------------------------+//| expert initialization function |//+------------------------------------------------------------------+int init()
{
if ( Digits == 5 || Digits == 3 )
{ // Adjust for five (5) digit brokers.
pips2dbl = Point * 10 ; pips2points = 10 ; Digits .pips = 1 ;
}
else
{
pips2dbl = Point ; pips2points = 1 ; Digits .pips = 0 ;
}
// OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl//---- //----return ( 0 );
}
//+------------------------------------------------------------------+//| expert deinitialization function |//+------------------------------------------------------------------+int deinit()
{
//---- //----return ( 0 );
}
//+------------------------------------------------------------------+//| expert start function |//+------------------------------------------------------------------+int start()
{
int i= 0 ;
int ticket,total,result;
total = OrdersTotal ();
val1= iFractals ( NULL , 0 , MODE_UPPER, 3 );
val2= iFractals ( NULL , 0 , MODE_LOWER, 3 );
if (val1 > 0 && traded == false && val2== 0 )
{
// in the absence of an && indicator above I get continous print statements// also does not print A high this is not desired// with indicator added && indicator above, then it prints A and B once as it should ???// I need to work this out so it won't print all the time aka trade all the time// A and B first values seems to initialize the whole block// just a reminder that they time stamps coordinate after this FYI// now work on C retrace and possibly signals// add options for user to select some candle patterns// add options to select indicators// add bells and whistles to make things fun// alerts,sounds,maybe poppup video animation or somethingdouble B = val1;
Print (B, " B high" );
if (val2== 0 )
{
for (i= 0 ; val2== 0 ; i++)
{
val2= iFractals ( NULL , 0 , MODE_LOWER, i);
double A = val2;
if (A!= 0 )
{
Print (A, " A low" );
}
}
}
traded=true;
}
val1= iFractals ( NULL , 0 , MODE_UPPER, 3 );
val2= iFractals ( NULL , 0 , MODE_LOWER, 3 );
if (val2 > 0 && traded == true && val1 == 0 )
{
B = val2;
Print (B, " B low" );
if (val1== 0 )
{
for (i= 0 ; val1== 0 ; i++)
{
val1= iFractals ( NULL , 0 , MODE_UPPER, i);
A = val1;
if (A!= 0 )
{
Print (A, " A high" );
}
}
}
traded=false;
}
return ( 0 );
}
//+------------------------------------------------------------------+
Bu, eklerken yalnızca bir kez yazdırılır
if (val1 > 0 && traded == false && val2== 0 )
ve
if (val2 > 0 && traded == true && val1 == 0 )
O yüzden biraz daha yaklaşıyorum, biraz daha değerlendirebilirim.
Hepinize yardımlarınız için teşekkürler, bu çok büyük bir yardımdı çünkü bana bunu düzeltmek için fikirler verdi ve bir şeyleri sıfırlama konusunda da bilgimi biraz daha genişletti. Bunu arka cebimde tutmalıyım
Çoğu zaman sorunu almıyorum. Görünüşe göre bu sadece aynı çubukta bazen belirsiz piyasalarda meydana gelen bir üst ve alt fraktal olduğunda oluyor. Bunu aşmanın tek yolu, hesaplamayı yalnızca bir çubukta çalıştırmaktır, bu nedenle:
staticdatetime currTime;
if (Time[ 0 ]!=currTime){
currTime = Time[ 0 ];
// Rest of code
}
Bu, her iki yönde de giden fraktallarda yanlış işlem görmeyeceği anlamına gelmelidir.
Şimdi geri kalanı üzerinde çalışmaya başlayabilirim, keşke bir iCustom göstergesinin bir EA'ya dönüşümünü anlayacak kadar deneyimli olsaydım, o zaman muhtemelen bunu uzun zaman önce çözmüş olurdum.
Bunu şimdi yapma şeklim daha karmaşık olacak çünkü hala kod mantığımın yanına iCustom göstergeleri eklemem gerekiyor; ve zaten çalışan bir iCustomer göstergesini kod mantığım olarak kullanmak yerine tüm çanlar ve ıslıklar
Her neyse, tekrar teşekkürler, gün için harika bir haber.
Çoğu zaman sorunu almıyorum. Görünüşe göre bu sadece aynı çubukta bazen belirsiz piyasalarda meydana gelen bir üst ve alt fraktal olduğunda oluyor. Bunu aşmanın tek yolu, hesaplamayı yalnızca bir çubukta çalıştırmaktır, bu nedenle:
Bu, her iki yönde de giden fraktallarda yanlış işlem görmeyeceği anlamına gelmelidir.
Bu parçanın nasıl daha iyi çalıştığını öğrenmem gerekiyor, bunu daha önce ve diğer benzer versiyonlarını gördüm ama sadece kısmen anladım
Bunu biraz daha çalışmam gerek. Test ederken sürekli baskı ifadeleri nedeniyle kodlarımın çoğunu burada kaybediyor olabilirim.
Eminim bunun başka yolları da vardır ve yine de bunun için gösterge oluşturmayı ve AtoB vb.'den çizgiler çizmeyi planlıyorum.
Belki birileri bundan faydalanabilir, eminim bir guru tarafından daha iyi revize edilebilir.
Her neyse, istediğimi yazdırıyor ve kullanıcıların hangi seviyeleri isteyebileceklerini seçebilmeleri için fibo seviyeleri için bazı harici değerler ekledim.
LOL forumlarına ilk kod katkım
Bu görevi yerine getirmenin daha iyi bir yolu olan herkes, kodumun ne yaptığını göstermek için iCustom göstergeleri eklediğim için kodun iki katına çıkacağını tahmin ediyorum, ancak bu, bir dizi arabelleği vb. için bir tür çift kodlama ve ardından iCustom kullanmak anlamına gelir.
Her neyse, aldığım şey burada
//+------------------------------------------------------------------+//| Unfinished_POS_slate.mq4 |//| Unfinished POS |//| //+------------------------------------------------------------------+#property copyright "Unfinished POS slate by Agent86"//---- input parametersexterndouble TakeProfit= 20.0 ;
externdouble Lots= 0.1 ;
externdouble StopLoss= 10.0 ;
externint MagicNumber= 123486 ;
externdouble fibo_retrace= 0.500 ; //this is C retracement levelexterndouble fibo_extension= 1.618 ; // coming soon, D extention double val1;
double val2;
bool traded = false;
//++++ These are adjusted for 5 digit brokers.int pips2points; // slippage 3 pips 3=points 30=pointsdouble pips2dbl; // Stoploss 15 pips 0.0015 0.00150intDigits .pips; // DoubleToStr(dbl/pips2dbl, Digits.pips)// OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl//+------------------------------------------------------------------+//| expert initialization function |//+------------------------------------------------------------------+int init()
{
if ( Digits == 5 || Digits == 3 )
{ // Adjust for five (5) digit brokers.
pips2dbl = Point * 10 ; pips2points = 10 ; Digits .pips = 1 ;
}
else
{
pips2dbl = Point ; pips2points = 1 ; Digits .pips = 0 ;
}
// OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl//---- //----return ( 0 );
}
//+------------------------------------------------------------------+//| expert deinitialization function |//+------------------------------------------------------------------+int deinit()
{
//---- //----return ( 0 );
}
//+------------------------------------------------------------------+//| expert start function |//+------------------------------------------------------------------+int start()
{
int i= 0 ;
int ticket,total,result;
total = OrdersTotal ();
val1= iFractals ( NULL , 0 , MODE_UPPER, 3 );
val2= iFractals ( NULL , 0 , MODE_LOWER, 3 );
if (val1 > 0 && val2 == 0 && traded == false)
{
double B = val1;
Print (B, " B high" );
if (val2== 0 )
{
for (i= 0 ; val2== 0 ; i++)
{
val2= iFractals ( NULL , 0 , MODE_LOWER, i);
double A = val2;
if (A!= 0 )
{
Print (A, " A low" );
}
}
}
double C = B-(B-A)*fibo_retrace; //retrace 50% no fractalPrint (C, " UP ABC retrace level" );
if (Bid <= C)
{
Print (Bid, " UP ABC C Retrace Hit" );
}
traded=true;
}
//val1=iFractals(NULL, 0, MODE_UPPER,3); been suggested I might need to reset these here//val2=iFractals(NULL, 0, MODE_LOWER,3); I'll investigate this some moreif (val2 > 0 && val1 == 0 && traded == true)
{
B = val2;
Print (B, " B low" );
if (val1== 0 )
{
for (i= 0 ; val1== 0 ; i++)
{
val1= iFractals ( NULL , 0 , MODE_UPPER, i);
A = val1;
if (A!= 0 )
{
Print (A, " A high" );
}
}
}
C = B+(A-B)*fibo_retrace; //retrace 50% no fractal //recheck my math on this onePrint (C, " DOWN ABC retrace level" );
if (Bid <= C)
{
Print (Bid, " DOWN ABC C Retrace Hit" );
}
traded=false;
}
return ( 0 );
}
//+------------------------------------------------------------------+
Sınırlı bilgim ve deneyimimle bir ABCD şeması için bulabildiğim tek şey bu.
Gerçekten bir trend içinde kalmak için kullanıcının A'ları ve B'leri önceki A'ları ve B'leri ihlal etmeyen seviyelere değiştirmesine izin vermek için üzerinde daha fazla çalışacağım.
Umarım birileri bunu kullanabilir veya belki daha iyi fikirlerle buna ekleyebilir
Şimdi mum kalıpları ve göstergeler üzerinde çalışacağım ve buna veya başka bir şey ekleyeceğim ve açılır uyarılar, belki sesler ve bazı açılır videolar eğlenceli olabilir
Меня зовут Герман, мне 23 года, я являюсь трейдером компании "Инстафорекс"
Помогите в поиске нужного скрипта! Скрипт нужен для сетки отложенных ордеров.
Dostum InstaForex ile ilgilenmiyorum ve bir grid betiği istiyorsanız lütfen kodlayıcılar bölümünde kiralık bir proje gönderin Ve lütfen İngilizce yayınlayın
Bence senin sorunun val1 ve val2'yi sıfırlamamış olmanda. Bu nedenle, en yüksek ve en düşük değeri bulduktan sonra, onları sıfırlamanız gerekir:
Umarım bu yardımcı olur.İlk if(ifade) doğruysa, start()'ı yeniden başlatacağını ve kodun başından sıfırlayacağını ve böylece val1 ve val2'yi yeniden sıfırlayacağını düşündüm.
Düşündüğüm yol şuydu - if(ilk ifade) true sonra yazdırır ve ardından bir sonraki if(second) muhtemelen false metnine geçer, ardından tekrar başlangıcın en üstüne döner ve val1 ve val2'yi sıfırlar
Doğru baskıları ve değerleri alıyorum ancak sürekli olarak yazdırıyor.
Şimdi düşünüyorum da, en basit EMA çaprazları bile sürekli baskılar üretiyorsa, herhangi bir if(ifade) için bunu gerçekten hiç anlamadım.
Gönderdiğiniz kodunuzu test edeceğim, ancak bu değişkenleri yazdırmak için print ifadeleri ekleseydim ve sürekli olarak da yazdırmazsa şaşırırdım.
bugün daha sonra deneyeceğim
teşekkürler
Bunu düzeltmek için currentTime ve iTime ile bir şeyler yapmam gerektiğine eminim, biraz daha gözden geçirmem gerekecek.
Görünüşe göre kod tabanında öğrenilecek bir ABCD şeması olmalı, ancak bu, bana herhangi bir ipucu verip vermediğini görmek için şimdi gözden geçirdiğim ZigZag'a dayalı olması dışında mevcut olmayan bir şey gibi görünüyor. Ama yine bu da bir gösterge
Her neyse, && macd veya başka bir şey eklersem, onları yalnızca bir kez yazdırır, bu da beni gerçekten ürkütüyor
Buna ne dersin:
Bu, eklerken yalnızca bir kez yazdırılır
ve
O yüzden biraz daha yaklaşıyorum, biraz daha değerlendirebilirim.
Hepinize yardımlarınız için teşekkürler, bu çok büyük bir yardımdı çünkü bana bunu düzeltmek için fikirler verdi ve bir şeyleri sıfırlama konusunda da bilgimi biraz daha genişletti.
Bunu arka cebimde tutmalıyım
teşekkürler
Çoğu zaman sorunu almıyorum. Görünüşe göre bu sadece aynı çubukta bazen belirsiz piyasalarda meydana gelen bir üst ve alt fraktal olduğunda oluyor. Bunu aşmanın tek yolu, hesaplamayı yalnızca bir çubukta çalıştırmaktır, bu nedenle:
Bu, her iki yönde de giden fraktallarda yanlış işlem görmeyeceği anlamına gelmelidir.
Bunu şimdi yapma şeklim daha karmaşık olacak çünkü hala kod mantığımın yanına iCustom göstergeleri eklemem gerekiyor; ve zaten çalışan bir iCustomer göstergesini kod mantığım olarak kullanmak yerine tüm çanlar ve ıslıklar
Her neyse, tekrar teşekkürler, gün için harika bir haber.
Çoğu zaman sorunu almıyorum. Görünüşe göre bu sadece aynı çubukta bazen belirsiz piyasalarda meydana gelen bir üst ve alt fraktal olduğunda oluyor. Bunu aşmanın tek yolu, hesaplamayı yalnızca bir çubukta çalıştırmaktır, bu nedenle:
Bu, her iki yönde de giden fraktallarda yanlış işlem görmeyeceği anlamına gelmelidir.
Bunu biraz daha çalışmam gerek. Test ederken sürekli baskı ifadeleri nedeniyle kodlarımın çoğunu burada kaybediyor olabilirim.
Eminim bunun başka yolları da vardır ve yine de bunun için gösterge oluşturmayı ve AtoB vb.'den çizgiler çizmeyi planlıyorum.
biraz daha çalışacağım
Belki birileri bundan faydalanabilir, eminim bir guru tarafından daha iyi revize edilebilir.
Her neyse, istediğimi yazdırıyor ve kullanıcıların hangi seviyeleri isteyebileceklerini seçebilmeleri için fibo seviyeleri için bazı harici değerler ekledim.
LOL forumlarına ilk kod katkım
Bu görevi yerine getirmenin daha iyi bir yolu olan herkes, kodumun ne yaptığını göstermek için iCustom göstergeleri eklediğim için kodun iki katına çıkacağını tahmin ediyorum, ancak bu, bir dizi arabelleği vb. için bir tür çift kodlama ve ardından iCustom kullanmak anlamına gelir.
Her neyse, aldığım şey burada
Sınırlı bilgim ve deneyimimle bir ABCD şeması için bulabildiğim tek şey bu.
Gerçekten bir trend içinde kalmak için kullanıcının A'ları ve B'leri önceki A'ları ve B'leri ihlal etmeyen seviyelere değiştirmesine izin vermek için üzerinde daha fazla çalışacağım.
Umarım birileri bunu kullanabilir veya belki daha iyi fikirlerle buna ekleyebilir
Şimdi mum kalıpları ve göstergeler üzerinde çalışacağım ve buna veya başka bir şey ekleyeceğim ve açılır uyarılar, belki sesler ve bazı açılır videolar eğlenceli olabilir
Herkese yardım için teşekkürler.
Доброго времени суток уважаемые форумчане!
Меня зовут Герман, мне 23 года, я являюсь трейдером компании "Инстафорекс"
Помогите в поиске нужного скрипта! Скрипт нужен для сетки отложенных ордеров.
Доброго времени суток уважаемые форумчане!
Меня зовут Герман, мне 23 года, я являюсь трейдером компании "Инстафорекс"
Помогите в поиске нужного скрипта! Скрипт нужен для сетки отложенных ордеров.
Ve lütfen İngilizce yayınlayın
mutlu ticaret