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

 

пожалуйста, помогите с трейлингом

Я создал советника с помощью Forex EA Generator, все вроде работает, трейлинг работает на BUY, как нужно, но не работает на SELL,

Пожалуйста, помогите мне понять, где ошибка,

спасибо

..................................

IfOrderDoesNotExist8();

}

}

void IfOrderDoesNotExist8()

{

bool exists = false;

for (int i=OrdersTotal()-1; i >= 0; i--)

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == 1)

{

exists = true;

}

}

else

{

Print("Ошибка OrderSelect() - ", ErrorDescription(GetLastError()));

}

if (exists == false)

{

BuyOrder24();

}

}

void BuyOrder24()

{

double SL = Ask - BuyStoploss24*PipValue*Point;

if (BuyStoploss24 == 0) SL = 0;

double TP = Ask + BuyTakeprofit24*PipValue*Point;

если (BuyTakeprofit24 == 0) TP = 0;

int ticket = -1;

если (true)

ticket = OrderSend(Symbol(), OP_BUY, BuyLots24, Ask, 3, 0, 0, 0, "36912direct5M@", 1, 0, Blue);

else

ticket = OrderSend(Symbol(), OP_BUY, BuyLots24, Ask, 3, SL, TP, "36912direct5M@", 1, 0, Blue);

if (ticket > -1)

{

if (true)

{

OrderSelect(ticket, SELECT_BY_TICKET);

bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Blue);

if (ret == false)

Print("Ошибка OrderModify() - ", ErrorDescription(GetLastError()));

}

}

else

{

Print("OrderSend() error - ", ErrorDescription(GetLastError()));

}

}

void CloseOrder21()

{

int orderstotal = OrdersTotal();

int orders = 0;

int ordticket[30][2];

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

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if (OrderType() != OP_SELL || OrderSymbol() != Symbol() || OrderMagicNumber() != 1)

{

continue;

}

ordticket[orders][0] = OrderOpenTime();

ordticket[orders][1] = OrderTicket();

orders++;

}

if (orders > 1)

{

ArrayResize(ordticket,orders);

ArraySort(ordticket);

}

for (i = 0; i < orders; i++)

{

if (OrderSelect(ordticket[1], SELECT_BY_TICKET) == true)

{

bool ret = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 3, Red);

if (ret == false)

Print("Ошибка OrderClose() - ", ErrorDescription(GetLastError()));

}

}

}

void TrailingStop10()

{

for (int i=OrdersTotal()-1; i >= 0; i--)

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

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

{

double takeprofit = OrderTakeProfit();

if (OrderType() == OP_BUY && Ask - OrderOpenPrice() > TrailingStop10*PipValue*Point)

{

if (OrderStopLoss() < Ask-(TrailingStop10+TrailingGap10)*PipValue*Point)

{

if (NewTakeProfit10 != 0) takeprofit = Ask+(NewTakeProfit10 + TrailingStop10)*PipValue*Point;

bool ret1 = OrderModify(OrderTicket(), OrderOpenPrice(), Ask-TrailingStop10*PipValue*Point, takeprofit, OrderExpiration(), White);

if (ret1 == false)

Print("Ошибка OrderModify() - ", ErrorDescription(GetLastError()));

}

}

if (OrderType() == OP_SELL && OrderOpenPrice() - Bid > TrailingStop10*PipValue*Point)

{

if (OrderStopLoss() > Bid+(TrailingStop10+TrailingGap10)*PipValue*Point)

{

if (NewTakeProfit10 != 0) takeprofit = Bid-(NewTakeProfit10 + TrailingStop10)*PipValue*Point;

bool ret2 = OrderModify(OrderTicket(), OrderOpenPrice(), Bid+TrailingStop10*PipValue*Point, takeprofit, OrderExpiration(), White);

if (ret2 == false)

Print("Ошибка OrderModify() - ", ErrorDescription(GetLastError()));

}

}

}

}

else

Print("Ошибка OrderSelect() - ", ErrorDescription(GetLastError()));

}

 

Индикатор вариаций нужна помощь для построения графика в окне chart_window

Это индикатор:

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

//| variation.mq4 |

//| Copyright © 2010, LeMan. |

//| b-market@mail.ru |

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

#property copyright "Copyright © 2010, LeMan."

#property link "b-market@mail.ru"

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Red

//---- входные параметры

extern int N=20;

//---- буферы

double ExtMapBuffer1[];

double ExtMapBuffer2[];

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

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

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

int init()

{

string short_name;

IndicatorDigits(Digits+2);

IndicatorBuffers(2);

//---- индикаторы

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexBuffer(1,ExtMapBuffer2);

//----

если (N <= 0) N = 20;

//----

SetIndexDrawBegin(0, N*2);

//----

short_name = "Вариация (" + N + ")";

IndicatorShortName(short_name);

SetIndexLabel(0, short_name);

//----

return(0);

}

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

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

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

int deinit()

{

//----

//----

return(0);

}

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

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

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

int start()

{

//----

int limit = Bars-N-1;

for (int i = limit; i >= 0; i--) {

double ma = iMA(NULL,0,N,0,MODE_SMA,PRICE_CLOSE,i);

ExtMapBuffer2 = Close-ma;

}

//----

i = Bars-N*2-1;

while (i >= 0) {

double vr = iMAOnArray(ExtMapBuffer2,Bars,N,0,MODE_SMA,i);

double mov = iMA(NULL,0,N,0,MODE_SMA,PRICE_CLOSE,i);

ExtMapBuffer1 = Close - (mov + vr);

i--;

}

//----

return(0);

}

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

 

Требуется кодер советника

Форекс трейдеру с 10 летним опытом работы требуется кодер советника

с опытом торговли.

Система TradeWynds:

Фильтр старших таймфреймов

H1 или D1

Все входы осуществляются в пределах окна входа в 3 пункта с использованием SL в 10 пунктов.

Входы могут быть сделаны в обоих направлениях.

Используются 2 - 3 индикатора.

Выходы на H1 или D1.

Пожалуйста, пишите в PM, если заинтересованы...

 

Если у вас есть прибыльный советник, я закодирую его для вас или дам вам знать, если это действительно за пределами моих возможностей.

 

Скрипт сборки

Гуру кодера

Пробовал искать на различных форумах Сети специалиста или скрипт для выставления отложенных ордеров с заданным временем для работы в "Новостях". Нашел несколько, но они меня не удовлетворили. Я пытался сделать советника, который не сработал и не могу определить причину неудачи. Я пытался сделать скрипт для добавления графика, но не смог добиться успеха. Я пытался модифицировать стандартный MT4 скрипт также без успеха. Я хотел бы узнать, можете ли вы помочь мне создать скрипт для этой цели ... Выставлять ордера на покупку и продажу в заранее определенное время.

спасибо,

Paulo.peba

 

iATR не работает на XAGUSD и XAUUSD

С Рождеством и Новым годом!

Я хочу сделать индикатор, который сканирует несколько символов на разных таймфреймах. Символы XAGUSD и XAUUSD показывают ATR только 0.000.

Что не так?

double atr=iATR(symbol,timeframe[j],8,1)

12:28:48 Scan EURUSD,M1: EURJPY 5 ATR = 0.0325

12:28:48 Сканирование EURUSD,M1: EURJPY 15 ATR = 0.055

12:28:48 Сканирование EURUSD,M1: EURJPY 30 ATR = 0.0988

12:28:48 Сканирование EURUSD,M1: EURJPY 60 ATR = 0.1513

12:28:48 Сканирование EURUSD,M1: EURJPY 240 ATR = 0.2475

12:28:48 Сканирование EURUSD,M1: EURJPY 1440 ATR = 0.81

12:28:48 Сканирование EURUSD,M1: XAGUSD 5 ATR = 0

12:28:48 Scan EURUSD,M1: XAGUSD 15 ATR = 0

12:28:48 Сканирование EURUSD,M1: XAGUSD 30 ATR = 0

12:28:48 Сканирование EURUSD,M1: XAGUSD 60 ATR = 0.1662

12:28:48 Сканирование EURUSD,M1: XAGUSD 240 ATR = 0

12:28:48 Сканирование EURUSD,M1: XAGUSD 1440 ATR = 1.2625

12:28:48 Сканирование EURUSD,M1: XAUUSD 5 ATR = 0

12:28:48 Scan EURUSD,M1: XAUUSD 15 ATR = 0

12:28:48 Сканирование EURUSD,M1: XAUUSD 30 ATR = 0

12:28:48 Сканирование EURUSD,M1: XAUUSD 60 ATR = 0

12:28:48 Сканирование EURUSD,M1: XAUUSD 240 ATR = 0

12:28:48 Сканирование EURUSD,M1: XAUUSD 1440 ATR = 38.8625

С уважением

derumuro

 

Требуется помощь в кодировании индикатора Trendline-Pullback/Retest плюс с алертом

Привет трейдеры, есть ли здесь кто-нибудь, кто может помочь мне в кодировании индикатора, который способен выделить правильную линию тренда/канал, за которым следует предупреждение о прорыве (если он есть) и предупреждает нас, когда на нем происходит откат. Откат также может быть отступлением до уровня 38,2%, 50% или 61,8% Fib. Мне нужно что-то, что может выделить правильную линию тренда/канала, потому что я чувствую, что большинство индикаторов с автоматической линией тренда или автоканалом не выделяют правильную линию. Я искал много и мало на большинстве форумов, но не смог найти ни одного из этих так называемых индикаторов отката от линии тренда. Я пробовал DeMark, но мне не очень удобно им пользоваться. Я не уверен, что этот индикатор можно закодировать. Но я верю, что в этом мире нет ничего невозможного. Будьте здоровы...

 

Здравствуйте, Блэквуд

BlackWood:
Если у вас есть прибыльный советник, я закодирую его для вас или дам вам знать, если это действительно за пределами моих возможностей.

Ссылаясь на пост #148, возможно ли закодировать советника? Если это можно сделать, я полагаю, что советник может быть использован для скальпирования... Попробуйте разобраться, да... Заранее спасибо...

 

Нужна помощь в переделке советника

Привет ....

Кто-нибудь готов помочь мне добавить HH и LL в H1, чтобы показать тренды в советнике ниже и изменить красную линию и синюю на Supplay и спрос в H1? Я нашел это на форумах советников и я изменил его, но не идеально. Я хочу, чтобы этот советник работал на основе Supplay и Demand, чтобы видеть тренд с помощью HH и LL. Я надеюсь, что советник может быть вход от M5 с желтым Supplay спроса и требования Supplay относится к красным и синим в H1 (красный и синий теперь ложные, не Supplay и спроса, пожалуйста, быть изменены в Supplay и спроса). Тренд и разворот мы принимаем в виде серий HH и LL в H1.

Спасибо.

Файлы:
 

Пожалуйста, подскажите, как сделать вход после тейк-профита:)

Привет, гениальный кодер и добрые люди:D

Сейчас я разрабатываю простой советник, но не могу понять следующие условия.

Если предыдущая позиция закрыта по тейк-профиту, сделать новый вход на 20 пунктов по s/l и t/p по следующей цене открытия.(на 5M графике).

Я попытался написать один вариант.

if(OrderSelect(1,SELECT_BY_POS,MODE_HISTORY)) //Последней позицией был мгновенный ордер OP_BUY или OP_SELL

{

if(OrderClosePrice() == OrderTakeProfit()) // ЕСЛИ цена закрытия совпадает с ценой тейк-профита

{

if(OrderType() == OP_BUY) //Тип ордера этого ордера - покупка

{

OrderSend(OP_BUY,Lots,Ask,Slippage,SLpips,Ask+20*Point,"",MAGIC);//Лоты и другие переменные определяются мной самостоятельно

}

else if(OrderType() == OP_SELL)

{

OrderSend(OP_SELL,Lots,Bid,Slippage,SLpips,Bid-20*Point,"",MAGIC);

}

}

Я много раз пробовал запустить тестер стратегий, но не могу добиться желаемого результата.

Кто-нибудь помогите мне с этим вопросом!!!

С уважением.