mql4 referansından bir örneğe dayanarak kendime bir danışman yapmaya karar verdim. Ama uv. her zaman bazı hatalar veriyor, bir haftadır onun için endişeleniyorum, hiçbir şey çıkmıyor.
Bak, bana neyin yanlış olduğunu söyle, parantezlere ek olarak bir şeyler çıkarılabilir veya değiştirilebilir.
Hatalar:
'}' - beklenmeyen program sonuuzman.mq42183
'{' - dengesiz parantezleruzman.mq4232
bu yüzden hatalarda yazılanları çevirmeye çalışın. bence bu, hatanın nedenini bulmanın en kolay yolu
bu başlangıçta ne yapar?
#property indicator_level1 20// Задаём верхний уровень #property indicator_level2 80// Задаём нижний уровень
bool Ans = false , // Ответ сервера после закрытияbool Cls_B= false ,
Neden sonunda noktalı virgül değil de virgül var? neden aynı şeyi iki kez yazıyorsun?
şöyle bir virgül koyun:
bool Ans = false , // Ответ сервера после закрытия
Cls_B= false , // Критерий для закрытия Buy
Cls_S= false , // Критерий для закрытия Sell
Opn_B= false , // Критерий для открытия Buy
Opn_S= false;// Критерий для открытия Sell
ne:
[ 1 ] Close
Daha fazla bakmadım, yoruldum,
genel olarak - hataları suçlayacak bir şey yok. sizin dikkatsizliğinizden ortaya çıkıyorlar. Yardımı tekrar okumanız ve videoyu izlemeniz ve bu dilde nasıl programlanacağına dair makaleyi okumanız gerekir.
Hataları düzelttim... ancak test ederken " Özel göstergeler test edilemiyor" diyor.
İlk başta belirtilen gösterge arabelleğinden şüphe ettim, ancak her ikisini de sırayla belirterek hata tam olarak kaybolmadı. Yine bir yeri mi karıştırdın?
Programlama gurusu yardım). Danışmanı test ettim ve kampanyayı bitirdim, ) danışman test cihazını açtığımda ve botum çalışmaya başlar başlamaz, test cihazı donuyor ve her şey çok uzun bir süre hareketsiz kalıyor, test cihazını yavaşlatan kodda ne olabilir?
miha91 : Programlama gurusu yardım). Danışmanı test ettim ve kampanyayı bitirdim, ) danışman test cihazını açtığımda ve botum çalışmaya başlar başlamaz, test cihazı donuyor ve her şey çok uzun bir süre hareketsiz kalıyor, test cihazını yavaşlatan kodda ne olabilir?
Ben de banyo hışırtı altında bir şey var! Ne olabilirdi?
Değiştirdikten sonra hatta bir nokta belirlemeye çalışıyorum, her periyotta iyi çalışıyor ama 1 ve 4 saatte periyodik olarak 100-200 puanlık bir hata var, bununla nasıl başa çıkılır?
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit ()
{
//---
SetTLine(Red, "LineAlert" , Time [ 15 ], High [ 15 ], 0 , High [ 0 ]+ 15 * Point , 0 , 0 , 1 );
//---return ( INIT_SUCCEEDED );
}
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 12.10.2007 |//| Описание : Уравнение прямой. |//| Вычисляет значение Y для X в точке пересечения с прямой. |//+----------------------------------------------------------------------------+//| Параметры: |//| x1,y1 - координаты первой точки, |//| x2,y2 - координаты второй точки, |//| x - значение, для которого вычислить Y |//+----------------------------------------------------------------------------+double EquationDirect( double x1, double y1, double x2, double y2, double x)
{
double tk;
if (x2==x1) return (y1);
tk=(y2-y1)/(x2-x1)*(x-x1)+y1;
return ( NormalizeDouble (tk, Digits ));
}
//+----------------------------------------------------------------------------+//| Версия : 12.10.2007 |//| Описание : Установка объекта OBJ_TREND трендовая линия |//+----------------------------------------------------------------------------+//| Параметры: |//| cl - цвет линии |//| nm - наименование ( "" - время открытия текущего бара) |//| t1 - время открытия бара ( 0 - Time[10] |//| p1 - ценовой уровень ( 0 - Low[10]) |//| t2 - время открытия бара ( 0 - текущий бар) |//| p2 - ценовой уровень ( 0 - Bid) |//| ry - луч (False - по умолчанию) |//| st - стиль линии ( 0 - простая линия) |//| wd - ширина линии ( 1 - по умолчанию) |//+----------------------------------------------------------------------------+void SetTLine( color cl, string nm= "" ,
datetime t1= 0 , double p1= 0 , datetime t2= 0 , double p2= 0 ,
bool ry= False , int st= 0 , int wd= 1 )
{
if (nm== "" ) nm= DoubleToStr ( Time [ 0 ], 0 );
if (t1<= 0 ) t1= Time [ 10 ];
if (p1<= 0 ) p1= Low [ 10 ];
if (t2<= 0 ) t2= Time [ 0 ];
if (p2<= 0 ) p2= Bid ;
if ( ObjectFind (nm)< 0 ) ObjectCreate (nm, OBJ_TREND , 0 , 0 , 0 , 0 , 0 );
ObjectSet (nm, OBJPROP_TIME1 ,t1);
ObjectSet (nm, OBJPROP_PRICE1 ,p1);
ObjectSet (nm, OBJPROP_TIME2 ,t2);
ObjectSet (nm, OBJPROP_PRICE2 ,p2);
ObjectSet (nm, OBJPROP_COLOR ,cl);
ObjectSet (nm, OBJPROP_RAY ,ry);
ObjectSet (nm, OBJPROP_STYLE ,st);
ObjectSet (nm, OBJPROP_WIDTH ,wd);
}
//+----------------------------------------------------------------------------+//| Параметры: |//| cd - код значка |//| cl - цвет значка |//| nm - наименование ("" - время открытия текущего бара) |//| t1 - время открытия бара (0 - текущий бар) |//| p1 - ценовой уровень (0 - Bid) |//| sz - размер значка (0 - по умолчанию) |//+----------------------------------------------------------------------------+void SetArrow( int cd, color cl,
string nm= "" , datetime t1= 0 , double p1= 0 , int sz= 0 )
{
if (nm== "" ) nm= DoubleToStr ( Time [ 0 ], 0 );
if (t1<= 0 ) t1= Time [ 0 ];
if (p1<= 0 ) p1= Bid ;
if ( ObjectFind (nm)< 0 ) ObjectCreate (nm, OBJ_ARROW , 0 , 0 , 0 );
ObjectSet (nm, OBJPROP_TIME1 ,t1);
ObjectSet (nm, OBJPROP_PRICE1 ,p1);
ObjectSet (nm, OBJPROP_ARROWCODE ,cd);
ObjectSet (nm, OBJPROP_COLOR ,cl);
ObjectSet (nm, OBJPROP_WIDTH ,sz);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit ( constint reason)
{
//---
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick ()
{
int d= 0 ;
int X_1,X_2,X3d;
double Y_1,Y_2,Y3d;
staticint _time_waiting= 0 ;
staticint i;
//---
X_1= ObjectGet ( "LineAlert" , OBJPROP_TIME1 );
X_2 = ObjectGet ( "LineAlert" , OBJPROP_TIME2 );
Y_1 = ObjectGet ( "LineAlert" , OBJPROP_PRICE1 );
Y_2 = ObjectGet ( "LineAlert" , OBJPROP_PRICE2 );
SetArrow( 6 ,Orange, "X1" ,X_1,Y_1, 3 );
SetArrow( 6 ,Orange, "X2" ,X_2,Y_2, 3 );
X3d= Time [ 0 ];Y3d=EquationDirect(X_1,Y_1,X_2,Y_2,X3d);
SetArrow( 6 ,Orange, "X" ,X3d,Y3d, 3 );
}
//+------------------------------------------------------------------+
Değiştirdikten sonra hatta bir nokta belirlemeye çalışıyorum, her periyotta iyi çalışıyor ama 1 ve 4 saatte periyodik olarak 100-200 puanlık bir hata var, bununla nasıl başa çıkılır?
Ve dene
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit ()
{
//---
SetTLine(Red, "LineAlert" , Time [ 15 ], High [ 15 ], 0 , High [ 0 ]+ 15 * Point , 0 , 0 , 1 );
//---return ( INIT_SUCCEEDED );
}
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 12.10.2007 |//| Описание : Уравнение прямой. |//| Вычисляет значение Y для X в точке пересечения с прямой. |//+----------------------------------------------------------------------------+//| Параметры: |//| x1,y1 - координаты первой точки, |//| x2,y2 - координаты второй точки, |//| x - значение, для которого вычислить Y |//+----------------------------------------------------------------------------+double EquationDirect( double x1, double y1, double x2, double y2, double x)
{
double tk;
if (x2==x1) return (y1);
tk=(y2-y1)/(x2-x1)*(x-x1)+y1;
return ( NormalizeDouble (tk, Digits ));
}
//+----------------------------------------------------------------------------+//| Версия : 12.10.2007 |//| Описание : Установка объекта OBJ_TREND трендовая линия |//+----------------------------------------------------------------------------+//| Параметры: |//| cl - цвет линии |//| nm - наименование ( "" - время открытия текущего бара) |//| t1 - время открытия бара ( 0 - Time[10] |//| p1 - ценовой уровень ( 0 - Low[10]) |//| t2 - время открытия бара ( 0 - текущий бар) |//| p2 - ценовой уровень ( 0 - Bid) |//| ry - луч (False - по умолчанию) |//| st - стиль линии ( 0 - простая линия) |//| wd - ширина линии ( 1 - по умолчанию) |//+----------------------------------------------------------------------------+void SetTLine( color cl, string nm= "" ,
datetime t1= 0 , double p1= 0 , datetime t2= 0 , double p2= 0 ,
bool ry= False , int st= 0 , int wd= 1 )
{
if (nm== "" ) nm= DoubleToStr ( Time [ 0 ], 0 );
if (t1<= 0 ) t1= Time [ 10 ];
if (p1<= 0 ) p1= Low [ 10 ];
if (t2<= 0 ) t2= Time [ 0 ];
if (p2<= 0 ) p2= Bid ;
if ( ObjectFind (nm)< 0 ) ObjectCreate (nm, OBJ_TREND , 0 , 0 , 0 , 0 , 0 );
ObjectSet (nm, OBJPROP_TIME1 ,t1);
ObjectSet (nm, OBJPROP_PRICE1 ,p1);
ObjectSet (nm, OBJPROP_TIME2 ,t2);
ObjectSet (nm, OBJPROP_PRICE2 ,p2);
ObjectSet (nm, OBJPROP_COLOR ,cl);
ObjectSet (nm, OBJPROP_RAY ,ry);
ObjectSet (nm, OBJPROP_STYLE ,st);
ObjectSet (nm, OBJPROP_WIDTH ,wd);
}
//+----------------------------------------------------------------------------+//| Параметры: |//| cd - код значка |//| cl - цвет значка |//| nm - наименование ("" - время открытия текущего бара) |//| t1 - время открытия бара (0 - текущий бар) |//| p1 - ценовой уровень (0 - Bid) |//| sz - размер значка (0 - по умолчанию) |//+----------------------------------------------------------------------------+void SetArrow( int cd, color cl,
string nm= "" , datetime t1= 0 , double p1= 0 , int sz= 0 )
{
if (nm== "" ) nm= DoubleToStr ( Time [ 0 ], 0 );
if (t1<= 0 ) t1= Time [ 0 ];
if (p1<= 0 ) p1= Bid ;
if ( ObjectFind (nm)< 0 ) ObjectCreate (nm, OBJ_ARROW , 0 , 0 , 0 );
ObjectSet (nm, OBJPROP_TIME1 ,t1);
ObjectSet (nm, OBJPROP_PRICE1 ,p1);
ObjectSet (nm, OBJPROP_ARROWCODE ,cd);
ObjectSet (nm, OBJPROP_COLOR ,cl);
ObjectSet (nm, OBJPROP_WIDTH ,sz);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit ( constint reason)
{
//---
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick ()
{
int d= 0 ;
int X_1,X_2,X3d;
double Y_1,Y_2,Y3d;
staticint _time_waiting= 0 ;
staticint i;
//---
X_1= ObjectGet ( "LineAlert" , OBJPROP_TIME1 );
X_2 = ObjectGet ( "LineAlert" , OBJPROP_TIME2 );
Y_1 = ObjectGet ( "LineAlert" , OBJPROP_PRICE1 );
Y_2 = ObjectGet ( "LineAlert" , OBJPROP_PRICE2 );
SetArrow( 6 ,Orange, "X1" ,X_1,Y_1, 3 );
SetArrow( 6 ,Orange, "X2" ,X_2,Y_2, 3 );
X3d= Time [ 0 ];Y3d= ObjectGetValueByShift ( "LineAlert" , 0 );
SetArrow( 6 ,Orange, "X" ,X3d,Y3d, 3 );
}
//+------------------------------------------------------------------+
Bilgili insanlar için bir soru, son zamanlarda bir sorun ortaya çıktı: postaya gelen sinyal VPS'ye gelmiyordu , daha önce her şey yolundaydı, şimdi test sırasında terminal günlüğüne yazıyor: santlandı, ancak sabuna hiçbir şey gelmiyor. VPS yeniden başlatıldı, terminal de sonuç vermedi.Burada sorun ne olabilir?
Hatalarla ilgili yardım!
mql4 referansından bir örneğe dayanarak kendime bir danışman yapmaya karar verdim. Ama uv. her zaman bazı hatalar veriyor, bir haftadır onun için endişeleniyorum, hiçbir şey çıkmıyor.
Bak, bana neyin yanlış olduğunu söyle, parantezlere ek olarak bir şeyler çıkarılabilir veya değiştirilebilir.
Hatalar:
'}' - beklenmeyen program sonu uzman.mq4 218 3
'{' - dengesiz parantezler uzman.mq4 23 2
bu yüzden hatalarda yazılanları çevirmeye çalışın. bence bu, hatanın nedenini bulmanın en kolay yolu
bu başlangıçta ne yapar?
bir uzmanın var, hindi değil.
tür neden ayarlanmadı?
kapanış parantez nerede?
Ve bu haber nedir?
örnekte nerede yazıldığını göster?
Neden sonunda noktalı virgül değil de virgül var? neden aynı şeyi iki kez yazıyorsun?
şöyle bir virgül koyun:
ne:
Daha fazla bakmadım, yoruldum,
genel olarak - hataları suçlayacak bir şey yok. sizin dikkatsizliğinizden ortaya çıkıyorlar. Yardımı tekrar okumanız ve videoyu izlemeniz ve bu dilde nasıl programlanacağına dair makaleyi okumanız gerekir.
Hataları düzelttim... ancak test ederken " Özel göstergeler test edilemiyor" diyor.
İlk başta belirtilen gösterge arabelleğinden şüphe ettim, ancak her ikisini de sırayla belirterek hata tam olarak kaybolmadı. Yine bir yeri mi karıştırdın?
Programlama gurusu yardım). Danışmanı test ettim ve kampanyayı bitirdim, ) danışman test cihazını açtığımda ve botum çalışmaya başlar başlamaz, test cihazı donuyor ve her şey çok uzun bir süre hareketsiz kalıyor, test cihazını yavaşlatan kodda ne olabilir?
Değiştirdikten sonra hatta bir nokta belirlemeye çalışıyorum, her periyotta iyi çalışıyor ama 1 ve 4 saatte periyodik olarak 100-200 puanlık bir hata var, bununla nasıl başa çıkılır?
Değiştirdikten sonra hatta bir nokta belirlemeye çalışıyorum, her periyotta iyi çalışıyor ama 1 ve 4 saatte periyodik olarak 100-200 puanlık bir hata var, bununla nasıl başa çıkılır?
Ve dene
dene, denemedim.
Sen de yapabilirsin
Modern dil
Sen de yapabilirsin
Modern dil
Çalışıyor gibi görünüyor, hala izliyorum.
Teşekkür ederim!