En son yayınlanan Kim işlevi GetPotentialLossInCurrency (https://forum.mql4.com/en/11287/page107) yalnızca açık siparişleri dikkate alır:
Bekleyen emirleri ekleyerek (sadece diğer türleri ekleyerek) biraz genişletmeye çalıştım: ancak bekleyen emirler dikkate alınmadı. Farklı mı sayılıyorlar? Belgeler bu konuda hiçbir şey söylemiyor ....
Bekleyen emirlerde "mevduat para biriminde açık pozisyonların toplam potansiyel kaybı" yoktur .
GetPotentialLossInCurrency() işlevi, mevduat para biriminde açık pozisyonların toplam potansiyel kaybını döndürür.
Piyasadaki pozisyonlardan bahsediyoruz. Bu piyasa işlevlerinde F1'e basın, bilgileri dikkatlice tekrar okuyun:
Programcılar için soru: yeni bir çubukta danışman, euro siparişinin canlı olup olmadığını kontrol eder (örneğin), değilse, yeni bir anlaşma yapar, evet ise, her şeyi olduğu gibi bırakır. aşağıdaki koşulu ayarlayın:
for ( int i= 1 ; i<= OrdersTotal (); i++) // Цикл перебора ордер
{
if ( OrderSelect (i- 1 ,SELECT_BY_POS)==true) // Если есть следующий
{ // Анализ ордеров:int Tip= OrderType (); // Тип ордераif ( OrderSymbol ()!= "EURUSD" ||Tip> 1 ){ continue ;} else { // Не наш ордерRefreshRates ();
double point5 = MarketInfo ( "EURUSD" , MODE_POINT); //Запрос Pointdouble bid5 = MarketInfo ( "EURUSD" , MODE_BID); // Запрос значения Biddouble ask5 = MarketInfo ( "EURUSD" , MODE_ASK); // Запрос значения Askdouble SL5 = NormalizeDouble (bid5+(Stop*point5), MarketInfo ( "EURUSD" , MODE_DIGITS));
double TP5 = NormalizeDouble (bid5-(Profit*point5), MarketInfo ( "EURUSD" , MODE_DIGITS));
double SL5v = NormalizeDouble (bid5-(Stop*point5), MarketInfo ( "EURUSD" , MODE_DIGITS));
double TP5v = NormalizeDouble (bid5+(Profit*point5), MarketInfo ( "EURUSD" , MODE_DIGITS));
if (( iVolume ( "EURUSD" , Period (), 4 )) > ( iVolume ( "EURUSD" , Period (), 1 ))) {
ticket= OrderSend ( "EURUSD" ,OP_SELL,lot_EUR,bid5,Slip, 0 , 0 ); // Открытие SellOrderSelect (ticket,SELECT_BY_TICKET);
OrderModify ( OrderTicket (), OrderOpenPrice (),SL5,TP5 , 0 , CLR_NONE );
{ Alert ( GetLastError ());} // Сообщение об ошибке
} else {ticket= OrderSend ( "EURUSD" ,OP_BUY,lot_EUR,ask5,Slip, 0 , 0 ); // Открытие BUYOrderSelect (ticket,SELECT_BY_TICKET);
OrderModify ( OrderTicket (), OrderOpenPrice (),SL5v,TP5v , 0 , CLR_NONE );
{ Alert ( GetLastError ());} // Сообщение об ошибке
}}
} // Конец анализа орд.
} // Конец перебора орд.
Programcılar için soru: yeni bir çubukta danışman, euro siparişinin canlı olup olmadığını kontrol eder (örneğin), değilse, yeni bir anlaşma yapar, evet ise, her şeyi olduğu gibi bırakır. aşağıdaki koşulu ayarlayın:
Ama kod çalışmıyor. Hata nerede?
bir düzine sipariş varsa ne olacağını görün ve sizinki yedinci (örneğin)
ilkini kontrol et - bizim değil. bir sipariş vereceğiz
ikinciyi kontrol et - bizim değil. bir sipariş vereceğiz
...
yedinciyi kontrol et - bizim
sekizinciyi kontrol et - bizim değil. bir sipariş vereceğiz
uzmanda tamamen 1 varsa, o zaman biletini hatırlayabilir ve her seferinde tüm siparişleri gözden geçirmeden kapanıp kapanmadığını kontrol edebilirsiniz.
ilunga : uzmanda tamamen 1 varsa, o zaman biletini hatırlayabilir ve her seferinde tüm siparişleri gözden geçirmeden kapanıp kapanmadığını kontrol edebilirsiniz.
Tavsiye için çok teşekkür ederim, neredeyse bunu yapacağımı tahmin ediyordum, ancak siparişin işe yarayıp yaramadığını hatırlamıyorum, o zaman bilet -10 değerini mi alıyor?
Bekleyen emirlerde "mevduat para biriminde açık pozisyonların toplam potansiyel kaybı" yoktur .
GetPotentialLossInCurrency() işlevi, mevduat para biriminde açık pozisyonların toplam potansiyel kaybını döndürür.
Piyasadaki pozisyonlardan bahsediyoruz. Bu piyasa işlevlerinde F1'e basın, bilgileri dikkatlice tekrar okuyun:
GetPotentialLossInCurrency() işlevinin açık pozisyonlardan bahsettiğini çok iyi anlıyorum. Bir sorum var: Neden bekleyen siparişleri dikkate alamıyorum?
Belgeler:
doubleOrderOpenPrice ( )
Возвращает цену открытия для выбранного ордера.
Ордер должен быть предварительно выбран с помощью функции OrderSelect ().
doubleOrderStopLoss ( )
Возвращает значение цены закрытия позиции при достижении уровня убыточности (stop loss) для текущего выбранного ордера.
Ордер должен быть предварительно выбран с помощью функции OrderSelect ().
Hiçbir yerde OrderOpenPrice ve/veyaOrderStopLoss'un yalnızca açık siparişler için geçerli olduğu söylenemez.
Tavsiye için çok teşekkür ederim, neredeyse bunu yapacağımı tahmin ediyordum, ancak siparişin işe yarayıp yaramadığını hatırlamıyorum, o zaman bilet -10 değerini alıyor mu?
En son yayınlanan Kim işlevi GetPotentialLossInCurrency (https://forum.mql4.com/en/11287/page107) yalnızca açık siparişleri dikkate alır:
Bekleyen emirleri ekleyerek (sadece diğer türleri ekleyerek) biraz genişletmeye çalıştım: ancak bekleyen emirler dikkate alınmadı. Farklı mı sayılıyorlar? Belgeler bu konuda hiçbir şey söylemiyor ....Bekleyen emirlerde "mevduat para biriminde açık pozisyonların toplam potansiyel kaybı" yoktur .
GetPotentialLossInCurrency() işlevi, mevduat para biriminde açık pozisyonların toplam potansiyel kaybını döndürür.
Piyasadaki pozisyonlardan bahsediyoruz. Bu piyasa işlevlerinde F1'e basın, bilgileri dikkatlice tekrar okuyun:
Bekleyen emirlerde "mevduat para biriminde açık pozisyonların toplam potansiyel kaybı" yoktur .
GetPotentialLossInCurrency() işlevi, mevduat para biriminde açık pozisyonların toplam potansiyel kaybını döndürür.
Piyasadaki pozisyonlardan bahsediyoruz. Bu piyasa işlevlerinde F1'e basın, bilgileri dikkatlice tekrar okuyun:
Programcılar için soru:
yeni bir çubukta danışman, euro siparişinin canlı olup olmadığını kontrol eder (örneğin), değilse, yeni bir anlaşma yapar, evet ise, her şeyi olduğu gibi bırakır.
aşağıdaki koşulu ayarlayın:
Ama kod çalışmıyor. Hata nerede?
Programcılar için soru:
yeni bir çubukta danışman, euro siparişinin canlı olup olmadığını kontrol eder (örneğin), değilse, yeni bir anlaşma yapar, evet ise, her şeyi olduğu gibi bırakır.
aşağıdaki koşulu ayarlayın:
Ama kod çalışmıyor. Hata nerede?
bir düzine sipariş varsa ne olacağını görün ve sizinki yedinci (örneğin)
ilkini kontrol et - bizim değil. bir sipariş vereceğiz
ikinciyi kontrol et - bizim değil. bir sipariş vereceğiz
...
yedinciyi kontrol et - bizim
sekizinciyi kontrol et - bizim değil. bir sipariş vereceğiz
...
İşin özü şudur - bir çift için bir grup sipariş açtığımızda, siparişin tüm örtüşmesini tek bir hareketle kapatabilirsiniz.
Siparişi değiştir/sil--->tür---->Kapatılan siparişleri kapat
Kapanan emirleri siler... MQL'de böyle bir fonksiyon var mı?
Hata, buldum: https://forum.mql4.com/ru/4822
bir düzine sipariş varsa ne olacağını görün ve sizinki yedinci (örneğin)
ilkini kontrol et - bizim değil. bir sipariş vereceğiz
ikinciyi kontrol et - bizim değil. bir sipariş vereceğiz
...
yedinciyi kontrol et - bizim
sekizinciyi kontrol et - bizim değil. bir sipariş vereceğiz
...
Bu çift için sadece bir sipariş var. Yalnızca bu EURUSD sembolünü kontrol ediyorum, ancak muhtemelen durumu doğru ayarlamadım
if(OrderSymbol()!="EURUSD"||Tip>1){continue;}else{
if( OrderSymbol()= Symbol ("EURUSD"){ gerekir
Bu çift için sadece bir sipariş var. Yalnızca bu EURUSD sembolünü kontrol ediyorum, ancak muhtemelen durumu doğru ayarlamadım
if(OrderSymbol()!="EURUSD"||Tip>1){continue;}else{
if(OrderSymbol()= Symbol("EURUSD"){ gerekir
uzmanda tamamen 1 varsa, o zaman biletini hatırlayabilir ve her seferinde tüm siparişleri gözden geçirmeden kapanıp kapanmadığını kontrol edebilirsiniz.
Tavsiye için çok teşekkür ederim, neredeyse bunu yapacağımı tahmin ediyordum, ancak siparişin işe yarayıp yaramadığını hatırlamıyorum, o zaman bilet -10 değerini mi alıyor?
Bekleyen emirlerde "mevduat para biriminde açık pozisyonların toplam potansiyel kaybı" yoktur .
GetPotentialLossInCurrency() işlevi, mevduat para biriminde açık pozisyonların toplam potansiyel kaybını döndürür.
Piyasadaki pozisyonlardan bahsediyoruz. Bu piyasa işlevlerinde F1'e basın, bilgileri dikkatlice tekrar okuyun:
GetPotentialLossInCurrency() işlevinin açık pozisyonlardan bahsettiğini çok iyi anlıyorum. Bir sorum var: Neden bekleyen siparişleri dikkate alamıyorum?
Belgeler:
Hiçbir yerde OrderOpenPrice ve/veya OrderStopLoss'un yalnızca açık siparişler için geçerli olduğu söylenemez.
Tavsiye için çok teşekkür ederim, neredeyse bunu yapacağımı tahmin ediyordum, ancak siparişin işe yarayıp yaramadığını hatırlamıyorum, o zaman bilet -10 değerini alıyor mu?