Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 196 1...189190191192193194195196197198199200201202203...260 Yeni yorum Vladimir Karputov 2020.02.01 18:42 #1951 Vitaly Muzichenko : Bu bir düzen, 4 ile 5 arasında fark yok Tutamaç, her adımda değil, OnInit() içinde bir kez oluşturulmalıdır. Bunu hala bilmiyor musun? Vitaly Muzichenko 2020.02.01 18:51 #1952 silindi, çözmen gerek Vladimir Karputov 2020.02.01 18:55 #1953 Vitaly Muzichenko : Ve bu yüzden? Ve böylece yine de her onay işareti için bir tutamaç yaratırsınız . Styler'ı kullanın ve mantık oluşturma hataları hemen görünecektir: //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ double MA( string symb, ENUM_TIMEFRAMES tf, int period, int ma_shift, ENUM_MA_METHOD method, ENUM_APPLIED_PRICE price, int index) { #ifdef __MQL4__ return ( iMA (symb,tf,period,ma_shift,method,price,index)); #else double buf[ 1 ]; static int hMA=- 1 ; int handle= iMA (symb,tf,period,ma_shift,method,price); if (handle<hMA) { PrintFormat ( "Failed to create handle MA %s/%s, Error: %d" ,symb,sTF(tf), GetLastError ()); return ( WRONG_VALUE ); } else { if ( CopyBuffer (handle, 0 ,index, 1 ,buf)< 0 ) { PrintFormat ( "Failed to copy data from the indicator MA %s/%s, Error: %d" ,symb,sTF(tf), GetLastError ()); return ( WRONG_VALUE ); } } hMA=handle; return (buf[ 0 ]); #endif } Vitaly Muzichenko 2020.02.01 19:04 #1954 Vladimir Karputov : Ve böylece yine de her onay işareti için bir tutamaç yaratırsınız . Styler'ı kullanın ve mantık oluşturma hataları hemen görünecektir: öyle gibi double MA( string symb, ENUM_TIMEFRAMES tf, int period, int ma_shift, ENUM_MA_METHOD method, ENUM_APPLIED_PRICE price, int index) { #ifdef __MQL4__ return ( iMA (symb,tf,period,ma_shift,method,price,index)); #else double buf[ 1 ]; static int handle=- 1 ; if (handle< 0 ) { handle= iMA (symb,tf,period,ma_shift,method,price); } if (handle< 0 ) { PrintFormat ( "Failed to create handle MA %s/%s, Error: %d" ,symb,sTF(tf), GetLastError ()); return ( WRONG_VALUE ); } else { if ( CopyBuffer (handle, 0 ,index, 1 ,buf)< 0 ) { PrintFormat ( "Failed to copy data from the indicator MA %s/%s, Error: %d" ,symb,sTF(tf), GetLastError ()); return ( WRONG_VALUE ); } } return (buf[ 0 ]); #endif } Ayrıca, en yüksek değer arama kodunun geri kalanını çapraz platform yazıyoruz Vladimir Karputov 2020.02.01 19:07 #1955 Vitaly Muzichenko : öyle gibi Ayrıca, en yüksek değer arama kodunun geri kalanını çapraz platform yazıyoruz Evet şimdi //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ double MA( string symb, ENUM_TIMEFRAMES tf, int period, int ma_shift, ENUM_MA_METHOD method, ENUM_APPLIED_PRICE price, int index) { #ifdef __MQL4__ return ( iMA (symb,tf,period,ma_shift,method,price,index)); #else double buf[ 1 ]; static int handle=- 1 ; if (handle< 0 ) { handle= iMA (symb,tf,period,ma_shift,method,price); } if (handle< 0 ) { PrintFormat ( "Failed to create handle MA %s/%s, Error: %d" ,symb,sTF(tf), GetLastError ()); return ( WRONG_VALUE ); } else { if ( CopyBuffer (handle, 0 ,index, 1 ,buf)< 0 ) { PrintFormat ( "Failed to copy data from the indicator MA %s/%s, Error: %d" ,symb,sTF(tf), GetLastError ()); return ( WRONG_VALUE ); } } return (buf[ 0 ]); #endif } açıkçası daha iyi. Ancak bu blok yerinde değil - tanıtıcı oluşturulduktan hemen sonra yerleştirilmelidir. Vitaly Muzichenko 2020.02.01 19:12 #1956 Vladimir Karputov : Evet şimdi açıkçası daha iyi. Ancak bu blok yerinde değil - tanıtıcı oluşturulduktan hemen sonra yerleştirilmelidir. Optimal olarak, büyük olasılıkla böyle, peki, bir kez oluşturma hatası yazdırır, ancak daha sonra if (...) için daha az kontrol vardır. double MA( string symb, ENUM_TIMEFRAMES tf, int period, int ma_shift, ENUM_MA_METHOD method, ENUM_APPLIED_PRICE price, int index) { #ifdef __MQL4__ return ( iMA (symb,tf,period,ma_shift,method,price,index)); #else double buf[ 1 ]; static int handle=- 1 ; if (handle< 0 ) { handle= iMA (symb,tf,period,ma_shift,method,price); PrintFormat ( "Failed to create handle MA %s/%s, Error: %d" ,symb,sTF(tf), GetLastError ()); return ( WRONG_VALUE ); } else { if ( CopyBuffer (handle, 0 ,index, 1 ,buf)< 0 ) { PrintFormat ( "Failed to copy data from the indicator MA %s/%s, Error: %d" ,symb,sTF(tf), GetLastError ()); return ( WRONG_VALUE ); } } return (buf[ 0 ]); #endif } Vladimir Karputov 2020.02.01 19:17 #1957 Vitaly Muzichenko : Optimal olarak, büyük olasılıkla böyle, peki, bir kez oluşturma hatası yazdırır, ancak daha sonra if (...) için daha az kontrol vardır. Yulaf lapasında hiçbir şey göremiyorum - her şey birleşiyor. Styler'ı kullanın. Vitaly Muzichenko 2020.02.01 19:23 #1958 Vladimir Karputov : Yulaf lapasında hiçbir şey göremiyorum - her şey birleşiyor. Styler'ı kullanın. Bir şey varsa, o zaman stilistte tarzımı görmedim, ama ah, kaç tane Dosyalar: cc.PNG 100 kb GlaVredFX 2020.02.01 19:51 #1959 Ne yazık ki, göstergem MQL4'e dayanıyor ve bu işlev bunun sadece küçük bir parçası. Bu nedenle, MQL5'i orada uygulamak o kadar verimli değil, tamamen yeniden yazmak, uzun ve sorunlu. Artyom Trishkin 2020.02.01 19:52 #1960 GlaVredFX : Ne yazık ki, göstergem MQL4'e dayanıyor ve bu işlev bunun sadece küçük bir parçası. Bu nedenle, MQL5'i orada uygulamak o kadar verimli değil, tamamen yeniden yazmak, uzun ve sorunlu. Gösterge, ortalama olarak yarım saat içinde MQL5'e yeniden yazılır. Bir fincan kahve ile. 1...189190191192193194195196197198199200201202203...260 Yeni yorum
Bu bir düzen, 4 ile 5 arasında fark yok
Tutamaç, her adımda değil, OnInit() içinde bir kez oluşturulmalıdır. Bunu hala bilmiyor musun?
Ve bu yüzden?
Ve böylece yine de her onay işareti için bir tutamaç yaratırsınız . Styler'ı kullanın ve mantık oluşturma hataları hemen görünecektir:
Ve böylece yine de her onay işareti için bir tutamaç yaratırsınız . Styler'ı kullanın ve mantık oluşturma hataları hemen görünecektir:
öyle gibi
Ayrıca, en yüksek değer arama kodunun geri kalanını çapraz platform yazıyoruzöyle gibi
Ayrıca, en yüksek değer arama kodunun geri kalanını çapraz platform yazıyoruzEvet şimdi
açıkçası daha iyi. Ancak bu blok yerinde değil - tanıtıcı oluşturulduktan hemen sonra yerleştirilmelidir.
Evet şimdi
açıkçası daha iyi. Ancak bu blok yerinde değil - tanıtıcı oluşturulduktan hemen sonra yerleştirilmelidir.
Optimal olarak, büyük olasılıkla böyle, peki, bir kez oluşturma hatası yazdırır, ancak daha sonra if (...) için daha az kontrol vardır.
Optimal olarak, büyük olasılıkla böyle, peki, bir kez oluşturma hatası yazdırır, ancak daha sonra if (...) için daha az kontrol vardır.
Yulaf lapasında hiçbir şey göremiyorum - her şey birleşiyor.
Styler'ı kullanın.Yulaf lapasında hiçbir şey göremiyorum - her şey birleşiyor.
Styler'ı kullanın.Bir şey varsa, o zaman stilistte tarzımı görmedim, ama ah, kaç tane
Ne yazık ki, göstergem MQL4'e dayanıyor ve bu işlev bunun sadece küçük bir parçası.
Bu nedenle, MQL5'i orada uygulamak o kadar verimli değil, tamamen yeniden yazmak, uzun ve sorunlu.
Ne yazık ki, göstergem MQL4'e dayanıyor ve bu işlev bunun sadece küçük bir parçası.
Bu nedenle, MQL5'i orada uygulamak o kadar verimli değil, tamamen yeniden yazmak, uzun ve sorunlu.
Gösterge, ortalama olarak yarım saat içinde MQL5'e yeniden yazılır. Bir fincan kahve ile.