omissamf : Bu kodu değiştirmek istiyorum
Merhaba WHRoeder, cevap için teşekkürler. Davranışım için özür dilerim ama niyetim kimseyi kırmak ve saygısızlık etmek değildi. Bunu başarmak için bütün gün kodu değiştirmeye çalıştım ama başarılı olamadım. MQL4 çalışmasının başlangıcıdır. Yöneticilerden tekrar özür dilerim. Selamlar, Massimo
Merhaba WHRoeder, denedim ama çalışmıyor!!! Her yolu denedim ama nerede yanıldığımı anlamadım!!
Her neyse, her şey için teşekkürler Massimo.
Kodunuzda bir uyarı göremiyorum
Merhaba GunRai , sana tam kodu gönderiyorum , açıklayacağım . Candel açılışının koşullarının onaylanmasını geciktiremedim ( şimdi yaptığı gibi ) , ancak 3 saniye sonra WHRoeder'ın önerisi bile . nerede hata yaptığımı anlayamıyorum !!!
Teşekkürler , Maks .
//+------------------------------------------------------------------+ //| RSI 70-30.mq4 | //| Massimo | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Massimo" #property link "https://www.mql5.com" #property version "1.00" #include <stdlib.mqh> #include <stderror.mqh> //--- indicator settings #property indicator_chart_window #property indicator_buffers 2 #property indicator_type1 DRAW_ARROW #property indicator_width1 1 #property indicator_color1 0xFFAA00 #property indicator_label1 "Buy" #property indicator_type2 DRAW_ARROW #property indicator_width2 1 #property indicator_color2 0x0000FF #property indicator_label2 "Sell" static datetime BarStart= 0 ; //--- indicator buffers double Buffer1[]; double Buffer2[]; datetime time_alert; //used when sending alert extern bool Audible_Alerts = true ; double myPoint; //initialized in OnInit void myAlert( string type, string message) { if (type == "print" ) Print (message); else if (type == "error" ) { Print (type+ " | RSI 30-70 @ " + Symbol ()+ "," + Period ()+ " | " +message); } else if (type == "order" ) { } else if (type == "modify" ) { } else if (type == "indicator" ) { if (Audible_Alerts) Alert (type+ " | RSI 30-70 @ " + Symbol ()+ "," + Period ()+ " | " +message); } } //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit () { IndicatorBuffers( 2 ); SetIndexBuffer ( 0 , Buffer1); SetIndexEmptyValue( 0 , 0 ); SetIndexArrow( 0 , 241 ); SetIndexBuffer ( 1 , Buffer2); SetIndexEmptyValue( 1 , 0 ); SetIndexArrow( 1 , 242 ); //initialize myPoint myPoint = Point (); if ( Digits () == 5 || Digits () == 3 ) { myPoint *= 10 ; } return ( INIT_SUCCEEDED ); } //_____________________________________________ //_____________________________________________ int start(){ if (BarStart !=Time[ 0 ]) { BarStart = Time[ 0 ]; Sleep ( 3000 ); RefreshRates(); //this code don't work // //Indicator Buffer 1 if ( iRSI ( NULL , PERIOD_CURRENT , 2 , PRICE_CLOSE , 0 ) < 30 ) { Buffer1[ 0 ] = Low[ 0 ] - iATR ( NULL , PERIOD_CURRENT , 14 , 0 ); //Set indicator value at Candlestick Low - Average True Range if ( 0 == 0 && Time[ 0 ] != time_alert) { myAlert( "indicator" , "Buy" ); time_alert = Time[ 0 ]; } //Instant alert, only once per bar } else { Buffer1[ 0 ] = 0 ; } //Indicator Buffer 2 if ( iRSI ( NULL , PERIOD_CURRENT , 2 , PRICE_CLOSE , 0 ) > 70 ) { Buffer2[ 0 ] = High[ 0 ] + iATR ( NULL , PERIOD_CURRENT , 14 , 0 ); //Set indicator value at Candlestick High + Average True Range if ( 0 == 0 && Time[ 0 ] != time_alert) { myAlert( "indicator" , "Sell" ); time_alert = Time[ 0 ]; } //Instant alert, only once per bar } else { Buffer2[ 0 ] = 0 ; } } return ( 0 ); } //+------------------------------------------------------------------+
Haklısın; bir gösterge çalıştırıyorsunuz. | int start(){ if (BarStart !=Time[ 0 ]) { BarStart = Time[ 0 ]; Sleep ( 3000 ); RefreshRates(); //this code don't work |
Bunu dene | #define MAX_DATETIME D'3000.12.31 23:59:59' // 32,535,215,999 #define MIN_DATETIME D'1970.01.01 00:00:00' // Zero. int start(){ static datetime alertTime = MAX_DATETIME; if ( TimeCurrent () > alertTime){ alertTime = MAX_DATETIME; Alert (...); } if (BarStart !=Time[ 0 ]) { BarStart = Time[ 0 ]; : if (condition) alertTime = TimeCurrent () + 3 ; // Delay |
WHRoeder :
Teşekkürler , şimdi bana gönderdiğiniz kodu inceliyorum ve sonra size haber veriyorum .Haklısın; bir gösterge çalıştırıyorsunuz. | |
Bunu dene |
Şimdilik sonsuz teşekkürler Massimo . _
WHRoeder :
WHRoeder Merhaba , talimatlarınızla kodu değiştirmeye çalıştım . Çeşitli yollar denedim ve gönderdiğiniz şey bu , hata yok , ancak yaklaşık beş saniyelik gecikme sadece sull'alert sesi var , oklar tam olarak mumun açılışını göstermeye devam ederken .Haklısın; bir gösterge çalıştırıyorsunuz. | |
sen |
Merhaba ve teşekkür ederim , Massimo .
#define MAX_DATETIME D'3000.12.31 23:59:59' // 32,535,215,999 #define MIN_DATETIME D'1970.01.01 00:00:00' // Zero. int start(){ static datetime alertTime = MAX_DATETIME; if ( TimeCurrent () > alertTime) { alertTime = MAX_DATETIME; Alert (“ ATTENTION!!!!); } if (BarStart !=Time[ 0 ]) { BarStart = Time[ 0 ]; // //Indicator Buffer 1 if ( iRSI ( NULL , PERIOD_CURRENT , 2 , PRICE_CLOSE , 0 ) < 30 ) { alertTime = TimeCurrent () + 3 ; Buffer1[ 0 ] = Low[ 0 ] - iATR ( NULL , PERIOD_CURRENT , 14 , 0 ); } else { Buffer1[ 0 ] = 0 ; } //Indicator Buffer 2 if ( iRSI ( NULL , PERIOD_CURRENT , 2 , PRICE_CLOSE , 0 ) > 70 ) { alertTime = TimeCurrent () + 3 ; Buffer2[ 0 ] = High[ 0 ] + iATR ( NULL , PERIOD_CURRENT , 14 , 0 ); } else { Buffer2[ 0 ] = 0 ; } } return ( 0 ); } //+------------------------------------------------------------------+
omissamf : sadece sull'alert sesi var ,
- Ne demek istediğin hakkında hiçbir fikrim yok.
Alert ( “ ATTENTION!!!!); }
Derleyen kodu deneyin/gönderin.
WHRoeder :
DİKKAT EDİYORUM !!! çünkü sesli / görsel uyarıda görünen o , ama sizin yardımınızla Ok'un başlamasını birkaç saniye geciktirmeye çalışıyorum . Bu durumda. Dikkat !!! 5 saniye sonra görünecek , Oklar göründüğünde sadece mumu açın .- Ne demek istediğin hakkında hiçbir fikrim yok.
- Derleyen kodu deneyin/gönderin.
Her şey için teşekkürler Massimo .
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
Bu kodu , uyarının mumun açılışında görünmek yerine birkaç saniye sonra koşulları algılaması için değiştirmek istiyorum .
Her şey için teşekkürler Massimo .