Помощь в кодировании - страница 223

 
daniel1983:
Спасибо Mladen, я сделал изменения, индикатор выглядит так, но все еще ничего не делает на графике...

//------------------------------------------------------------------

#property copyright "www.forex-tsd.com"

#property link "www.forex-tsd.com"

//------------------------------------------------------------------

//+------------------------------------------------------------------+

//| Пользовательская функция инициализации индикатора |

//+------------------------------------------------------------------+

int init()

{

//----

return(0);

}

int deinit() {

Comment("");

ObjectDelete("KeyLine");

return(0);

}

//+------------------------------------------------------------------+

//| Пользовательская функция итерации индикатора |

//+------------------------------------------------------------------+

int start()

{

double number = (iOpen(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1))/3;

Comment("Ключевая строка: ",число);

ObjectDelete("KeyLine");

ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),number);

ObjectSet("KeyLine",OBJPROP_COLOR,Orange);

ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID);

ObjectsRedraw();

return(0);

}

Что я делаю не так?

Спасибо

Сделайте вот так:

#property indicator_chart_window

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int init() { return(0); }

int deinit()

{

Comment("");ObjectDelete("KeyLine");

return(0);

}

int start()

{

double number = (iOpen(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1))/3;

Comment("Key Line: ",number);

ObjectDelete("KeyLine");

ObjectCreate("KeyLine", OBJ_HLINE,0, CurTime(),number);

ObjectSet("KeyLine",OBJPROP_COLOR,Orange);

ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID);

return(0);

}
Файлы:
test.mq4  1 kb
 

Хорошо, Младен, большое спасибо за ваше время, я посмотрю, что можно сделать, так как есть некоторая проблема с кодом математики, так как он все еще не принимает цены для первой свечи, чтобы сделать математическое уравнение. еще раз спасибо, я посмотрю на это в выходные.

Daniel1983

 
daniel1983:
Хорошо, Младен, большое спасибо за ваше время, я посмотрю, что я могу сделать, так как есть некоторая проблема с кодом математики, так как он все еще не берет цены для первой свечи, чтобы сделать математическое уравнение. Еще раз спасибо, я посмотрю на это в выходные. Daniel1983

Daniel1983

Чтобы перевести этот код mql на повседневный язык: число равно open предыдущего дня + high предыдущего дня + low предыдущего дня, деленное на 3. Таким образом, значения из разных таймфреймов не смешиваются, и не будет изменений в значениях, пока не изменится текущий день.

 

Здравствуйте, Младен,

Я скачал индикатор Support Resistance с сайтаThread: How to use Support and Resistance Effectively Но когда я накладываю его на график, появляется поддержка и сопротивление. Но если я удаляю индикатор, то поддержка и сопротивление остаются на графике. Не знаете ли вы, как я могу удалить его полностью?

Заранее большое спасибо!!!

С наилучшими пожеланиями, MGM

 
MGM:
Привет Младен,

Я скачал индикатор Support Resistance с сайтаThread: Как эффективно использовать поддержку и сопротивление

Но когда я накладываю его на график, появляется поддержка и сопротивление. Но если я удаляю индикатор, то поддержка и сопротивление остаются на графике. Не знаете ли вы, как я могу удалить его полностью?

Заранее большое спасибо!!!

С наилучшими пожеланиями, MGM

MGM

Какой именно индикатор (какой пост No)?

 
mladen:
MGM Какой именно индикатор (в каком посте нет)?

Извините, Маладен, я загрузил его из темы:Как эффективно использовать поддержку и сопротивление страница44. И теперь он работает хорошо. Извините за вопрос.

Все равно большое спасибо!

MGM

 

Уважаемый Младен

Я хочу написать советника, который будет открывать два ордера, первый на продажу или покупку, а второй отложенный.

Если первый ордер достигает цели, советник удаляет отложенный и повторяет цикл.

Я создал предварительную структуру. Не могли бы вы проверить ее.

//+-------------------------------------------------------+

//| Main Function |

//+-------------------------------------------------------+

int start()

{

if (Counter() == 0)

{

Long ();

Short();

}

if (Counter() == 1)

{

PendingRemover();

}

return(0);

}

//+-------------------------------------------------------+

//| Complementary Functions |

//+-------------------------------------------------------+

//---- Order Counter

int Counter()

{

int Pending = 0;

int Trading = 0;

for (int i=0; i<OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == False) break;

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)

{

if(OrderType() == Buy or Sell Order) Trading++;

if(OrderType() == Pending Order) Pending++;

}

}

return(Trading+Pending);

}

//---- Pending Remover

void PendingRemover()

{

for (int i=0; i<OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == False) break;

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == Pending Order);

OrderDelete(Pending);

}

}

//---- Long Position Handler

void Long()

{

int Ticket1;

int Ticket2;

if (X > 0)

{

Ticket1 = OrderSend(Trading);

Ticket2 = OrderSend(Pending);

}

}

//---- Short Position Handler

void Short()

{

int Ticket1;

int Ticket2;

if (X < 0)

{

Ticket1 = OrderSend(Trading);

Ticket2 = OrderSend(Pending);

}

}

Всего доброго,

 
-IXI-:
Уважаемый Младен

Я хочу написать советника, который будет открывать два ордера: первый - на продажу или покупку, второй - отложенный.

Если первый ордер достигает цели, советник удаляет отложенный и повторяет цикл.

Я создал предварительную структуру. Не могли бы вы проверить ее.

//+-------------------------------------------------------+

//| Main Function |

//+-------------------------------------------------------+

int start()

{

if (Counter() == 0)

{

Long ();

Short();

}

if (Counter() == 1)

{

PendingRemover();

}

return(0);

}

//+-------------------------------------------------------+

//| Complementary Functions |

//+-------------------------------------------------------+

//---- Order Counter

int Counter()

{

int Pending = 0;

int Trading = 0;

for (int i=0; i<OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == False) break;

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)

{

if(OrderType() == Buy or Sell Order) Trading++;

if(OrderType() == Pending Order) Pending++;

}

}

return(Trading+Pending);

}

//---- Pending Remover

void PendingRemover()

{

for (int i=0; i<OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == False) break;

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == Pending Order);

OrderDelete(Pending);

}

}

//---- Long Position Handler

void Long()

{

int Ticket1;

int Ticket2;

if (X > 0)

{

Ticket1 = OrderSend(Trading);

Ticket2 = OrderSend(Pending);

}

}

//---- Short Position Handler

void Short()

{

int Ticket1;

int Ticket2;

if (X < 0)

{

Ticket1 = OrderSend(Trading);

Ticket2 = OrderSend(Pending);

}

}

Лучшее,

-IXI-

Насколько я вижу, все в порядке

 

Уважаемый Младен

Большое спасибо.

Я добавил несколько кодов, чтобы сделать простой советник.

Странно, что советник открывает ордера на покупку и продажу в одно и то же время! Есть идеи?

//---- Long Position Handler

void Long()

{

int Ticket1;

int Ticket2;

if (iMA(Symbol(),Period(),10,0,1,0,1)

> iMA(Symbol(),Period(),10,0,1,0,2))

{

Ticket1 = OrderSend(Symbol(),OP_BUY ,...);

Ticket2 = OrderSend(Symbol(),OP_SELLSTOP,...);

}

}

//---- Short Position Handler

void Short()

{

int Ticket1;

int Ticket2;

if (iMA(Symbol(),Period(),10,0,1,0,1)

< iMA(Symbol(),Period(),10,0,1,0,2))

{

Ticket1 = OrderSend(Symbol(),OP_SELL ,...);

Ticket2 = OrderSend(Symbol(),OP_BUYSTOP,...);

}

}

Лучше всего.

 

Здравствуйте, Младен. Возможно ли добавить в Momentum-Atr индикатор фильтра ema+? Но только то, что EMA слишком нормализована? Возможно, лучше будет добавить другую среднюю, может быть SMA. Честно говоря, я не знаю, что делать. Я хочу получить в этом индикаторе пересечение с МА.Это нужно для того, чтобы импульс пересекал нулевой вход. Пересекает МА - выход

Помогите пожалуйста.

Спасибо.

Файлы: