Hatalar, hatalar, sorular - sayfa 1740
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
2016.10 . 20 15 : 40 : 41 Core 1 connection closed
2016.10 . 20 15 : 40 : 16 History nothing to analyze
2016.10 . 20 15 : 40 : 16 Core 1 common synchronization completed
2016.10 . 20 15 : 40 : 16 Tester RTS- 12.16 ,M1 (BCS-MetaTrader5): visual testing of Experts\fxsaber\Test9.ex5 from 2016.10 . 19 00 : 00 to 2016.10 . 20 00 : 00
2016.10 . 20 15 : 40 : 16 Core 1 authorized (agent build 1455 )
2016.10 . 20 15 : 40 : 16 Core 1 connected
2016.10 . 20 15 : 40 : 16 Core 1 connecting to 127.0 . 0.1 : 3000
Peki, birdenbire geçmiş yoksa, o zaman tek bir koşu neden 28 (25 + 3) saniye kadar sürüyor? Evet, Bulut'tan bahsediyor!
Bu, güvenli bir şekilde unutmuş olduğum görselleştirme penceresi açıkken oldu. Belli değil.
Test cihazında yarışmadı.
#include <Trade\Trade.mqh>;
#include <Trade\OrderInfo.mqh>
// Через MT5-Стандартную Библиотеку - only MT5
// Выставляет SellLimit и затем устаналивает ему SL/TP
void MT5Order( const double Price )
{
CTrade Trade;
if (( ENUM_SYMBOL_TRADE_EXECUTION ):: SymbolInfoInteger ( _Symbol , SYMBOL_TRADE_EXEMODE ) == SYMBOL_TRADE_EXECUTION_EXCHANGE )
Trade.SetTypeFilling( ORDER_FILLING_RETURN );
Trade.OrderOpen( _Symbol , ORDER_TYPE_SELL_LIMIT , 1 , 0 , Price, 0 , 0 , ORDER_TIME_GTC , 0 , __FUNCTION__ );
const ulong Ticket = Trade.ResultOrder();
if (Ticket > 0 )
{
COrderInfo Order;
if (Order.Select(Ticket))
Trade. OrderModify (Order.Ticket(), Order.PriceOpen(), Order.PriceOpen() + SLTP, Order.PriceOpen() - SLTP, Order.TypeTime(), Order.TimeExpiration());
}
}
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006
// Через MT4-ОЯС - кроссплатформенный вариант (MT4/5)
// Выставляет SellLimit и затем устаналивает ему SL/TP
void MT4Order( const double Price )
{
const int Ticket = OrderSend ( _Symbol , OP_SELLLIMIT , 1 , Price, 0 , 0 , 0 , __FUNCTION__ );
if ((Ticket > 0 ) && OrderSelect (Ticket, SELECT_BY_TICKET ))
OrderModify ( OrderTicket (), OrderOpenPrice (), OrderOpenPrice () + SLTP, OrderOpenPrice () - SLTP, OrderExpiration (), clrNONE );
}
void OnTick ()
{
static bool FirstRun = true ;
if (FirstRun)
{
const double Price = SymbolInfoDouble ( _Symbol , SYMBOL_BID ) + 100 * _Point ;
MT5Order(Price); // Через MT5-Стандартную Библиотеку - only MT5
MT4Order(Price); // Через MT4-ОЯС - кроссплатформенный вариант (MT4/5)
FirstRun = false ;
}
}
Sonuç (aşağıdan yukarıya)
2016.10 . 20 16 : 49 : 14.987 2016.10 . 18 10 : 00 : 00 sell limit 1.00 RTS- 12.16 at 100 ( 0 / 0 / 97600 )
2016.10 . 20 16 : 49 : 14.987 2016.10 . 18 10 : 00 : 00 CTrade:: OrderSend : modify # 2 at 100.00000 (sl: 110.00000 tp: 90.00000 ) [invalid fill]
2016.10 . 20 16 : 49 : 14.987 2016.10 . 18 10 : 00 : 00 failed modify order # 2 sell limit 1.00 at 100.00000 sl: 0.00000 tp: 0.00000 -> 100.00000 , sl: 110.00000 tp: 90.00000 [Unsupported filling mode]
2016.10 . 20 16 : 49 : 14.987 2016.10 . 18 10 : 00 : 00 CTrade:: OrderSend : sell limit 1.00 RTS- 12.16 at 100 [done]
2016.10 . 20 16 : 49 : 14.986 2016.10 . 18 10 : 00 : 00 sell limit 1.00 RTS- 12.16 at 100 ( 0 / 0 / 97600 )
2016.10 . 20 16 : 49 : 14.985 RTS- 12.16 : real ticks begin from 2016.10 . 18 00 : 00 : 00
Standart Kütüphane okudu ve bir test danışmanı yazdı
#include <Trade\Trade.mqh>;
#include <Trade\OrderInfo.mqh>
// Через MT5-Стандартную Библиотеку - only MT5
// Выставляет SellLimit и затем устаналивает ему SL/TP
void MT5Order( const double Price )
{
CTrade Trade;
if (( ENUM_SYMBOL_TRADE_EXECUTION ):: SymbolInfoInteger ( _Symbol , SYMBOL_TRADE_EXEMODE ) == SYMBOL_TRADE_EXECUTION_EXCHANGE )
Trade.SetTypeFilling( ORDER_FILLING_RETURN );
Trade.OrderOpen( _Symbol , ORDER_TYPE_SELL_LIMIT , 1 , 0 , Price, 0 , 0 , ORDER_TIME_GTC , 0 , __FUNCTION__ );
const ulong Ticket = Trade.ResultOrder();
if (Ticket > 0 )
{
COrderInfo Order;
if (Order.Select(Ticket))
Trade. OrderModify (Order.Ticket(), Order.PriceOpen(), Order.PriceOpen() + SLTP, Order.PriceOpen() - SLTP, Order.TypeTime(), Order.TimeExpiration());
}
}
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006
// Через MT4-ОЯС - кроссплатформенный вариант (MT4/5)
// Выставляет SellLimit и затем устаналивает ему SL/TP
void MT4Order( const double Price )
{
const int Ticket = OrderSend ( _Symbol , OP_SELLLIMIT , 1 , Price, 0 , 0 , 0 , __FUNCTION__ );
if ((Ticket > 0 ) && OrderSelect (Ticket, SELECT_BY_TICKET ))
OrderModify ( OrderTicket (), OrderOpenPrice (), OrderOpenPrice () + SLTP, OrderOpenPrice () - SLTP, OrderExpiration (), clrNONE );
}
void OnTick ()
{
static bool FirstRun = true ;
if (FirstRun)
{
const double Price = SymbolInfoDouble ( _Symbol , SYMBOL_BID ) + 100 * _Point ;
MT5Order(Price); // Через MT5-Стандартную Библиотеку - only MT5
MT4Order(Price); // Через MT4-ОЯС - кроссплатформенный вариант (MT4/5)
FirstRun = false ;
}
}
Sonuç (aşağıdan yukarıya)
2016.10 . 20 16 : 49 : 14.987 2016.10 . 18 10 : 00 : 00 sell limit 1.00 RTS- 12.16 at 100 ( 0 / 0 / 97600 )
2016.10 . 20 16 : 49 : 14.987 2016.10 . 18 10 : 00 : 00 CTrade:: OrderSend : modify # 2 at 100.00000 (sl: 110.00000 tp: 90.00000 ) [invalid fill]
2016.10 . 20 16 : 49 : 14.987 2016.10 . 18 10 : 00 : 00 failed modify order # 2 sell limit 1.00 at 100.00000 sl: 0.00000 tp: 0.00000 -> 100.00000 , sl: 110.00000 tp: 90.00000 [Unsupported filling mode]
2016.10 . 20 16 : 49 : 14.987 2016.10 . 18 10 : 00 : 00 CTrade:: OrderSend : sell limit 1.00 RTS- 12.16 at 100 [done]
2016.10 . 20 16 : 49 : 14.986 2016.10 . 18 10 : 00 : 00 sell limit 1.00 RTS- 12.16 at 100 ( 0 / 0 / 97600 )
2016.10 . 20 16 : 49 : 14.985 RTS- 12.16 : real ticks begin from 2016.10 . 18 00 : 00 : 00
Kodunuzu evde başlattım (MT4 olmadan):
2016.10 . 20 19 : 05 : 31.150 2016.09 . 16 10 : 00 : 00 deal performed [ # 3 buy 1.00 RTS- 12.16 at 96500 ]
2016.10 . 20 19 : 05 : 31.150 2016.09 . 16 10 : 00 : 00 deal # 3 buy 1.00 RTS- 12.16 at 96500 done (based on order # 3 )
2016.10 . 20 19 : 05 : 31.150 2016.09 . 16 10 : 00 : 00 stop loss triggered # 2 sell 1.00 RTS- 12.16 100 sl: 110 tp: 90 [ # 3 buy 1.00 RTS- 12.16 at 110 ]
2016.10 . 20 19 : 05 : 31.148 2016.09 . 16 10 : 00 : 00 order performed sell 1.00 at 100 [ # 2 sell limit 1.00 RTS- 12.16 at 100 ]
2016.10 . 20 19 : 05 : 31.148 2016.09 . 16 10 : 00 : 00 deal performed [ # 2 sell 1.00 RTS- 12.16 at 100 ]
2016.10 . 20 19 : 05 : 31.148 2016.09 . 16 10 : 00 : 00 deal # 2 sell 1.00 RTS- 12.16 at 100 done (based on order # 2 )
2016.10 . 20 19 : 05 : 31.148 2016.09 . 16 10 : 00 : 00 order [ # 2 sell limit 1.00 RTS- 12.16 at 100 ] triggered
2016.10 . 20 19 : 05 : 31.121 2016.09 . 16 10 : 00 : 00 CTrade:: OrderSend : modify # 2 at 100.00000 (sl: 110.00000 tp: 90.00000 ) [done]
2016.10 . 20 19 : 05 : 31.121 2016.09 . 16 10 : 00 : 00 order modified [ # 2 sell limit 1.00 RTS- 12.16 at 100 ]
2016.10 . 20 19 : 05 : 31.121 2016.09 . 16 10 : 00 : 00 CTrade:: OrderSend : sell limit 1.00 RTS- 12.16 at 100 [done]
2016.10 . 20 19 : 05 : 31.121 2016.09 . 16 10 : 00 : 00 sell limit 1.00 RTS- 12.16 at 100 ( 0 / 0 / 96650 )
2016.10 . 20 19 : 05 : 31.118 RTS- 12.16 : real ticks begin from 2016.09 . 16 00 : 00 : 00
2016.10 . 20 19 : 05 : 30.941 RTS- 12.16 ,M1: testing of Experts\test_filling_mode.ex5 from 2016.09 . 16 00 : 00 to 2016.09 . 20 00 : 00 started
2016.10 . 20 19 : 05 : 30.941 RTS- 12.16 ,M1 ( Open -Broker): generating based on real ticks
2016.10 . 20 19 : 05 : 30.940 RTS- 12.16 ,M1: history begins from 2015.01 . 15 10 : 08
2016.10 . 20 19 : 05 : 30.937 RTS- 12.16 ,M1: history cache allocated for 645942 bars and contains 15277 bars from 2015.01 . 15 10 : 08 to 2016.09 . 15 23 : 49
#define SLTP ( 10 * _Point )
#include <Trade\Trade.mqh>;
#include <Trade\OrderInfo.mqh>
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
//---
//---
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick ()
{
//---
static bool FirstRun= true ;
if (FirstRun)
{
const double Price= SymbolInfoDouble ( _Symbol , SYMBOL_BID )+ 100 * _Point ;
MT5Order(Price); // Через MT5-Стандартную Библиотеку - only MT5
//MT4Order(Price); // Через MT4-ОЯС - кроссплатформенный вариант (MT4/5)
FirstRun= false ;
}
}
//+------------------------------------------------------------------+
// Через MT5-Стандартную Библиотеку - only MT5
// Выставляет SellLimit и затем устаналивает ему SL/TP
void MT5Order( const double Price)
{
CTrade Trade;
if (( ENUM_SYMBOL_TRADE_EXECUTION ):: SymbolInfoInteger ( _Symbol , SYMBOL_TRADE_EXEMODE )== SYMBOL_TRADE_EXECUTION_EXCHANGE )
Trade.SetTypeFilling( ORDER_FILLING_RETURN );
Trade.OrderOpen( _Symbol , ORDER_TYPE_SELL_LIMIT , 1 , 0 ,Price, 0 , 0 , ORDER_TIME_GTC , 0 , __FUNCTION__ );
const ulong Ticket=Trade.ResultOrder();
if (Ticket> 0 )
{
COrderInfo Order;
if (Order.Select(Ticket))
Trade. OrderModify (Order.Ticket(),Order.PriceOpen(),Order.PriceOpen()+SLTP,Order.PriceOpen()-SLTP,Order.TypeTime(),Order.TimeExpiration());
}
}
//+------------------------------------------------------------------+
Kodunuzu evde başlattım (MT4 olmadan):
Belki de olay budur
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Hatalar, hatalar, sorular
fxsaber , 2016.10.18 22:00
web motoru hatası
Farketmedim
Seçkinler dışında kimseye karışmadığından, elbette, büyük olasılıkla daha öncelikli görevlerle meşguller.
Anladığım kadarıyla, bu özellik zaten bir yıldan beri var.
{
public :
virtual string classname() const
{
return ( typename ( this ));
}
};
class B : public A
{
public :
virtual string classname() const
{
return ( typename ( this ));
}
};
void OnStart ()
{
B b;
Print (b.classname());
}
Miras alınan her sınıfta, aynısını yazmanız gerekir.
{
return ( typename ( this ));
}
MQL'de bu tür kuyrukları çekmemek mümkün olacak mı?