Sergey Gridnev # : 2 döngüye ihtiyacınız var: ilkinde minimum hacmi buluyorsunuz, ikincisinde kapatıyorsunuz. Ve kapanış sırasında siparişlerin 1 pozisyon kaydırıldığını, bu nedenle maksimum pozisyondan 0'a geçiş yapmanız gerektiğini unutmayın.
Bu görüyorum. 0.02 yaparsanız, 0.02'lik çok siparişleri seçecektir. Önce 0,01'de, sonra 0,02'de nasıl görünmesini sağlayacağımı soruyorum.
İki boyutlu bir dizide toplayın, lotlar birinci boyutta, biletler ikinci boyutta. Diziyi sıralayın ve şimdilik ilk boyuttaki minimum lotu kapatın. Veya her şeyi kapatmanız gerekiyorsa, ancak lot arttıkça sona yakın ...
Sergey Gridnev # : 2 döngüye ihtiyacınız var: ilkinde minimum hacmi buluyorsunuz, ikincisinde kapatıyorsunuz. Ve kapanış sırasında siparişlerin 1 pozisyon kaydırıldığını, bu nedenle maksimum pozisyondan 0'a geçiş yapmanız gerektiğini unutmayın.
Lütfen bana bir konuda yardım edin. Bir işlevin başlangıcını yazıyorum ve kodunun bir bölümünü bir komut dosyasıyla kontrol etmeye karar verdim:
//+------------------------------------------------------------------+//| 3.mq5 |//| Copyright 2021, MetaQuotes Ltd. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2021, MetaQuotes Ltd."#property link" https://www.mql5.com "#property version"1.00"//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart ()
{
/* Создадим запрос на сервер и получим ответ с результатом */MqlTradeRequest request= {};
MqlTradeResult result= { 0 };
/* запустим цикл для перебора всех установленных отложенных ордеров */for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
{
/* определим параметры установленного ордера */string symbol= OrderGetString ( ORDER_SYMBOL ); // символ ордераint digits=( int ) SymbolInfoInteger (symbol, SYMBOL_DIGITS ); // количество знаков после запятойdouble point= SymbolInfoDouble (symbol, SYMBOL_POINT ); // значение одного пунктаulong ticket= OrderGetTicket (i); // тикет ордераENUM_ORDER_TYPE type=( ENUM_ORDER_TYPE ) OrderGetInteger ( ORDER_TYPE ); // тип ордераdouble volume= OrderGetDouble ( ORDER_VOLUME_INITIAL ); // объём ордераulong magic= OrderGetInteger ( ORDER_MAGIC ); // MagicNumber ордераdouble price_current= OrderGetDouble ( ORDER_PRICE_CURRENT ); // текущая цена по символу ордераdouble price_order_open= OrderGetDouble ( ORDER_PRICE_OPEN ); // цена открытия указанная в ордереdouble sl= OrderGetDouble ( ORDER_SL ); // стоп лосс ордераdouble tp= OrderGetDouble ( ORDER_TP ); // тейк профит ордера/* выведем информацию об установленных отложенных ордерах */PrintFormat ( "#%I64u %s %s %.2f price_current: %.5f price_order_open: %.5f sl: %.5f tp: %.5f magic: %d" ,
ticket,symbol, EnumToString (type),volume,price_current,price_order_open,sl,tp,magic);
}
}
//+------------------------------------------------------------------+
Ama işte, beni biraz şaşırtan, Uzmanların katkısında basılan sonuç. Bekleyen ORDER_TYPE_BUY_STOP siparişinin sembolü yansıyor, ancak bazı nedenlerden dolayı ORDER_TYPE_SELL_STOP emri yansıtmıyor.
Lütfen bana bir konuda yardım edin. Bir işlevin başlangıcını yazıyorum ve kodunun bir bölümünü bir komut dosyasıyla kontrol etmeye karar verdim:
Ama işte, beni biraz şaşırtan, Uzmanların katkısında basılan sonuç. Bekleyen ORDER_TYPE_BUY_STOP siparişinin sembolü yansıyor, ancak bazı nedenlerden dolayı ORDER_TYPE_SELL_STOP emri yansıtmıyor.
Ne ile bağlanabilir? Saygılarımla, Vladimir.
Bunun nedeni, bir bilet seçmemiş olmanız, ancak özelliklerini almaya çalışıyor olmanızdır.
Sergey Gridnev # : Bunun nedeni, bir bilet seçmemiş olmanız, ancak özelliklerini almaya çalışıyor olmanızdır.
Cevabınız için teşekkürler Sergey! Cevabınız beni daha da şaşırttı. Nasıl yani? Komut dosyası başlatıldığında, bekleyen tüm siparişler yoklanır. Resimden, grafikte iki tane olduğu ve aynı zamanda bir biletin seçildiği ve diğerinin seçilmediği görülebilir. Pek net değil.
Biraz daha açıklayabilir misin?
Soruyu boş bir meraktan değil, kendi kendine eğitime devam etmek için soruyorum.
Gerçekten kendin görmüyor musun?
"Bu an nasıl boyanır?" - çok fazla 0.01 belirtildiğinde, mevcut minimumu hesaplamak gerekir.
Bu görüyorum. 0.02 yaparsanız, 0.02'lik çok siparişleri seçecektir. Önce 0,01'de, sonra 0,02'de nasıl görünmesini sağlayacağımı soruyorum.
2 döngüye ihtiyacınız var: ilkinde minimum hacmi buluyorsunuz, ikincisinde kapatıyorsunuz. Ve kapanış sırasında siparişlerin 1 pozisyon kaydırıldığını, bu nedenle maksimum pozisyondan 0'a geçiş yapmanız gerektiğini unutmayın.
Ve maksimumdan 0'a nasıl yapılır?
Önce 0,01'de, sonra 0,02'de nasıl görünmesini sağlayacağımı soruyorum.
2 kere nasıl diye cevap vermişsin.
Bu görüyorum. 0.02 yaparsanız, 0.02'lik çok siparişleri seçecektir. Önce 0,01'de, sonra 0,02'de nasıl görünmesini sağlayacağımı soruyorum.
İki boyutlu bir dizide toplayın, lotlar birinci boyutta, biletler ikinci boyutta. Diziyi sıralayın ve şimdilik ilk boyuttaki minimum lotu kapatın. Veya her şeyi kapatmanız gerekiyorsa, ancak lot arttıkça sona yakın ...
2 döngüye ihtiyacınız var: ilkinde minimum hacmi buluyorsunuz, ikincisinde kapatıyorsunuz. Ve kapanış sırasında siparişlerin 1 pozisyon kaydırıldığını, bu nedenle maksimum pozisyondan 0'a geçiş yapmanız gerektiğini unutmayın.
hayır. En erkenden en geçe.
Ne dediler, ben kendim biliyordum. Tamam, her zamanki gibi dürtme yönteminde ustalaşacağım.
Ne dediler, ben kendim biliyordum. Tamam, her zamanki gibi dürtme yönteminde ustalaşacağım.
İyi akşamlar, sevgili uzmanlar!
Lütfen bana bir konuda yardım edin. Bir işlevin başlangıcını yazıyorum ve kodunun bir bölümünü bir komut dosyasıyla kontrol etmeye karar verdim:
Ama işte, beni biraz şaşırtan, Uzmanların katkısında basılan sonuç. Bekleyen ORDER_TYPE_BUY_STOP siparişinin sembolü yansıyor, ancak bazı nedenlerden dolayı ORDER_TYPE_SELL_STOP emri yansıtmıyor.
Ne ile bağlanabilir? Saygılarımla, Vladimir.
İyi akşamlar, sevgili uzmanlar!
Lütfen bana bir konuda yardım edin. Bir işlevin başlangıcını yazıyorum ve kodunun bir bölümünü bir komut dosyasıyla kontrol etmeye karar verdim:
Ama işte, beni biraz şaşırtan, Uzmanların katkısında basılan sonuç. Bekleyen ORDER_TYPE_BUY_STOP siparişinin sembolü yansıyor, ancak bazı nedenlerden dolayı ORDER_TYPE_SELL_STOP emri yansıtmıyor.
Ne ile bağlanabilir? Saygılarımla, Vladimir.
Bunun nedeni, bir bilet seçmemiş olmanız, ancak özelliklerini almaya çalışıyor olmanızdır.
Cevabınız için teşekkürler Sergey! Cevabınız beni daha da şaşırttı. Nasıl yani? Komut dosyası başlatıldığında, bekleyen tüm siparişler yoklanır. Resimden, grafikte iki tane olduğu ve aynı zamanda bir biletin seçildiği ve diğerinin seçilmediği görülebilir. Pek net değil.
Biraz daha açıklayabilir misin?
Soruyu boş bir meraktan değil, kendi kendine eğitime devam etmek için soruyorum.
Saygılarımla, Vladimir.