sochinik
Местный житель
Это пользовательская функция, а не готовый советник.
спасибо. пытаюсь догнать вас в уроках. так что прошу прощения если вопросы нелепые
Это пользовательская функция, а не готовый советник.
Candle rangeДоброго времени суток…
Учитель – видит Бог я пытался и даже старался,- но как был двоечником видать так и остался…
может кто откликнется…
Речь идёт о индикаторе который показывал бы состояние закрытой свечи,- то есть если цена закрытой свечи выше её открытия то она зелёного цвета,- если цена закрытия ниже открытия то красного… - и выглядело бы на графике примерно так:
Candle range
http://forexsystemsru.com/indikatory/69427-indikatory-ot-eevviill.html#post498320
Я не готовый продукт дал, а шаблон.Спасибо за оперативность...
Но это совсем не то... - просто если свеча закрылась - бычья то зелёный,- если медвежья - то красный,- без указания пунктов или ещё какой информации
void SL_TP()
{
if(StopLoss<MarketInfo(Symbol(),MODE_STOPLEVEL) || TakeProfit<MarketInfo(Symbol(),MODE_STOPLEVEL)) {Alert("Stops to close to price");return;}
for (int i=OrdersTotal()-1; i>=0; i--)
{
OrderSelect(i,SELECT_BY_POS);
{
if(OrderMagicNumber()==magic)
{
if(OrderType()==OP_BUY || OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT)
{
while(IsTradeContextBusy()) Sleep(1000);
if(StopLoss>0 && OrderStopLoss()!=NormalizeDouble(OrderOpenPrice()-StopLoss*Point,Digits)) OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()-StopLoss*Point,Digits),OrderTakeProfit(),0,CLR_NONE);
while(IsTradeContextBusy()) Sleep(1000);
if(TakeProfit>0 && OrderTakeProfit()!=NormalizeDouble(OrderOpenPrice()+TakeProfit*Point,Digits)) OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(OrderOpenPrice()+TakeProfit*Point,Digits),0,CLR_NONE);
}
if(OrderType()==OP_SELL || OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT)
{
while(IsTradeContextBusy()) Sleep(1000);
if(StopLoss>0 && OrderStopLoss()!=NormalizeDouble(OrderOpenPrice()+StopLoss*Point,Digits)) OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()+StopLoss*Point,Digits),OrderTakeProfit(),0,CLR_NONE);
while(IsTradeContextBusy()) Sleep(1000);
if(TakeProfit>0 && OrderTakeProfit()!=NormalizeDouble(OrderOpenPrice()-TakeProfit*Point,Digits)) OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(OrderOpenPrice()-TakeProfit*Point,Digits),0,CLR_NONE);
}
}
}
}
}
Подправил.Сделал функцию стопов чтобы не сразу выставлялись, а модифицировались после открытия ордера.
Подправил.
PHP:void SL_TP() { if(StopLoss<MarketInfo(Symbol(),MODE_STOPLEVEL) || TakeProfit<MarketInfo(Symbol(),MODE_STOPLEVEL)) {Alert("Stops to close to price");return;} for (int i=OrdersTotal()-1; i>=0; i--) { OrderSelect(i,SELECT_BY_POS); { if(OrderMagicNumber()==magic) { if(OrderType()==OP_BUY || OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT) { while(IsTradeContextBusy()) Sleep(1000); if(StopLoss>0 && OrderStopLoss()!=NormalizeDouble(OrderOpenPrice()-StopLoss*Point,Digits)) OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()-StopLoss*Point,Digits),OrderTakeProfit(),0,CLR_NONE); while(IsTradeContextBusy()) Sleep(1000); if(TakeProfit>0 && OrderTakeProfit()!=NormalizeDouble(OrderOpenPrice()+TakeProfit*Point,Digits)) OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(OrderOpenPrice()+TakeProfit*Point,Digits),0,CLR_NONE); } if(OrderType()==OP_SELL || OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT) { while(IsTradeContextBusy()) Sleep(1000); if(StopLoss>0 && OrderStopLoss()!=NormalizeDouble(OrderOpenPrice()+StopLoss*Point,Digits)) OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()+StopLoss*Point,Digits),OrderTakeProfit(),0,CLR_NONE); while(IsTradeContextBusy()) Sleep(1000); if(TakeProfit>0 && OrderTakeProfit()!=NormalizeDouble(OrderOpenPrice()-TakeProfit*Point,Digits)) OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(OrderOpenPrice()-TakeProfit*Point,Digits),0,CLR_NONE); } } } } }
///////////////////////////////////////////////////////////////////////////
void SL_TP()
{
if((StopLoss<MarketInfo(Symbol(),MODE_STOPLEVEL) && StopLoss!=0) || (TakeProfit<MarketInfo(Symbol(),MODE_STOPLEVEL) && TakeProfit!=0)) {Alert("Stops to close to price");return;}
for (int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS))
{
if(OrderMagicNumber()==magic)
{
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY || OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT)
{
if(StopLoss>0 && OrderStopLoss()==0)
{
while(IsTradeContextBusy()) Sleep(1000);
if(OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()-StopLoss*Point,Digits),OrderTakeProfit(),0,CLR_NONE)) continue;
}
}
}
}
}
}
for (int i2=OrdersTotal()-1; i2>=0; i2--)
{
if(OrderSelect(i2,SELECT_BY_POS))
{
if(OrderMagicNumber()==magic)
{
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY || OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT)
{
if(TakeProfit>0 && OrderTakeProfit()==0)
{
while(IsTradeContextBusy()) Sleep(1000);
if(OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(OrderOpenPrice()+TakeProfit*Point,Digits),0,CLR_NONE)) continue;
}
}
}
}
}
}
for (int i3=OrdersTotal()-1; i3>=0; i3--)
{
if(OrderSelect(i3,SELECT_BY_POS))
{
if(OrderMagicNumber()==magic)
{
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_SELL || OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT)
{
if(StopLoss>0 && OrderStopLoss()==0)
{
while(IsTradeContextBusy()) Sleep(1000);
if(OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()+StopLoss*Point,Digits),OrderTakeProfit(),0,CLR_NONE)) continue;
}
}
}
}
}
}
for (int i4=OrdersTotal()-1; i4>=0; i4--)
{
if(OrderSelect(i4,SELECT_BY_POS))
{
if(OrderMagicNumber()==magic)
{
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_SELL || OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT)
{
if(TakeProfit>0 && OrderTakeProfit()==0)
{
while(IsTradeContextBusy()) Sleep(1000);
if(OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(OrderOpenPrice()-TakeProfit*Point,Digits),0,CLR_NONE)) continue;
}
}
}
}
}
}
}
Добрый день. Только недавно создал свой скрипт и появилась мысль стать учителем
Если кому то будет интересно изучать MQL4 с самых азов и делится опытом, то прошу написать что то в теме чтобы я знал кого учу и или оно вообще кому то надо
здравствуйте уважаемый. если ваше предложение в силе то я хотел бы стать вашим учеником. начинаю изучать ваши уроки и читать ветку. так что можете иметь меня ввиду.
с уважением
ОК. Только если вопросы будут не по ветке, то просьба задавать их в ветке Вопросы по MQL4.Добрый день. Только недавно создал свой скрипт и появилась мысль стать учителем
Если кому то будет интересно изучать MQL4 с самых азов и делится опытом, то прошу написать что то в теме чтобы я знал кого учу и или оно вообще кому то надо
здравствуйте уважаемый. если ваше предложение в силе то я хотел бы стать вашим учеником. начинаю изучать ваши уроки и читать ветку. так что можете иметь меня ввиду.
с уважением
И у меня функции не доконца доделаны(отшлифованы). Это понял с опытом. Раньше казалось что пишу всё правильно.
P.S. Надо будет попросить дать возможность поизменять немного уроки.
Не стоит стыдиться своих ошибок. Их надо признавать и делать выводы. А шлифовка функций, процесс бесконечный. Пусть каждый сам себе шлифует как считает нужным. Это и будет частью процесса обучения.ОК. Только если вопросы будут не по ветке, то просьба задавать их в ветке Вопросы по MQL4.
И у меня функции не доконца доделаны(отшлифованы). Это понял с опытом. Раньше казалось что пишу всё правильно.
P.S. Надо будет попросить дать возможность поизменять немного уроки.
Не стоит стыдиться своих ошибок. Их надо признавать и делать выводы. А шлифовка функций, процесс бесконечный. Пусть каждый сам себе шлифует как считает нужным. Это и будет частью процесса обучения.
Смотря что в коде написано.А написанный скрипт трэлингстоп изменит все ордера(при выполненном условии), даже если его в другое окно другой валютной пары добавить?
А написанный скрипт трэлингстоп изменит все ордера(при выполненном условии), даже если его в другое окно другой валютной пары добавить?
<...>
ЗАДАЧИ. Понять что я написал в скрипте и без помощи форума написать похожий скрипт(с другими названиями и значениями переменных). Указать значение переменной(2-ое объяснение).
<...>
Спойлер открой. Там должен быть код.урок 5. а каким образом работает этот скрипт? Т.е. как и где выполняются расчеты?