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

 
linwood2010:
Подскажите, пожалуйста, как добавить стоплосс для следующего кода.

Спасибо.

скажем, вы хотите поставить стоплосс в 20 пунктов на лимитную покупку, вы измените код следующим образом

OrderSend(Symbol(),OP_BUYLIMIT,Lots,OpenPrice,0,OpenPrice-20*Point, ClosePrice,"",MAGIC,0,Blue);

-guyver

 

как сделать так, чтобы советник сам себя бэктестировал?

Здравствуйте, в настоящее время я использую Visual Trader Studio от iExpertAdvisor для создания советника... Я хотел бы узнать, возможно ли сделать так, чтобы советник тестировал сам себя?

Например, у него будут индикаторы, с которыми он будет работать, и по мере того, как он будет сталкиваться с рынком, он будет постоянно бэктестировать себя с входящими тиками и устанавливать параметры своих индикаторов в оптимальное состояние для совершения прибыльных сделок.

 

Процент стоплосса

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

Баланс 100

10% SL 10

TickValue 9.5

Размер лота 0.01

TickSize 0.095

SL в пунктах 105.2632

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

Любая помощь будет полезна.

Спасибо

Бено

 

Помогите

Не мог бы кто-нибудь закодировать HIDE TAKE PROFIT для этой версии благословения или помочь мне в этом направлении. Спасибо

Файлы:
 

ошибка открытия ордера на покупку: нет ошибки

Кто-нибудь знает, что это значит? Я перехожу с 4-значного на 5-значный для межбанка и не могу заставить его открыть сделку.

Ниже приведена моя функция init. Ниже - функция ордера...

Есть ли у кого-нибудь идеи, что делать по-другому???? HELP!

Только не присылайте мне ссылки на обновление ea. Я уже пробовал!

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

int init()

{

if (Digits == 3 || Digits == 5)

{

point = Point*10;

}

else

{

точка = Point;

}

return (0);

}

int OpenOrder(int type)

{

int ticket=0;

int err=0;

int c = 0;

if(type==OP_BUY)

{

for(c = 0 ; c < NumberOfTries ; c++)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,Ask-StopLoss*point,Ask+TakeProfit*point,ExpertComment,MagicNumber,0,Yellow);

err=GetLastError();

if(err==0)

{

break;

}

else

{

if(err==4 || err==137 ||err==146 || err==136) //Занятые ошибки

{

Sleep(5000);

continue;

}

else //нормальная ошибка

{

break;

}

}

}

}

 

Прежде всего, Interbank FX больше не допускает стоплоссы или тейкпрофиты в тикете на покупку или продажу. Это немедленно остановило бы торговлю. Вы должны установить их на 0.

ошибка 4=Торговый сервер занят.

ошибка 137=Брокер занят.

ошибка 146=Торговый контекст занят.

ошибка 136=Выключены котировки.

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage ,0,0,ExpertComment, MagicNumber,0,Yellow);

Уточните в InterbankFX, как должно быть установлено проскальзывание для 5-значных котировок. Возможно, вам придется добавить дополнительный 0 к числу проскальзывания, т.е. проскальзывание в 3 может быть 30 в 5-значной платформе.

Удачи!

 

Нет, стоп-лосс в торговле - это что-то вроде ореха, но спасибо... Я не знал этого!

 

Дивергенция

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

Я хочу, чтобы советник торговал дивергенцией в соответствии с индикатором Divergence, который у меня есть.

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

Все, что ему нужно, это простые входные данные, такие как

-таймер

SwingHigh/LowStoploss

-TpPips

-LotSize

Я включил необходимые индикаторы и картинки для примера.

Первая картинка - это подтвержденная сделка. а вторая картинка не является подтвержденной сделкой. из-за того, что дивергенция не происходит за пределами поддержки и сопротивления.

Пожалуйста, может ли кто-нибудь помочь мне?

 

Пользовательский индикатор

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

Я запрограммировал пользовательский индикатор.

Все работает идеально, но последний буфер не рисуется, и я не могу понять почему!

Первая попытка:

BuyBuffer[k] = (WL+WS)/2;

if(SumBuffer[k]>WL)

if(Sum2Buffer[k]<WL)

{

BuyBuffer[k] = EMPTY_VALUE;

}

Итак, все работает отлично. Я вижу свою линию на максимуме (WL+WS)/2 и на некоторых коротких линиях (они около 2 или 3 мм) я вижу прерывание линии (= EMPTY_VALUE).

Теперь я хочу получить шанс, то есть я хочу рисовать короткие линии только если условия истинны:

BuyBuffer[k] = EMPTY_VALUE;

if(SumBuffer[k]>WL)

if(Sum2Buffer[k]<WL)

{

BuyBuffer[k] = (WL+WS)/2;

}

Но теперь я не вижу ни одной строки - ничего! И я не могу этого понять!!!

Теперь я попробовал другой способ.

Я изменил

SetIndexStyle на "DRAW_ARROW"

и вот

if(SumBuffer[k]>WL)

if(Sum2Buffer[k]<WL)

{

BuyBuffer[k] = SYMBOL_ARROWUP;

}

Теперь мои проблемы:

1.Мой индикатор находится в отдельном_окне от 0 до 100, но символ рисуется на максимуме 253.707. Как я могу это изменить?

2.Я всегда получаю крестик в качестве символа, даже если я написал SYMBOL_ARROWUP и SYMBOL_ARROWDOWN.

Надеюсь, вы сможете мне помочь!

 

Помогите: как написать ордер закрытия советника, если его прибыль составляет 2 пункта?

Привет всем,

Кто-нибудь может мне помочь:

как написать ордер закрытия советника, когда он получает прибыль в 2 пункта?

Я хочу написать автоматический ордер закрытия советника, когда он получает прибыль 2 пункта и теряет 1 USD, потому что я торгую лотом 0.01.

Помогите мне пожалуйста!!! спасибо вам большое!!!