как я понял (надеюсь правильно:)) Zolotai хочет снять данные с двух операторов цикла и записать их в текстовые файлы. С каждого в отдельный файл. Далее он хочет с этих файлов данные забить в массивы. Потом эти два массива объеденить в один так, чтобы данные с двух операторов не смешивались, и при этом соотносились друг с другом по каждому бару.
как я понял (надеюсь правильно:)) Zolotai хочет снять данные с двух операторов цикла и записать их в текстовые файлы. С каждого в отдельный файл. Далее он хочет с этих файлов данные забить в массивы. Потом эти два массива объеденить в один так, чтобы данные с двух операторов не смешивались, и при этом соотносились друг с другом по каждому бару.
как то так))))
А зачем через ж? Сразу заносить в многомерный массив. В первом измерении индексация по времени(барам)- в остальных данные массивов. И сортируй все данные по первому измерению как хошь.
Народ, нужна помощь, из кода который ниже, выполняется только вторая часть, когда sellstop выставить нужно, а buystop почему-то не выставляется, хотя все условия соблюдены, до самого чёт не доходит в чём дело))
Добрый день, подскажите пожалуйста - сову ищу или скрипт:
Есть уровень ордера есть стоп и 3 тейкпрофита, необходимо чтобы при достижении определенного уровня например первого тр ордер закрывался определенной частью (задаваемой самому) а оставшая часть переводилась на уровень, который тоже я сам задаю.:
Пример
ордер на 1,5800 стоп 1,5750 1 тр - 1,5850 2тп - 1,5900 3 тп - 1,5950, так вот при достижении 1,5850 допустим закрывался 40% лота, остальное на 1,5800 (т.е. в бу) на 2 тп 20% а остальное перенести на 1,5850 ну и 3 тр полное закрытие.
Самое важное чтобы величины я мог сам менять в зависимости от ситуации.
Народ, нужна помощь, из кода который ниже, выполняется только вторая часть, когда sellstop выставить нужно, а buystop почему-то не выставляется, хотя все условия соблюдены, до самого чёт не доходит в чём дело))
Тикет #2, равно, как и #4, может только в тестере появиться. На реале/демо это утопия. При выборе ордера по тикету сначала нужно убедиться, что ордер вообще выбран, затем проверить время его закрытия. Если оно == 0, значит ордер выбран из списка рыночных ордеров. Если время закрытия ордера > 0, значит ордер уже закрыт и выбран из списка закрытых ордеров. При отправке торгового запроса на сервер все цены должны быть во-первых свежими (самыми последними; для этого цены нужно брать через MarketInfo(), либо RefreshRates() перед отсылкой запроса), во вторых цены должны быть все нормализованы до точности Digits
Добрый день, подскажите пожалуйста - сову ищу или скрипт:
Есть уровень ордера есть стоп и 3 тейкпрофита, необходимо чтобы при достижении определенного уровня например первого тр ордер закрывался определенной частью (задаваемой самому) а оставшая часть переводилась на уровень, который тоже я сам задаю.:
Пример
ордер на 1,5800 стоп 1,5750 1 тр - 1,5850 2тп - 1,5900 3 тп - 1,5950, так вот при достижении 1,5850 допустим закрывался 40% лота, остальное на 1,5800 (т.е. в бу) на 2 тп 20% а остальное перенести на 1,5850 ну и 3 тр полное закрытие.
Самое важное чтобы величины я мог сам менять в зависимости от ситуации.
Ребята Подскажите вот какую хрень!!! Когда создаю новый индикатор, то у меня всегда проблема с выводом буфера на график. АВроде бы всё правильно написал, а значения никакие не показывает.... Я уже измучился....
#property copyright "nikelodeon"#property link ""externint k=5;
externint k1=8;
#property indicator_chart_windowdouble Buffer1[];
double Buffer2[];
double Buffer3[];
double Buffer4[];
double Buffer5[];
double Buffer6[];
double Buffer7[];
double Buffer8[];
int init()
{
SetIndexBuffer(0,Buffer2); // Назначение массива буферу
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2,Red);// ЛинияSetIndexBuffer(1,Buffer1);// Назначение массива буферу
SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,2,Blue);// Линия
SetIndexStyle (2,DRAW_ARROW,STYLE_SOLID,1,Red);
SetIndexArrow (2,159);// Стиль линии SetIndexBuffer(2,Buffer3);
SetIndexEmptyValue(2,0.0);// Назначение массива буферу
SetIndexStyle (3,DRAW_ARROW,STYLE_SOLID,1,Blue);
SetIndexArrow (3,159);// Стиль линии SetIndexBuffer(3,Buffer4);// Назначение массива буферу
SetIndexEmptyValue(3,0.0);
SetIndexStyle (4,DRAW_ARROW,STYLE_SOLID,2,Green);
SetIndexArrow (4,159);// Стиль линии SetIndexBuffer(4,Buffer5);// Назначение массива буферу
SetIndexEmptyValue(4,0.0);
SetIndexStyle (5,DRAW_ARROW,STYLE_SOLID,2,Green);
SetIndexArrow (5,251);// Стиль линии SetIndexBuffer(5,Buffer6);// Назначение массива буферу
SetIndexEmptyValue(5,0.0);
SetIndexStyle (6,DRAW_ARROW,STYLE_SOLID,2,Red);
SetIndexArrow (6,241);// Вход БайSetIndexBuffer(6,Buffer7);// Назначение массива буферу
SetIndexEmptyValue(6,0.0);
SetIndexStyle (7,DRAW_ARROW,STYLE_SOLID,2,Blue);
SetIndexArrow (7,242);// Вход сел SetIndexBuffer(7,Buffer8);// Назначение массива буферу
SetIndexEmptyValue(7,0.0);
return(0);
}
//+------------------------------------------------------------------+//| Custom indicator deinitialization function |//+------------------------------------------------------------------+int deinit()
{
//----//----return(0);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+int start()
{
int i,b,limit;
limit=Bars;
if (b!=Bars){
b=Bars;
for(i=limit; i>=0; i--){
if ((setupUP(i,4,5)==1)) {Buffer5[i+1]=Low[i+1];} else Buffer5[i+1]=0;
if ((setupDOWN(i,4,5)==1)){Buffer5[i+1]=High[i+1];} else Buffer5[i+1]=0;
}
Buffer5[i+1]=Low[i+1];
}
return(0);
}
//+------------------------------------------------------------------+int setupUP (int i, int k, int k1)
{
int num=0;
int setUP=0;
for (i=0; i>=100; i++){
if((Close[i+1]<Close[i+k])) {num=num+1;}
}
if (num>=k1) {
setUP=1;
return (setUP);
}
return (0);
}
int setupDOWN (int i, int k, int k1)
{
int num=0;
int setUP=0;
if((Close[i+1]>Close[i+k])) {num=num+1;}
if (num>k1) {
setUP=1;
return (setUP);
}
}
Народ, нужна помощь, из кода который ниже, выполняется только вторая часть, когда sellstop выставить нужно, а buystop почему-то не выставляется, хотя все условия соблюдены, до самого чёт не доходит в чём дело))
if (OrdersTotal()==2)
{
...
Чтобы правильно вставить код на форуме нажмите SRC
Вообще-то чтоб выбрать ордер надо делать через if
if (OrderSelect(2,SELECT_BY_TICKET))
{
//--- действие
}
как я понял (надеюсь правильно:)) Zolotai хочет снять данные с двух операторов цикла и записать их в текстовые файлы. С каждого в отдельный файл. Далее он хочет с этих файлов данные забить в массивы. Потом эти два массива объеденить в один так, чтобы данные с двух операторов не смешивались, и при этом соотносились друг с другом по каждому бару.
как то так))))
как я понял (надеюсь правильно:)) Zolotai хочет снять данные с двух операторов цикла и записать их в текстовые файлы. С каждого в отдельный файл. Далее он хочет с этих файлов данные забить в массивы. Потом эти два массива объеденить в один так, чтобы данные с двух операторов не смешивались, и при этом соотносились друг с другом по каждому бару.
как то так))))
Народ, нужна помощь, из кода который ниже, выполняется только вторая часть, когда sellstop выставить нужно, а buystop почему-то не выставляется, хотя все условия соблюдены, до самого чёт не доходит в чём дело))
if (OrdersTotal()==2)
{
OrderSelect(2,SELECT_BY_TICKET);
if (OrderType()==OP_SELL)
{
OrderSelect(2,SELECT_BY_TICKET);
double b = OrderOpenPrice();
OrderSend(Symbol(),OP_BUYSTOP,2,b+28*Point,3,b-25*Point,b+50*Point,0,5);
}
OrderSelect(4,SELECT_BY_TICKET);
if (OrderType()==OP_BUY)
{
OrderSelect(4,SELECT_BY_TICKET);
double a = OrderOpenPrice();
OrderSend(Symbol(),OP_SELLSTOP,2,a-28*Point,3,a+25*Point,a-50*Point,0,6);
}
}
Ну, раз ты точно знаешь, что ордер с номером 2 у тебя селл, то тебе остается только нормализовать цену, стоп и тейк.
И смотри логи советника.
Добрый день, подскажите пожалуйста - сову ищу или скрипт:
Есть уровень ордера есть стоп и 3 тейкпрофита, необходимо чтобы при достижении определенного уровня например первого тр ордер закрывался определенной частью (задаваемой самому) а оставшая часть переводилась на уровень, который тоже я сам задаю.:
Пример
ордер на 1,5800 стоп 1,5750 1 тр - 1,5850 2тп - 1,5900 3 тп - 1,5950, так вот при достижении 1,5850 допустим закрывался 40% лота, остальное на 1,5800 (т.е. в бу) на 2 тп 20% а остальное перенести на 1,5850 ну и 3 тр полное закрытие.
Самое важное чтобы величины я мог сам менять в зависимости от ситуации.
Народ, нужна помощь, из кода который ниже, выполняется только вторая часть, когда sellstop выставить нужно, а buystop почему-то не выставляется, хотя все условия соблюдены, до самого чёт не доходит в чём дело))
if (OrdersTotal()==2)
{
OrderSelect(2,SELECT_BY_TICKET);
if (OrderType()==OP_SELL)
{
OrderSelect(2,SELECT_BY_TICKET);
double b = OrderOpenPrice();
OrderSend(Symbol(),OP_BUYSTOP,2,b+28*Point,3,b-25*Point,b+50*Point,0,5);
}
OrderSelect(4,SELECT_BY_TICKET);
if (OrderType()==OP_BUY)
{
OrderSelect(4,SELECT_BY_TICKET);
double a = OrderOpenPrice();
OrderSend(Symbol(),OP_SELLSTOP,2,a-28*Point,3,a+25*Point,a-50*Point,0,6);
}
}
Добрый день, подскажите пожалуйста - сову ищу или скрипт:
Есть уровень ордера есть стоп и 3 тейкпрофита, необходимо чтобы при достижении определенного уровня например первого тр ордер закрывался определенной частью (задаваемой самому) а оставшая часть переводилась на уровень, который тоже я сам задаю.:
Пример
ордер на 1,5800 стоп 1,5750 1 тр - 1,5850 2тп - 1,5900 3 тп - 1,5950, так вот при достижении 1,5850 допустим закрывался 40% лота, остальное на 1,5800 (т.е. в бу) на 2 тп 20% а остальное перенести на 1,5850 ну и 3 тр полное закрытие.
Самое важное чтобы величины я мог сам менять в зависимости от ситуации.
Ребята Подскажите вот какую хрень!!! Когда создаю новый индикатор, то у меня всегда проблема с выводом буфера на график. АВроде бы всё правильно написал, а значения никакие не показывает.... Я уже измучился....
Что сделать чтоб выводился пятый буфер???Народ, нужна помощь, из кода который ниже, выполняется только вторая часть, когда sellstop выставить нужно, а buystop почему-то не выставляется, хотя все условия соблюдены, до самого чёт не доходит в чём дело))
if (OrdersTotal()==2)
{
...
Чтобы правильно вставить код на форуме нажмите SRC
Вообще-то чтоб выбрать ордер надо делать через if