bana durumun nasıl görünmesi gerektiğini söyle. Zararı durdur tetiklenirse, lot 2 ile çarpılır ve bir sonraki siparişte kâr al tetiklenirse lot, zararı durdurmadan önceki orijinal lota döner.
Ben böyle anlıyorum ama daha nasıl ilerleyeceğimi henüz çözemedim..
for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--) { if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY ) { if ( OrderMagicNumber ()==magic) { if ( OrderStopLoss ()== OrderClosePrice ()) { lot=lot* 4 ; } } }
başka bir soru, siparişleri silmek için blokta neyi yanlış yazdım? siparişleri her zaman silmez, günlüğe yazar
OrderDelete error 4108 market order # 1cannot be deleted
if ( Hour ()== 23 && Minute ()== 59 ) { for ( int n= OrdersTotal ()- 1 ;n>= 0 ;n--) { if ( OrderSelect (n, SELECT_BY_POS )) { if ( OrderMagicNumber ()==magic) { bool del= OrderDelete ( OrderTicket ()); if (del== true ) { otl_b= 0 ; otl_s= 0 ; //обнуляем переменные отложек }
} } } }
Bir piyasa emrini silmeye çalıştığınızda silinmezler, ancak OrderClose() işlevi tarafından kapatılırlar. Döngünün doğru şekilde silinmesi veya kapanması için çekmeler arasında türe göre ayrım yapmanız gerekir.
if(OrderType()<=OP_SELL) - piyasa emirleri için, if(OrderType()>OP_SELL) - bekleyen emirler için.
bana durumun nasıl görünmesi gerektiğini söyle. Zararı durdur tetiklenirse, lot 2 ile çarpılır ve bir sonraki siparişte kâr al tetiklenirse lot, zararı durdurmadan önceki orijinal lota döner.
Ben böyle anlıyorum ama daha nasıl ilerleyeceğimi henüz çözemedim..
for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--) { if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY ) { if ( OrderMagicNumber ()==magic) { if ( OrderStopLoss ()== OrderClosePrice ()) { lot=lot* 4 ; } } }
}
çabucak yaptın, sana son kârsız olanı verilecek, onunla ne yapacaksın ve kendin için hangi parametreleri düzelteceksin, sanırım çözeceksin
bana durumun nasıl görünmesi gerektiğini söyle. Zararı durdur tetiklenirse, lot 2 ile çarpılır ve bir sonraki siparişte kâr al tetiklenirse lot, zararı durdurmadan önceki orijinal lota döner.
Ben böyle anlıyorum ama daha nasıl ilerleyeceğimi henüz çözemedim..
for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--) { if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY ) { if ( OrderMagicNumber ()==magic) { if ( OrderStopLoss ()== OrderClosePrice ()) { lot=lot* 4 ; } } }
}
Bu sorunun çözümü danışmanın tam mantığına bağlıdır, zararı durdur veya kar al işlemi yorumundan takip edilebilir.
Global düzeyde bildirilendiziyi dolduracak ve sıralayacak bir işlev yapmanız gerekir. Dizi , işleve başvuru yoluyla iletilmelidir.
Ve bu diziden ihtiyacınız olan verileri çıkaracak ek işlevlere ihtiyacımız var.
Artyom, yanılıyorsun. Global düzeyde bildirilen bir dizi, programın tüm bölümlerinde görünür durumdadır ve onu bir yerden bir yere transfer etmek gerekli değildir. Sadece programın bir yerinde doldurulur, başka bir yerde sıralanır ve üçüncüsü okunur, önemli değil.
Bakiye ile karşılaştırıldığında, o zaman:
Teşekkür ederim.
tamam, o zaman anladığım kadarıyla, istenenin geri dönüşüyle üç farklı özel işlev olacak (üç farklı parametre ararsanız)
DiziSıralama
sonrasında
ArrayBsearch istenilen numaraya göre
ve sonra buna ne dersin?
yani diziden yapı elemanına geçişAnlamıyorsun.
Global düzeyde bildirilen diziyi dolduracak ve sıralayacak bir işlev yapmanız gerekir. Dizi, işleve başvuru yoluyla iletilmelidir.
Ve bu diziden ihtiyacınız olan verileri çıkaracak ek işlevlere ihtiyacımız var.
Anlamıyorsun.
Global düzeyde bildirilen diziyi dolduracak ve sıralayacak bir işlev yapmanız gerekir. Dizi, işleve başvuru yoluyla iletilmelidir.
Ve bu diziden ihtiyacınız olan verileri çıkaracak ek işlevlere ihtiyacımız var.
Tamam, size bir dizi yapıdan bir şeyi nasıl çıkaracağınızı gösterebilir miyim? doldurulmuş ve sıralanmış diyelim
referans ile nasıl geçilir ve yazılır
bana durumun nasıl görünmesi gerektiğini söyle. Zararı durdur tetiklenirse, lot 2 ile çarpılır ve bir sonraki siparişte kâr al tetiklenirse lot, zararı durdurmadan önceki orijinal lota döner.
Ben böyle anlıyorum ama daha nasıl ilerleyeceğimi henüz çözemedim..
for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--)
{
if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )
{
if ( OrderMagicNumber ()==magic)
{
if ( OrderStopLoss ()== OrderClosePrice ())
{
lot=lot* 4 ;
}
}
}
}
başka bir soru, siparişleri silmek için blokta neyi yanlış yazdım? siparişleri her zaman silmez, günlüğe yazar
market order # 1 cannot be deleted
{
for ( int n= OrdersTotal ()- 1 ;n>= 0 ;n--)
{
if ( OrderSelect (n, SELECT_BY_POS ))
{
if ( OrderMagicNumber ()==magic)
{
bool del= OrderDelete ( OrderTicket ());
if (del== true )
{
otl_b= 0 ; otl_s= 0 ; //обнуляем переменные отложек
}
}
}
}
}
başka bir soru, siparişleri silmek için blokta neyi yanlış yazdım? siparişleri her zaman silmez, günlüğe yazar
market order # 1 cannot be deleted
{
for ( int n= OrdersTotal ()- 1 ;n>= 0 ;n--)
{
if ( OrderSelect (n, SELECT_BY_POS ))
{
if ( OrderMagicNumber ()==magic)
{
bool del= OrderDelete ( OrderTicket ());
if (del== true )
{
otl_b= 0 ; otl_s= 0 ; //обнуляем переменные отложек
}
}
}
}
}
Bir piyasa emrini silmeye çalıştığınızda silinmezler, ancak OrderClose() işlevi tarafından kapatılırlar. Döngünün doğru şekilde silinmesi veya kapanması için çekmeler arasında türe göre ayrım yapmanız gerekir.
if(OrderType()<=OP_SELL) - piyasa emirleri için, if(OrderType()>OP_SELL) - bekleyen emirler için.
Öyle bir şey var ki: CHARTEVENT_MOUSE_MOVE
Soru: Farenin olmadığı mobil cihazlarda çalışır mı?
bana durumun nasıl görünmesi gerektiğini söyle. Zararı durdur tetiklenirse, lot 2 ile çarpılır ve bir sonraki siparişte kâr al tetiklenirse lot, zararı durdurmadan önceki orijinal lota döner.
Ben böyle anlıyorum ama daha nasıl ilerleyeceğimi henüz çözemedim..
for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--)
{
if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )
{
if ( OrderMagicNumber ()==magic)
{
if ( OrderStopLoss ()== OrderClosePrice ())
{
lot=lot* 4 ;
}
}
}
}
bana durumun nasıl görünmesi gerektiğini söyle. Zararı durdur tetiklenirse, lot 2 ile çarpılır ve bir sonraki siparişte kâr al tetiklenirse lot, zararı durdurmadan önceki orijinal lota döner.
Ben böyle anlıyorum ama daha nasıl ilerleyeceğimi henüz çözemedim..
for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--)
{
if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )
{
if ( OrderMagicNumber ()==magic)
{
if ( OrderStopLoss ()== OrderClosePrice ())
{
lot=lot* 4 ;
}
}
}
}
Bu sorunun çözümü danışmanın tam mantığına bağlıdır, zararı durdur veya kar al işlemi yorumundan takip edilebilir.
if ( StringFind ( OrderComment (), "tp" )>= 0 ) // сработал тейкпрофит
...
Anlamıyorsun.
Global düzeyde bildirilen diziyi dolduracak ve sıralayacak bir işlev yapmanız gerekir. Dizi , işleve başvuru yoluyla iletilmelidir.
Ve bu diziden ihtiyacınız olan verileri çıkaracak ek işlevlere ihtiyacımız var.