borilunad : Öyleyse kendin için kaz! Size bir kod fonksiyonun her kelimesini ve değişkenleri yönetmek için gereklidir. Sabit kodun geldiği yer burasıdır. İşlevler, onlarsız yapamayacağınız zaman kullanılmalıdır! Kim'de ihtiyacım olmayan her şeyi yorumladım ve her şey çok hızlı çalışıyor! Unutma, herkese programı birçok koşulda nasıl daha hızlı çalıştıracağımı sordum. Şimdi tüm kenelerde bir yıl boyunca 5 dakikada test yapılıyor! Tüm koşulları ve işlevleri taradım, gereksiz her şeyi attım.
Tabiki hatırlıyorum. kazacağım. Aslında, alışkanlıklarımı değiştirmem gerekiyor. Kodumun anlaşılmasının kolay olmadığını söyleyen ilk programcı değil. Görünüşe göre öyle...
borilunad : Öyleyse kendin için kaz! Her kod kelimesine bir işleve sahipsiniz, ancak değişkenlerle idare etmeniz gerekiyor . Sabit kodun geldiği yer burasıdır. İşlevler, onlarsız yapamayacağınız durumlarda kullanılmalıdır ! Kim'de ihtiyacım olmayan her şeyi yorumladım ve her şey çok hızlı çalışıyor! Unutma, herkese programı birçok koşulda nasıl daha hızlı çalıştıracağımı sordum. Şimdi tüm kenelerde bir yıl boyunca 5 dakikada test yapılıyor! Tüm koşulları ve işlevleri taradım, gereksiz her şeyi attım.
Değişkenlerden yalnızca, test cihazındaki stratejiyi kontrol edersek vazgeçilebilir .
Gerçekte, mantığı yürütmek için gerekli her bir değer, doğru zamanda hesaplanmalıdır, çünkü bu değişkenlerin değerleri, örneğin yeniden başlatırken, kaybetmek çok kolaydır .
Hindilerin yazısını çoktan anladım ama ilk robotla ilgili sorunlar vardı. Görünüşe göre her şey mantıklı, derleyici yemin etmiyor, logda herhangi bir hata yok, ancak test cihazındaki Expert Advisor çalışmıyor - grafik açılıyor, ancak bu grafikte herhangi bir hareket yok (bu grafik hareket etmez).
Fikir şu şekildedir: Gösterge, satın almanız veya satmanız gereken puanları (her zaman bir mumun açılışında ve bir mumun açılış fiyatında) verirken, robotun görevi, satın almak için böyle bir puan almış veya sat, karşı emri kapat, yeni bir tane aç veya eski emri aynı yönde değiştir (duraklar ve TP'ler başka bir göstergeye göre verilir)
Neyin yanlış olduğuna dair bir ipucu için çok minnettar olurum.
Kodun kendisi (hindilerin adlarını işlevlerine göre değiştirdi, değişkenleri bildirme ve hata işleme bölümünü kaldırdı):
// Предварит.обработкаif (High[ 0 ]!=Low[ 0 ]) return ; //если бар открылся до поступления текущей котировки, выход из start
vverh = iCustom ( NULL , 0 , "Индикатор дающий точку на покупку" ,Glubina,Pogreshnost, 0 , 0 ); //значение индикатора на покупку
vniz = iCustom ( NULL , 0 , "Индикатор дающий точку на продажу" ,Glubina,Pogreshnost, 1 , 0 ); //значение индикатора на продажуif (vverh== 0 && vniz== 0 )
{
Alert ( "Сигнала нет. Эксперт ждёт сигнал." );
return ;
}
if ( Bars < Glubina) // Недостаточно баров
{
Alert ( "Недостаточно баров в окне. Эксперт не работает." );
return ; // Выход из start()
}
if (Work== false ) // Критическая ошибка
{
Alert ( "Критическая ошибка. Эксперт не работает." );
return ; // Выход из start()
}
//--------------------------------------------------------------- 4 --// Учёт ордеров
Symb= Symbol (); // Название фин.инстр.
Total= 0 ; // Количество ордеровfor (i= 1 ; i<= OrdersTotal (); i++) // Цикл перебора ордеров
{
if ( OrderSelect (i- 1 ,SELECT_BY_POS)== true ) // Если есть следующий
{ // Анализ ордеров:if (OrderSymbol()!=Symb) continue ; // Не наш фин. инструмif (OrderMagicNumber()!=MagicNumber) // Попался ордер открытый не советникомcontinue ;
Total++; // Счётчик ордеров открытых советникомif (Total> 1 ) // Не более одного орд
{
Alert ( "Несколько ордеров одного советника. Эксперт не работает." );
return ; // Выход из start()
}
Ticket=OrderTicket(); // Номер выбранн. орд.
Tip =OrderType(); // Тип выбранного орд.
Price =OrderOpenPrice(); // Цена выбранн. орд.
SL =OrderStopLoss(); // SL выбранного орд.
TP =OrderTakeProfit(); // TP выбранного орд.
Lot =OrderLots(); // Количество лотов
}
}
//--------------------------------------------------------------- 5 --// торговые критерииif (vverh> 0 )
{
Opn_B= true ;
Cls_S= true ;
Opn_S= false ;
Cls_B= false ;
}
if (vverh> 0 )
{
Opn_S= true ;
Cls_B= true ;
Opn_B= false ;
Cls_S= false ;
}
//--------------------------------------------------------------- 6 --//расчет стопов
i_stop= 0 ;
while (stopov_for_S< 2 ) //ищем 2 последних точки стопа в индикаторе, выбираем изз них самую дальнюю от текущей цены
{
for_S = iCustom ( NULL , 0 , "Индюк дающий точки стопов" ,Glubina, 0 ,i_stop);
if (for_S> 0 )
{
stopov_for_S++;
if (Stop_for_S<for_S) Stop_for_S=for_S;
}
i_stop++;
}
i_stop= 0 ;
while (stopov_for_B< 2 )
{
for_B = iCustom ( NULL , 0 , "Индюк дающий точки стопов" ,Glubina, 1 ,i_stop);
if (for_B> 0 )
{
stopov_for_B++;
if (Stop_for_B<for_B) Stop_for_B=for_B;
}
i_stop++;
}
SL_for_B = Stop_for_B-pogreshnostSL;
SL_for_S = Stop_for_S+pogreshnostSL;
TP_for_B=vverh+(vverh-Stop_for_B)*koeff_dvizheniya;
TP_for_S=vniz-(Stop_for_S-vniz)*koeff_dvizheniya;
// Закрытие и модификация ордеровwhile ( true ) // Цикл закрытия и модификации орд.
{
if (Tip== 0 && Opn_B== true ) // Если открыт ордер БАЙ и индикатор дает сигнал на покупку
{
OrderModify(Ticket,SL_for_B,TP_for_B, 0 , CLR_NONE ); //меняем стопы текущего ордера байbreak ;
}
if (Tip== 0 && Opn_S== true ) // Если открыт ордер БАЙ и индикатор дает сигнал на продажу
{
RefreshRates();
Ans=OrderClose(Ticket,Lot,Bid, 50 ); // закрываем БАЙif (Ans== true ) // Получилось :)
{
Alert ( "Закрыт ордер Buy " ,Ticket);
break ; // Выход из цикла закр
}
if (Fun_Error( GetLastError ())== 1 ) // Обработка ошибокcontinue ; // Повторная попытка
}
if (Tip== 1 && Opn_S== true )
{
OrderModify(Ticket,SL_for_S,TP_for_S, 0 , CLR_NONE );
break ;
}
if (Tip== 1 && Opn_B== true )
{
RefreshRates();
Ans=OrderClose(Ticket,Lot,Ask, 50 );
if (Ans== true ) // Получилось :)
{
Alert ( "Закрыт ордер Sell " ,Ticket);
break ; // Выход из цикла закр
}
if (Fun_Error( GetLastError ())== 1 ) // Обработка ошибокcontinue ; // Повторная попытка
}
}
//--------------------------------------------------------------- 7 --// Стоимость ордеров
RefreshRates(); // Обновление данных
Min_Lot=MarketInfo(Symb,MODE_MINLOT); // Миним. колич. лотов
Free =AccountFreeMargin(); // Свободн средства
One_Lot=MarketInfo(Symb,MODE_MARGINREQUIRED); // Стоимость 1 лота
Step =MarketInfo(Symb,MODE_LOTSTEP); // Шаг изменен размераif (Lots > 0 ) // Если заданы лоты,то
Lts =Lots; // с ними и работаем else// % свободных средств
Lts= MathFloor (Free*Prots/One_Lot/Step )*Step; // Для открытияif (Lts < Min_Lot) Lts=Min_Lot; // Не меньше минимальнif (Lts*One_Lot > Free) // Лот дороже свободн.
{
Alert ( " Не хватает денег на " , Lts, " лотов" );
return ; // Выход из start()
}
//--------------------------------------------------------------- 8 --// Открытие ордеровwhile ( true ) // Цикл закрытия орд.
{
Ticket= 0 ;
if (Opn_B== true ) // Открытых орд. нет +
{ // критерий откр. Buy
RefreshRates(); // Обновление данныхAlert ( "Попытка открыть Buy. Ожидание ответа.." );
Ticket= OrderSend (Symb,OP_BUY,Lts,Ask, 50 ,SL_for_B,TP_for_B, "My order #" ,MagicNumber, 0 , CLR_NONE ); //Открытие Buyif (Ticket > 0 ) // Получилось :)
{
Alert ( "Открыт ордер Buy " ,Ticket);
return ; // Выход из start()
}
if (Fun_Error( GetLastError ())== 1 ) // Обработка ошибокcontinue ; // Повторная попыткаreturn ; // Выход из start()
}
if (Opn_S== true ) // Открытых орд. нет +
{ // критерий откр. Buy
RefreshRates(); // Обновление данныхAlert ( "Попытка открыть Sell. Ожидание ответа.." );
Ticket= OrderSend (Symb,OP_SELL,Lts,Bid, 50 ,SL_for_S,TP_for_S, "My order #" ,MagicNumber, 0 , CLR_NONE ); //Открытие Sellif (Ticket > 0 ) // Получилось :)
{
Alert ( "Открыт ордер Buy " ,Ticket);
return ; // Выход из start()
}
if (Fun_Error( GetLastError ())== 1 ) // Обработка ошибокcontinue ; // Повторная попыткаreturn ; // Выход из start()
}
}
//--------------------------------------------------------------- 9 --return ; // Выход из start()
}
If (торговые условия сигнал № 1 )
{
} // Какой код нужен, чтобы тело оператора №1 в случае соответствия, передало управление к оператору «торговых условий №2»
If (торговые условия сигнал № 2 )
{
} // Какой код нужен, чтобы тело оператора №2 в случае соответствия, передало управление к оператору «торговых условий №3 и №4»
If (торговые условия сигнал № 3 )
{
Opn_B= true ;
}
else
If (торговые условия сигнал № 4 )
{
Opn_S= true ;
}
elsereturn ( 0 );
Sorunun özü şudur: 1,2 No'lu operatörlerin gövdelerinin kaşlı ayraçlarına ne koyulacağı net değildir, aslında orada ticaret koşullarına uygunluğu kontrol edilir ve daha fazla işlem yapılmaz.
(Dört ticaret sinyali vardır, 1 No'lu tetikleyiciler, kontrolü 2 No'lu sinyal işlemeye, 2 No'lu tetikleyicilere aktarırız, kontrolü 3 ve 4 numaralı sinyal işlemeye aktarırız ve zaten orada ticaret işlemlerini gerçekleştiririz.)
elsereturn ( 0 );
Sonuna eklemeli miyim? Mantıksal olarak, eğer 3,4 No'lu sinyaller çalışmazsa, danışmanın yeniden başlamasına ihtiyacım var.
Değişkenlerden yalnızca, test cihazındaki stratejiyi kontrol edersek vazgeçilebilir .
Gerçekte, mantığı yürütmek için gerekli her bir değer, doğru zamanda hesaplanmalıdır, çünkü bu değişkenlerin değerleri, örneğin yeniden başlatırken, kaybetmek çok kolaydır .
Ancak harici olarak yazılan değişkenler kayboluyor mu? Bu hiç olmadı! Ama başlangıçta () tüm koşullar gözlerimin önünde ve el altında ve start () dışındaki işlevleri kontroller ve son değişmez eylemlerle emanet ediyorum! Genel olarak yanılıyor olabilirim, ancak şu ana kadar benim için uygun ve Real Madrid'de henüz tek bir hata veya alıntı almadım! Gönderilerinizi, Artyom'u ve alsu, Meat ve diğerleri gibi diğer deneyimli programcıların yanı sıra uv'yi her zaman dikkatle okurum. moderatörler! Ancak her şey hala yeteneklerim dahilinde değil, bu yüzden benim için hala belirsiz olanı en küçük ayrıntıya kadar uygulayamıyorum. Her şey için teşekkürler!
Hindilerin yazısını çoktan anladım ama ilk robotla ilgili sorunlar vardı. Görünüşe göre her şey mantıklı, derleyici yemin etmiyor, logda herhangi bir hata yok, ancak test cihazındaki Expert Advisor çalışmıyor - grafik açılıyor, ancak bu grafikte herhangi bir hareket yok (bu grafik hareket etmez).
Fikir şu şekildedir: Gösterge, satın almanız veya satmanız gereken puanları (her zaman bir mumun açılışında ve bir mumun açılış fiyatında) verirken, robotun görevi, satın almak için böyle bir puan almış veya sat, karşı emri kapat, yeni bir tane aç veya eski emri aynı yönde değiştir (duraklar ve TP'ler başka bir göstergeye göre verilir)
Neyin yanlış olduğuna dair bir ipucu için çok minnettar olurum.
Kodun kendisi (hindilerin adlarını işlevlerine göre değiştirdi, değişkenleri bildirme ve hata işleme bölümünü kaldırdı):
Gösterge adlarını yalnızca EA'da değiştirdiyseniz ve grafiklerdeki ilgili pencerelerde görüntülenen gösterge kodlarının kendisinde de değişiklik yapmadıysanız, EA onlardan hiçbir şey almayacak ve hata vermeyecektir, çünkü her şey danışmanda sunulur, ancak göstergelerden sinyal almaz. Göstergelerin adlarının aynı şekilde yazılıp yazılmadığını kontrol edin!
borilunad : Gösterge adlarını yalnızca EA'da değiştirdiyseniz ve grafiklerdeki ilgili pencerelerde görüntülenen gösterge kodlarının kendisinde de değişiklik yapmadıysanız, EA onlardan hiçbir şey almayacak ve hata vermeyecektir, çünkü her şey danışmanda sunulur, ancak göstergelerden sinyal almaz. Göstergelerin adlarının aynı şekilde yazılıp yazılmadığını kontrol edin!
Tavsiyen için teşekkürler, her şeyi iki kez kontrol ettim, yazımda hata yok. Göstergelerin adlarını sadece forumdaki ilk mesajın metninde değiştirdim, görevlerini açıklığa kavuşturmak için, danışman metinlerinde hindilerin adları tam olarak "göstergelerde" isimleri yazıldığı gibi yazılmıştır. dosya. Örneğin: "3.0_figuri_2.3_rasshirenie".
Ayrıca kontrol için başka bir Expert Advisor (ders kitabından) seçtim ve var olmayan göstergelerin isimlerini iCustom fonksiyonuna girdim. Aşağıdakiler oldu - danışman ticareti gerçekten durdurdu (diğer açılardan anlaşılabilir), ancak test cihazı başlatıldığında, grafik belirtilen başlangıç tarihinden bitiş tarihine taşındı, size hatırlatmama izin verin, sorun şu ki grafik hareket etmiyor.
Tavsiyen için teşekkürler, her şeyi iki kez kontrol ettim, yazımda hata yok. Göstergelerin adlarını sadece forumdaki ilk mesajın metninde değiştirdim, görevlerini açıklığa kavuşturmak için, danışman metinlerinde hindilerin adları tam olarak "göstergelerde" isimleri yazıldığı gibi yazılmıştır. dosya. Örneğin: "3.0_figuri_2.3_rasshirenie".
Ayrıca kontrol için başka bir Expert Advisor (ders kitabından) seçtim ve var olmayan göstergelerin isimlerini iCustom fonksiyonuna girdim. Aşağıdakiler oldu - danışman ticareti gerçekten durdurdu (diğer açılardan anlaşılabilir), ancak test cihazı başlatıldığında, grafik belirtilen başlangıç tarihinden bitiş tarihine taşındı, size hatırlatmama izin verin, sorun şu ki grafik hareket etmiyor.
Belki başka biri bu sorunla karşılaşmıştır.
Göstergenin klasörde değil, kodunda nasıl adlandırıldığını kontrol edin: "kısa ad", çünkü buna göre, danışman hala ilgili çizelgeye ve TF'ye kuruluysa bunu tanır!
Tavsiyen için teşekkürler, her şeyi iki kez kontrol ettim, yazımda hata yok. Göstergelerin adlarını sadece forumdaki ilk mesajın metninde değiştirdim, görevlerini açıklığa kavuşturmak için, danışman metinlerinde hindilerin adları tam olarak "göstergelerde" isimleri yazıldığı gibi yazılmıştır. dosya. Örneğin: "3.0_figuri_2.3_rasshirenie".
Ayrıca kontrol için başka bir Expert Advisor (ders kitabından) seçtim ve var olmayan göstergelerin isimlerini iCustom fonksiyonuna girdim. Aşağıdakiler oldu - danışman ticareti gerçekten durdurdu (diğer açılardan anlaşılabilir), ancak test cihazı başlatıldığında, grafik belirtilen başlangıç tarihinden bitiş tarihine taşındı, size hatırlatmama izin verin, sorun şu ki grafik hareket etmiyor.
Belki başka biri böyle bir sorunla karşılaştı?
Ofislerde izin günü, bu yüzden program hareket etmiyor.
Öyleyse kendin için kaz! Size bir kod fonksiyonun her kelimesini ve değişkenleri yönetmek için gereklidir. Sabit kodun geldiği yer burasıdır. İşlevler, onlarsız yapamayacağınız zaman kullanılmalıdır! Kim'de ihtiyacım olmayan her şeyi yorumladım ve her şey çok hızlı çalışıyor! Unutma, herkese programı birçok koşulda nasıl daha hızlı çalıştıracağımı sordum. Şimdi tüm kenelerde bir yıl boyunca 5 dakikada test yapılıyor! Tüm koşulları ve işlevleri taradım, gereksiz her şeyi attım.
Tabiki hatırlıyorum. kazacağım. Aslında, alışkanlıklarımı değiştirmem gerekiyor. Kodumun anlaşılmasının kolay olmadığını söyleyen ilk programcı değil. Görünüşe göre öyle...
Öyleyse kendin için kaz! Her kod kelimesine bir işleve sahipsiniz, ancak değişkenlerle idare etmeniz gerekiyor . Sabit kodun geldiği yer burasıdır. İşlevler, onlarsız yapamayacağınız durumlarda kullanılmalıdır ! Kim'de ihtiyacım olmayan her şeyi yorumladım ve her şey çok hızlı çalışıyor! Unutma, herkese programı birçok koşulda nasıl daha hızlı çalıştıracağımı sordum. Şimdi tüm kenelerde bir yıl boyunca 5 dakikada test yapılıyor! Tüm koşulları ve işlevleri taradım, gereksiz her şeyi attım.
Değişkenlerden yalnızca, test cihazındaki stratejiyi kontrol edersek vazgeçilebilir .
Gerçekte, mantığı yürütmek için gerekli her bir değer, doğru zamanda hesaplanmalıdır, çünkü bu değişkenlerin değerleri, örneğin yeniden başlatırken, kaybetmek çok kolaydır .
Hepinize iyi günler.
Hindilerin yazısını çoktan anladım ama ilk robotla ilgili sorunlar vardı. Görünüşe göre her şey mantıklı, derleyici yemin etmiyor, logda herhangi bir hata yok, ancak test cihazındaki Expert Advisor çalışmıyor - grafik açılıyor, ancak bu grafikte herhangi bir hareket yok (bu grafik hareket etmez).
Fikir şu şekildedir: Gösterge, satın almanız veya satmanız gereken puanları (her zaman bir mumun açılışında ve bir mumun açılış fiyatında) verirken, robotun görevi, satın almak için böyle bir puan almış veya sat, karşı emri kapat, yeni bir tane aç veya eski emri aynı yönde değiştir (duraklar ve TP'ler başka bir göstergeye göre verilir)
Neyin yanlış olduğuna dair bir ipucu için çok minnettar olurum.
Kodun kendisi (hindilerin adlarını işlevlerine göre değiştirdi, değişkenleri bildirme ve hata işleme bölümünü kaldırdı):
Sorunun özü şudur: 1,2 No'lu operatörlerin gövdelerinin kaşlı ayraçlarına ne koyulacağı net değildir, aslında orada ticaret koşullarına uygunluğu kontrol edilir ve daha fazla işlem yapılmaz.
(Dört ticaret sinyali vardır, 1 No'lu tetikleyiciler, kontrolü 2 No'lu sinyal işlemeye, 2 No'lu tetikleyicilere aktarırız, kontrolü 3 ve 4 numaralı sinyal işlemeye aktarırız ve zaten orada ticaret işlemlerini gerçekleştiririz.)
Sonuna eklemeli miyim? Mantıksal olarak, eğer 3,4 No'lu sinyaller çalışmazsa, danışmanın yeniden başlamasına ihtiyacım var.
Değişkenlerden yalnızca, test cihazındaki stratejiyi kontrol edersek vazgeçilebilir .
Gerçekte, mantığı yürütmek için gerekli her bir değer, doğru zamanda hesaplanmalıdır, çünkü bu değişkenlerin değerleri, örneğin yeniden başlatırken, kaybetmek çok kolaydır .
Hepinize iyi günler.
Hindilerin yazısını çoktan anladım ama ilk robotla ilgili sorunlar vardı. Görünüşe göre her şey mantıklı, derleyici yemin etmiyor, logda herhangi bir hata yok, ancak test cihazındaki Expert Advisor çalışmıyor - grafik açılıyor, ancak bu grafikte herhangi bir hareket yok (bu grafik hareket etmez).
Fikir şu şekildedir: Gösterge, satın almanız veya satmanız gereken puanları (her zaman bir mumun açılışında ve bir mumun açılış fiyatında) verirken, robotun görevi, satın almak için böyle bir puan almış veya sat, karşı emri kapat, yeni bir tane aç veya eski emri aynı yönde değiştir (duraklar ve TP'ler başka bir göstergeye göre verilir)
Neyin yanlış olduğuna dair bir ipucu için çok minnettar olurum.
Kodun kendisi (hindilerin adlarını işlevlerine göre değiştirdi, değişkenleri bildirme ve hata işleme bölümünü kaldırdı):
Gösterge adlarını yalnızca EA'da değiştirdiyseniz ve grafiklerdeki ilgili pencerelerde görüntülenen gösterge kodlarının kendisinde de değişiklik yapmadıysanız, EA onlardan hiçbir şey almayacak ve hata vermeyecektir, çünkü her şey danışmanda sunulur, ancak göstergelerden sinyal almaz. Göstergelerin adlarının aynı şekilde yazılıp yazılmadığını kontrol edin!
Tavsiyen için teşekkürler, her şeyi iki kez kontrol ettim, yazımda hata yok. Göstergelerin adlarını sadece forumdaki ilk mesajın metninde değiştirdim, görevlerini açıklığa kavuşturmak için, danışman metinlerinde hindilerin adları tam olarak "göstergelerde" isimleri yazıldığı gibi yazılmıştır. dosya. Örneğin: "3.0_figuri_2.3_rasshirenie".
Ayrıca kontrol için başka bir Expert Advisor (ders kitabından) seçtim ve var olmayan göstergelerin isimlerini iCustom fonksiyonuna girdim. Aşağıdakiler oldu - danışman ticareti gerçekten durdurdu (diğer açılardan anlaşılabilir), ancak test cihazı başlatıldığında, grafik belirtilen başlangıç tarihinden bitiş tarihine taşındı, size hatırlatmama izin verin, sorun şu ki grafik hareket etmiyor.
Belki başka biri böyle bir sorunla karşılaştı?
Tavsiyen için teşekkürler, her şeyi iki kez kontrol ettim, yazımda hata yok. Göstergelerin adlarını sadece forumdaki ilk mesajın metninde değiştirdim, görevlerini açıklığa kavuşturmak için, danışman metinlerinde hindilerin adları tam olarak "göstergelerde" isimleri yazıldığı gibi yazılmıştır. dosya. Örneğin: "3.0_figuri_2.3_rasshirenie".
Ayrıca kontrol için başka bir Expert Advisor (ders kitabından) seçtim ve var olmayan göstergelerin isimlerini iCustom fonksiyonuna girdim. Aşağıdakiler oldu - danışman ticareti gerçekten durdurdu (diğer açılardan anlaşılabilir), ancak test cihazı başlatıldığında, grafik belirtilen başlangıç tarihinden bitiş tarihine taşındı, size hatırlatmama izin verin, sorun şu ki grafik hareket etmiyor.
Belki başka biri bu sorunla karşılaşmıştır.
Tavsiyen için teşekkürler, her şeyi iki kez kontrol ettim, yazımda hata yok. Göstergelerin adlarını sadece forumdaki ilk mesajın metninde değiştirdim, görevlerini açıklığa kavuşturmak için, danışman metinlerinde hindilerin adları tam olarak "göstergelerde" isimleri yazıldığı gibi yazılmıştır. dosya. Örneğin: "3.0_figuri_2.3_rasshirenie".
Ayrıca kontrol için başka bir Expert Advisor (ders kitabından) seçtim ve var olmayan göstergelerin isimlerini iCustom fonksiyonuna girdim. Aşağıdakiler oldu - danışman ticareti gerçekten durdurdu (diğer açılardan anlaşılabilir), ancak test cihazı başlatıldığında, grafik belirtilen başlangıç tarihinden bitiş tarihine taşındı, size hatırlatmama izin verin, sorun şu ki grafik hareket etmiyor.
Belki başka biri böyle bir sorunla karşılaştı?