Birkaç hatayı düzeltmeye çalıştım ama bir tanesi daha ortaya çıkmaya devam ediyor... Amaç yeni başlayanlar için hayatı kolaylaştırmaksa, bu şekilde zorlaşıyor ve burada aklımı kaybediyorum ...
Birkaç hatayı düzeltmeye çalıştım ama bir tanesi daha ortaya çıkmaya devam ediyor... Amaç yeni başlayanlar için hayatı kolaylaştırmaksa, bu şekilde zorlaşıyor ve burada aklımı kaybediyorum ...
Yardım edin lütfen!
Airton bu makale yeni başlayanlar için çok ileri düzeydedir, öncelikle Nesne Yönelimli uygulama geliştirme kavramını, hiyerarşileri, çok biçimliliği, kalıtımı, sanal yöntemleri anlamanız gerekir, yani ileri düzey programlamayı bilmeniz gerekir, ancak bu örneklerde bulunan hatalar, bazılarında elle eklemeniz gereken public anahtar sözcüğü eksik olan sınıf bildirimleriyle ilgilidir, belki de MQL'in önceki sürümü derlemek için bu anahtar sözcüklere ihtiyaç duymuyordu, ancak bu sürüm bu düzeltmeyi gerektiriyor.
'MACD_MA model.mq5' MACD_MA model.mq5 11'Trade.mqh' Trade.mqh 11'Object.mqh' Object.mqh 11'StdLibErr.mqh' StdLibErr.mqh 11'SymbolInfo.mqh' SymbolInfo.mqh 11'OrderInfo.mqh' OrderInfo.mqh 11'HistoryOrderInfo.mqh' HistoryOrderInfo.mqh 11'PositionInfo.mqh' PositionInfo.mqh 11'DealInfo.mqh' DealInfo.mqh 11'AccountInfo.mqh' AccountInfo.mqh 11'model_macd.mqh' model_macd.mqh 11'Model.mqh' Model.mqh 11'List.mqh' List.mqh 11'TableOrders.mqh' TableOrders.mqh 11'Time.mqh' Time.mqh 11'mm.mqh' mm.mqh 11'stdlib.mqh' stdlib.mqh 11'model_ma.mqh' model_ma.mqh 11'model_bollinger.mqh' model_bollinger.mqh 11returnvalue of 'OrderSelect' should be checked TableOrders.mqh 1204implicitenum conversion TableOrders.mqh 5044'new_message' - conversion is not accessible because of inheritance access Time.mqh 18521
possible use of uninitialized variable 'lot_limit' mm.mqh 12910't' - conversion is not accessible because of inheritance access Model.mqh 25227
declaration of 'trade' hides global variable Model.mqh 28216
see previous declaration of 'trade' MACD_MA model.mq5 188
declaration of 'i' hides local variable Model.mqh 31015
see previous declaration of 'i' Model.mqh 30712
possible loss of data due to type conversion Model.mqh 42847
possible loss of data due to type conversion model_macd.mqh 8611
possible loss of data due to type conversion model_macd.mqh 9014
possible loss of data due to type conversion model_macd.mqh 9114
possible loss of data due to type conversion model_macd.mqh 9216
expression not boolean model_macd.mqh 22811
expression not boolean model_macd.mqh 25411
possible loss of data due to type conversion model_ma.mqh 8511
possible loss of data due to type conversion model_ma.mqh 898
possible loss of data due to type conversion model_ma.mqh 9019
expression not boolean model_ma.mqh 21911
expression not boolean model_ma.mqh 24211
declaration of 'k_ATR' hides global variable model_bollinger.mqh 97110
see previous declaration of 'k_ATR' MACD_MA model.mq5 2516
possible loss of data due to type conversion model_bollinger.mqh 9922
possible loss of data due to type conversion model_bollinger.mqh 10422
possible loss of data due to type conversion model_bollinger.mqh 10722
variable 'rezult' not used model_bollinger.mqh 1709
variable 'rezult' not used model_bollinger.mqh 1959
expression not boolean model_bollinger.mqh 23811
expression not boolean model_bollinger.mqh 263112 errors, 25 warnings 326
class Test : public CObject {
public:
int i_;
Test(int i) {
i_ = i;
};
int get_i() {
return i_;
};
};
CList *list = new CList();
for (int i = 0; i < 10; i++) {
Test *t = new Test(i);
list.Add(t);
}
for (int i = 0; i < list.Total(); i++) {
Test *t = list.GetNodeAtIndex(i);
if (i == 5) {
list.DeleteCurrent();
}
if (CheckPointer(t) == POINTER_INVALID) {
continue;
}
Print(t.get_i());
}
Dizin 5'teki düğümü sildikten sonra, dizin 6'yı yinelersiniz, ancak bir sonraki öğe hala dizin 5'tir.
GetFirstNode / GetNextNode kullanmak daha iyi bir fikirdir
for (Test *t = list.GetFirstNode(); t != NULL;) {
t_current = t;
if (t.get_i() == 5) {
list.DeleteCurrent();
t = list.GetCurrentNode();
if (t == t_current) {break;}
continue;
}
Print(t.get_i());
t = list.GetNextNode();
}
Teşekkürler, bu harika bir makale ve iyi bir çerçeve. Tam olarak aradığım şey.
Gerçek para ile kullanmayı planlıyorum, en son sürüm mü?
Teşekkürler
İyi günler!
Birkaç hatayı düzeltmeye çalıştım ama bir tanesi daha ortaya çıkmaya devam ediyor... Amaç yeni başlayanlar için hayatı kolaylaştırmaksa, bu şekilde zorlaşıyor ve burada aklımı kaybediyorum ...
Yardım edin lütfen!
Harika makale!
Çalıştırmak için iki şeyi değiştirmem gerekti.
"TableOrders.mqh" dosyasında bu işlev bool CTableOrders::Add(ulong Ticket,double stop_loss,double take_profit) satır 89'da, m_type değişkeni ile değiştirilmelidir:
Kimden:
m_type=order_info.Type();
Şuraya
m_type=order_info.OrderType();
İkincisi de "TableOrders.mqh" üzerinde:
Kimden
class CTableOrders : CObject
Şuraya:
class CTableOrders : public CObject
Saygılarımla,
A. HUPP
İyi günler!
Birkaç hatayı düzeltmeye çalıştım ama bir tanesi daha ortaya çıkmaya devam ediyor... Amaç yeni başlayanlar için hayatı kolaylaştırmaksa, bu şekilde zorlaşıyor ve burada aklımı kaybediyorum ...
Yardım edin lütfen!
Airton bu makale yeni başlayanlar için çok ileri düzeydedir, öncelikle Nesne Yönelimli uygulama geliştirme kavramını, hiyerarşileri, çok biçimliliği, kalıtımı, sanal yöntemleri anlamanız gerekir, yani ileri düzey programlamayı bilmeniz gerekir, ancak bu örneklerde bulunan hatalar, bazılarında elle eklemeniz gereken public anahtar sözcüğü eksik olan sınıf bildirimleriyle ilgilidir, belki de MQL'in önceki sürümü derlemek için bu anahtar sözcüklere ihtiyaç duymuyordu, ancak bu sürüm bu düzeltmeyi gerektiriyor.
simple_model.mq5 dosyasını derlemek için "public" eklemek zorunda kaldım:
class CModel: public CObject 12. satırda
MACD_MA_model.mq5'i derlerken bu hatayı almaya devam ediyorum:
'MODE_OPEN' - enumerator identifier already defined stdlib.mqh 13 4
temel kütüphaneye atıfta bulunan bu hatayı aşamıyorum.
Makaleniz ve test için genel bir çerçeve oluşturma çabanız için teşekkür ederim.
simple_model.mq5 dosyasını derlemek için "public" eklemek zorunda kaldım:
class CModel: public CObject at line 12
MACD_MA_model.mq5'i derlerken bu hatayı almaya devam ediyorum:
'MODE_OPEN' - numaralandırıcı tanımlayıcısı zaten tanımlanmış stdlib.mqh 13 4
altta yatan kütüphaneye atıfta bulunan bu hatayı aşamıyorum.
Makaleniz ve test için genel bir çerçeve oluşturma çabanız için teşekkür ederiz.
https://www.mql5.com/en/forum/244512
Derlemeyi açmaya çalıştım, hata aldım
Kodu düzeltmek için bir planınız var mı?
min_risk = point * tick_value * symbol_info_.LotsStep();
nokta sayısı yerine tik sayısı kullanmalısınız.
tick_count = MathAbs(open_price - stop_loss) / symbol_info_.TickSize();
çünkü bazı sembollerde, tik boyutu != nokta
örneğin:
Vadeli İşlemler\Tarımsal Emtialar\#Kahve_H21:
Listeyi yinelerken düğümü silmemelisiniz.
Örneğin:
Dizin 5'teki düğümü sildikten sonra, dizin 6'yı yinelersiniz, ancak bir sonraki öğe hala dizin 5'tir.
GetFirstNode / GetNextNode kullanmak daha iyi bir fikirdir
Katkılarınız için teşekkürler!