Ваши вопросы по языку MQL4

1_Lexa

Активный участник
Весь код, что ниже, выдает как ошибку, скобка, точка с запятой и все что за ними, я не знаю, что вместо этого можно использовать. Посмотрел как другие советники написаны, ничего подобного не нашел
 

vladradon

Программист
Весь код, что ниже, выдает как ошибку, скобка, точка с запятой и все что за ними, я не знаю, что вместо этого можно использовать. Посмотрел как другие советники написаны, ничего подобного не нашел
Учи матчасть - потом уже сможешь задавать правильные вопросы!
 
  • Like
Реакции: Ugar

AlexeNP

Гуру форума
Весь код, что ниже, выдает как ошибку, скобка, точка с запятой и все что за ними, я не знаю, что вместо этого можно использовать. Посмотрел как другие советники написаны, ничего подобного не нашел
да ешкин кот... или код?
вот так делай
Код:
Expand Collapse Copy
double c=iClose(symb,PERIOD_H1,i);
double o=iOpen(symb,PERIOD_H1,i);
double h=iHigh(symb,PERIOD_H1,i);
double l=iLow(symb,PERIOD_H1,i);

if(((c < o && c > (h+l)/2) || (c < (h+l)/2 && c == o)) && iVolume(symb,Period(),i)>iVolume(symb,Period(),i+1))
  {
   Support[index] = c;
   for(int sktt = BarsBack-1; sktt>i; sktt--)
     {
      if(Support[index][sktt] >= c)
        {
         Support[index][sktt] = 0;
        }
     }
  }
но это все равно не поможет... каким образом у тебя дело дошло до профилирования лично для меня большая загадка...

Код:
Expand Collapse Copy
   Support[index] = c; <-- Тут массив Support одномерный
   for(int sktt = BarsBack-1; sktt>i; sktt--)
     {
      if(Support[index][sktt] >= c) <-- А тут массив превращается... превращается
        {
         Support[index][sktt] = 0;
        }
     }
 

1_Lexa

Активный участник
Учи матчасть - потом уже сможешь задавать правильные вопросы!
Я не учился на программиста, многое не понимаю, но хочу понять. Спасибо вам хоть за такую помощь, у меня нет в окружении знакомых, кто бы мне рассказал детали. С ашей помощью начал понимать некоторые детали. Пока карантин, есть время
 

1_Lexa

Активный участник
Сначала ошибка была скобку {, скобку удалил, вышли эти ошибки
 

Вложения

  • 4205FD16-76E6-4B45-BD03-8AA737068C1F.jpeg
    4205FD16-76E6-4B45-BD03-8AA737068C1F.jpeg
    650,4 КБ · Просмотры: 21

1_Lexa

Активный участник
Это когда вернул скобку и часть кода восстановил
 

Вложения

  • 0D4DE1EE-94AC-4755-9C80-4E351C0ED544.jpeg
    0D4DE1EE-94AC-4755-9C80-4E351C0ED544.jpeg
    423,2 КБ · Просмотры: 17

vladradon

Программист
Я не учился на программиста
Если ты не можешь вывести программно а+б, то даже не пытайся в уже сформированных кодах что-то менять... Тем более использовать такие тонкости, которые уже для прогеров уровня выше плинтуса.)))
 

1_Lexa

Активный участник
Рынок закрыт, профилирование пока ничего не показывает
 

Вложения

  • AE43D08D-1B7F-4BAC-AEC8-73182FB8431B.jpeg
    AE43D08D-1B7F-4BAC-AEC8-73182FB8431B.jpeg
    414,1 КБ · Просмотры: 21

1_Lexa

Активный участник
Сейчас всё нормально
 

Вложения

  • AEC8D300-C0C9-4B54-A898-22D5D62866DA.jpeg
    AEC8D300-C0C9-4B54-A898-22D5D62866DA.jpeg
    480,3 КБ · Просмотры: 22

1_Lexa

Активный участник
Если я здесь удаляю tp, или дописываю 0.0, то пропадает тестовый сигнал на графике. Можете помочь?


//+------------------------------------------------------------------+
double FindTP(double entry,int direction)
{
double tp,min;
if(direction == UP)
{
min = 10000;
for(int i = ObjectsTotal()-1;i>=0;i--)
{
if(ObjectType(ObjectName(i)) == OBJ_HLINE && StringFind(ObjectName(i),"Red") != -1)
{
if(ObjectGet(ObjectName(i),1) > entry+150*Point && ObjectGet(ObjectName(i),1) < min)
min = ObjectGet(ObjectName(i),1);
}
}
}
if(direction == DOWN)
{
min = 0;
for(int ii = ObjectsTotal()-1;ii>=0;ii--)
{
if(ObjectType(ObjectName(ii)) == OBJ_HLINE && StringFind(ObjectName(ii),"Green") != -1)
{
if(ObjectGet(ObjectName(ii),1) < entry-150*Point && ObjectGet(ObjectName(ii),1) > min)
min = ObjectGet(ObjectName(ii),1);
}
}
}
 

Вложения

DomovenokBrest

♔♕♖♗♘♙
Если я здесь удаляю tp, или дописываю 0.0, то пропадает тестовый сигнал на графике. Можете помочь?


//+------------------------------------------------------------------+
double FindTP(double entry,int direction)
{
double tp,min;
if(direction == UP)
{
min = 10000;
for(int i = ObjectsTotal()-1;i>=0;i--)
{
if(ObjectType(ObjectName(i)) == OBJ_HLINE && StringFind(ObjectName(i),"Red") != -1)
{
if(ObjectGet(ObjectName(i),1) > entry+150*Point && ObjectGet(ObjectName(i),1) < min)
min = ObjectGet(ObjectName(i),1);
}
}
}
if(direction == DOWN)
{
min = 0;
for(int ii = ObjectsTotal()-1;ii>=0;ii--)
{
if(ObjectType(ObjectName(ii)) == OBJ_HLINE && StringFind(ObjectName(ii),"Green") != -1)
{
if(ObjectGet(ObjectName(ii),1) < entry-150*Point && ObjectGet(ObjectName(ii),1) > min)
min = ObjectGet(ObjectName(ii),1);
}
}
}
Попробуйте с малого. Например вывести на экран чарта надпись: "Hello World!"
А дальше и не заметите, как начнет все получаться...
 

vladradon

Программист
Попробуйте с малого. Например вывести на экран чарта надпись: "Hello World!"
А дальше и не заметите, как начнет все получаться...
Там весь код написан через одно место - сначала индикатор вычисляет что-то там и рисует это на графике объектами и потом то, что нарисовал индикатор, считывается с графика, распознается и типа торгует... По-правильному там весь код нужно переписывать.:cool:
 

DomovenokBrest

♔♕♖♗♘♙
Там весь код написан через одно место - сначала индикатор вычисляет что-то там и рисует это на графике объектами и потом то, что нарисовал индикатор, считывается с графика, распознается и типа торгует... По-правильному там весь код нужно переписывать.:cool:
О чем я и пишу. Человеку нужно взять букварь и учить буквы...
 

Slava78

Элитный участник
Попробуйте с малого. Например вывести на экран чарта надпись: "Hello World!"
А дальше и не заметите, как начнет все получаться...
#include <iostream>
#include <cstdlib> // для system using namespace std;
int main()
{
cout << "Hello, world!" << endl;
system("pause"); // Только для тех, у кого MS Visual Studio return 0;
}
А урок 2 будет? 😂 😂 😂
 

1_Lexa

Активный участник
Вот так было
 

Вложения

  • 18D18611-5EC0-4FDF-9C93-BAB98091929F.jpeg
    18D18611-5EC0-4FDF-9C93-BAB98091929F.jpeg
    829,4 КБ · Просмотры: 33

1_Lexa

Активный участник
Главное работает, если вам не сложно, помогите. Или подскажите, как можно правильно переписать
 

1_Lexa

Активный участник
Извините, мне - сложно. А как Вы можете правильно переписать, если Вы не знаете язык?
Если вам сложно, то могли бы не отвечать. Я бы помог, если это было в моих силах. Вы уж извините, значит я не к вам обращаюсь
 

DomovenokBrest

♔♕♖♗♘♙
если вам не сложно, помогите. Или подскажите, как можно правильно переписать

1) Вы спросили - сложно или нет. Я ответил - мне сложно.
2) Правильно переписать Вы не сможете - не знаете языка. Это я Вам так же ответил.

Если вам сложно, то могли бы не отвечать. Я бы помог, если это было в моих силах. Вы уж извините, значит я не к вам обращаюсь
Как раз ответить мне было не сложно. Сложно переписать Вам программу.
Извините, но Вам не нужна помощь. Вам нужно, что бы Вам переписали программу. И подъезжаете к этому Вы на хромой кобыле...
 

Who has viewed this thread (Total: 2) Посмотреть

Верх