Как кодировать? - страница 239

 

Здравствуйте

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

-открыть покупку или продажу, когда цена пересекает МА с возможностью обратного сигнала

- иметь опцию в меню, чтобы выбрать расстояние от MA, чтобы взять сигнал, например 5 пунктов от MA или больше (пользовательские).

-выбирать тип МА .... также применять к открытию, закрытию, ...

-настроить TP ... SL traling stop

-закрывать позицию по следующему сигналу или на определенном расстоянии в пунктах от\ под MA

- управление капиталом

- открывать только 1 позицию за раз, не больше... не хеджировать...

-функция мартингейла

-и вторичная МА (*это по желанию)

- RSI для фильтрации сигналов МА

Майб, я прошу слишком многого... извините за мой плохой английский.

С уважением,

 

не работает советник

я вставил советник искусственного интеллекта в программу fxcm mt4 (технология Boston)...

он не работает.....

но работает в fxpro и alpari mt4....

я не знал и не выяснил, какая проблема в этой программе,,,,

в domo и real в (fxcm mt4) не работает.....

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

 
sluxtpr:
Я вставляю советника искусственного интеллекта в программу fxcm mt4 (технология Boston)...

это не работает.....

но работает в fxpro и alpari mt4....

я не знал и не выяснил в чем проблема в этой программе,,,,

в domo и real в (fxcm mt4) не работает.....

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

какой советник с искусственным интеллектом?... возможно он требует другой валюты/символа или инструмента, которого нет в fxcm

-guyver

 

Помогите с советником

Может ли кодер посмотреть на этот код и сказать мне, почему он не размещает сделки? Во время бэктестов он работает нормально. Он успешно загружается, но не инициализируется. Я понятия не имею, откуда он взялся, но с некоторыми настройками он показал несколько приличных бэктестов. Я зашел на сайт, но там все на китайском языке или что-то вроде того, что я не могу прочитать. Заранее спасибо за любую помощь !!!

P.S. Мне пришлось удалить url из ссылки #property из-за ограничений на публикацию. Сайт - papazhoudotcom

#property copyright "Copyright ?2010, Antony, Fiona And Ken"

#property link

#define NoSignal -1

extern int EMAPeriod = 5;

extern int EMAPrice = PRICE_CLOSE;

extern int SMAPeriod = 20;

extern int SMAPrice = PRICE_CLOSE;

extern double Lots = 1;

extern int TP = 10;

extern int SL = 20;

extern int Magic = 123456;

int Signal = NoSignal;

int CloseSignal = NoSignal;

int CurrentBar = -1;

double ema1 = 0;

double sma1 = 0;

double ema2 = 0;

double sma2 = 0;

двойные лоты;

int init()

{

lots = Lots;

return(0);

}

int deinit()

{

return(0);

}

int start()

{

if(Period() != PERIOD_M5)

{

Alert("Этот советник работает только на периоде M5, пожалуйста, настройте текущий период!");

}

if(CurrentBar < Bars)

{

Signal = GetMASignal();

if(Signal != NoSignal)

{

lots = GetLots();

if(Signal == OP_SELL)

{

OpenTrade(OP_SELL, lots);

CloseSignal = OP_BUY;

}

if(Signal == OP_BUY)

{

OpenTrade(OP_BUY, lots);

CloseSignal = OP_SELL;

}

}

CurrentBar = Bars;

}

if(CloseSignal != NoSignal)

{

CloseTrades(CloseSignal);

if(!IsTradeExist(CloseSignal))

{

CloseSignal = NoSignal;

}

}

return(0);

}

//Пока не реализовано автоматическое вычисление лотов по размеру счета

double GetLots()

{

return(Lots);

}

//Проверка существования сделки на покупку или продажу

bool IsTradeExist(int cmd)

{

int count = OrdersTotal();

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

if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

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

if(OrderType() == cmd)

return(true);

return (false);

}

// Функция закрытия ордера

void CloseTrades(int cmd)

{

int count = OrdersTotal();

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

if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

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

if(OrderType() == cmd)

{

if(OrderType() == OP_BUY)

OrderClose(OrderTicket(), OrderLots(), Bid, 0, Green);

if(OrderType() == OP_SELL)

OrderClose(OrderTicket(), OrderLots(), Ask, 0, Pink);

}

}

//Поскольку некоторые брокеры не поддерживают SL и TP при отправке ордера.

//Поэтому используйте эту дополнительную функцию для изменения SL и TP

void ModifyTrade(int cmd, int ticket)

{

double tp, sl;

цвет clr;

if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))

{

if(cmd == OP_BUY)

{

tp = NormalizeDouble(OrderOpenPrice() + TP*MarketInfo(Symbol(), MODE_POINT), MarketInfo(Symbol(), MODE_DIGITS));

sl = NormalizeDouble(OrderOpenPrice() - SL*MarketInfo(Symbol(), MODE_POINT), MarketInfo(Symbol(), MODE_DIGITS));

clr = Blue;

}

if(cmd == OP_SELL)

{

tp = NormalizeDouble(OrderOpenPrice() + TP*MarketInfo(Symbol(), MODE_POINT), MarketInfo(Symbol(), MODE_DIGITS));

sl = NormalizeDouble(OrderOpenPrice() - SL*MarketInfo(Symbol(), MODE_POINT), MarketInfo(Symbol(), MODE_DIGITS));

clr = Red;

}

Print(sl);

OrderModify(OrderTicket(), OrderOpenPrice(), sl, tp, 0, clr);

}

}

//Функция для открытия ордеров

void OpenTrade(int cmd, double lots)

{

int ticket = -1;

if(cmd == OP_BUY)

ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, 0, 0, 0, 0, NULL, Magic, 0, Blue);

if(cmd == OP_SELL)

ticket = OrderSend(Symbol(), OP_SELL, lots, Bid, 0, 0, 0, 0, NULL, Magic, 0, Red);

if(ticket > -1)

ModifyTrade(cmd, ticket);

}

//Проверка пересечения 2 МА

int GetMASignal()

{

ema1 = iMA(Symbol(), Period(), EMAPeriod, 0, MODE_EMA, EMAPrice, 1);

sma1 = iMA(Symbol(), Period(), SMAPeriod, 0, MODE_SMMA, EMAPrice, 1);

ema2 = iMA(Symbol(), Period(), EMAPeriod, 0, MODE_EMA, EMAPrice, 2);

sma2 = iMA(Symbol(), Period(), SMAPeriod, 0, MODE_SMMA, EMAPrice, 2);

if(ema1 > sma1 && ema2 < sma2)

return(OP_BUY);

if(ema1 sma2)

return(OP_SELL);

return(NoSignal);

}

 

Обновление

Советник действительно инициализируется, но не выставляет сделки при пересечении ma

 

Советник или скрипт помогите пожалуйста господа

Здравствуйте, гуру

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

 

-------------------

 

Привет всем...

Может ли кто-нибудь подсказать мне, как избавиться от автоматических фибо-линий с пятницы по воскресенье, чтобы они показывали только с понедельника по четверг?

спасибо.

 
Sendra:
Привет всем...

Может ли кто-нибудь подсказать мне, как избавиться от автоматических линий fibo с пятницы по воскресенье, чтобы они отображались только с понедельника по четверг?

спасибо.

Один из способов сделать это - проверить с помощью функции TimeDayOfWeek(datetime) ... затем вы можете опустить дни, которые вам не нужны для отображения фибо.

-Guyver

 
Guyver:
Один из способов сделать это - проверить с помощью функции TimeDayOfWeek(datetime) ... тогда вы можете опустить дни, которые вам не нужно, чтобы fibo отображалось -Guyver

Привет, Гайвер, спасибо за ответ.

Я пробовал, но этот индикатор также использует бокс. И не имеет значения, куда я помещаю TimeDayOfWeek, это влияет только на бокс, а не на фибо.