[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 146
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Space:
... за одну единицу евро начинают давать меньше долларов, выходит что евро дорожает? Чего тогда всюду говорят что падает?
Для наглядности, попробуй после оператора присваивания посмотреть на GetLastError() - должно помочь с разрулом. По крайней мере, в приведённом примере всё замечательно работает. ;)
int init()
{
//----
// i = 0;
double s[10] = {,,,3,4,5,6,7,8,9};
int i = 0;
while(i < 10)
{
s[i] = i + 10;
i++;
Print("s[i]: ", DoubleToStr(s[i], 2), " i: ", i, "GetLastError(): ", GetLastError());
Sleep(5000);
}
//----
return(0);
}
Вот нглядный пример: не присваивается значение (i + 10). С такой инициализацией, только через масив ордеров - что за секреты?
Stepan2
Работает
Порвал мозг ... за один кг помидор начинают давать меньше рублей, выходит что помидоры дорожают? Чего тогда всюду говорят что дешевеют?
Т.е. доллар будь он в числителе или знаминателе, всегда ДЕНЬГИ (даже в мажорах), остальное "ТОВАР".
Так получается?
А что с кроссами? Как понять, что на что делить, при образование кросса?
Т.е. почему одна валюта обязательно в числителе, а другая в знаменателе, а не подругому?
Stepan2
Работает
что ВЫ этим хотите сказать?
ЧТО терминал зависит от БРОКЕРА!
Т.е. доллар будь он в числителе или знаминателе, всегда ДЕНЬГИ (даже в мажорах), остальное "ТОВАР".
Так получается?
А что с кроссами? Как понять, что на что делить, при образование кросса?
Т.е. почему одна валюта обязательно в числителе, а другая в знаменателе, а не подругому?
ПРОЦЕСС обучения следующий:
ДЕЛЕНИЕ - последовательное, но в обратном направлении
СКАЧОК - Action Script
что ВЫ этим хотите сказать?
ЧТО терминал зависит от БРОКЕРА!
За брокера не чего не скажу, вряд ли че с брокером
А за код, может я и не прав
вы объявили массив и заполнили его
вам и показывает эти цифирьки,да если double,то 1.0, 2.0 и т.д
В моем случае
Да он должен чуть побольше чтоб ошибки не было (4002)
и заполняется он цикле, воот, да это че, чет не понял ...... только через масив ордеров .....
Уважаемые, подскажите.Поместил два MACD (Macd1 и Macd2) в одном окне и в одном масштабе.Нахожу max и min каждого MACD только среди значений графиков,видимых в окне индикатора.Вывожу их в Comment().Всё работает,но только сигнальные линии начинают строиться с первого бара,т.е. приходится ждать,пока они не заполнят всё окно.Как решить эту проблему?И можно ли как-то оптимизировать мой корявый код?
#property indicator_separate_window #property indicator_buffers 4 #property indicator_color1 Lime #property indicator_color2 Red #property indicator_color3 Aqua #property indicator_color4 DarkOrange #property indicator_width1 2 #property indicator_width3 2 //--- buffers double Macd1Buffer[]; double Signal1Buffer[]; double Macd2Buffer[]; double Signal2Buffer[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,Macd1Buffer); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,Signal1Buffer); SetIndexStyle(2,DRAW_LINE); SetIndexBuffer(2,Macd2Buffer); SetIndexStyle(3,DRAW_LINE); SetIndexBuffer(3,Signal2Buffer); IndicatorDigits(Digits); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- Comment(""); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { double max1=-0.01,min1=0.01, max2=-0.01,min2=0.01, max_M1=-0.01,min_M1=0.01, max_M2=-0.01,min_M2=0.01, max_S1=-0.01,min_S1=0.01, max_S2=-0.01,min_S2=0.01; int bars_counted=WindowBarsPerChart()-1, limit; limit=bars_counted; //---- macd counted in the 1-st buffer for(int i=0; i<limit; i++) { Macd1Buffer[i]=iMA(NULL,0,6,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i); max_M1=MathMax(Macd1Buffer[i],max_M1); min_M1=MathMin(Macd1Buffer[i],min_M1); Signal1Buffer[i]=iMAOnArray(Macd1Buffer,Bars,5,0,MODE_SMA,i); max_S1=MathMax(Signal1Buffer[i],max_S1); min_S1=MathMin(Signal1Buffer[i],min_S1); max1=MathMax(max_M1,max_S1); min1=MathMin(min_M1,min_S1); } //---- done //---- macd counted in the 3-st buffer for(i=0; i<limit; i++) { Macd2Buffer[i]=iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,26,0,MODE_EMA,PRICE_CLOSE,i); max_M2=MathMax(Macd2Buffer[i],max_M2); min_M2=MathMin(Macd2Buffer[i],min_M2); Signal2Buffer[i]=iMAOnArray(Macd2Buffer,Bars,9,0,MODE_SMA,i); max_S2=MathMax(Signal2Buffer[i],max_S2); min_S2=MathMin(Signal2Buffer[i],min_S2); max2=MathMax(max_M2,max_S2); min2=MathMin(min_M2,min_S2); } //---- done Comment( "\n"," Баров = ",WindowBarsPerChart()-1, "\n"," max_M1 = ",max_M1, "\n"," min_M1 = ",min_M1, "\n"," max_S1 = ",max_S1, "\n"," min_S1 = ",min_S1, "\n"," max_M2 = ",max_M2, "\n"," min_M2 = ",min_M2, "\n"," max_S2 = ",max_S2, "\n"," min_S2 = ",min_S2, "\n"," max1 = ",max1, "\n"," min1 = ",min1, "\n"," max2 = ",max2, "\n"," min2 = ",min2); //---- return(0); } //+------------------------------------------------------------------+Уважаемые, подскажите.Поместил два MACD (Macd1 и Macd2) в одном окне и в одном масштабе.Нахожу max и min каждого MACD только среди значений графиков,видимых в окне индикатора.Вывожу их в Comment().Всё работает,но только сигнальные линии начинают строиться с первого бара,т.е. приходится ждать,пока они не заполнят всё окно.Как решить эту проблему?И можно ли как-то оптимизировать мой корявый код?
Пробуйте, каждый буфер в отдельном цикле.