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

 
Linuxser:
С помощью буфера или с помощью инструкции

Инструкция выглядит следующим образом

#свойство indicator_level1 30

#property indicator_level2 70

допустим, я хочу нарисовать 80% уровень на индикаторе momemtum, принимая значения массива max и массива min.

как нарисовать эту линию

Я получаю значение 80%, но как нанести его на график?

 
 
Tio Patinhas:
Привет ребята !!!

Это должно работать. Покажите нам весь код.

 
Roger09:
Это должно работать. Покажите нам весь код.

Проблема решена... Спасибо!

 

GlobalVariable help....

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

Первая - это значение валюты, когда был размещен ордер (первый ордер), я называю эту переменную center. Это центральное значение, т.е. Bid + Ask / 2 = center.

Вторая - count ... Простой счетчик, который я увеличиваю на единицу с каждым новым ордером, пока не закрою их все и счетчик не обнулится.

//=======================================================

Будет ли это работать для проверки глобальных переменных "center" и "count".... и, если они будут найдены, записывать значения в переменные center и count в моем советнике?

if (GlobalVariableCheck(center))

if (GlobalVariableCheck(count))

{

center = (GlobalVariableGet(center));

count = (GlobalVariableGet(count));

AskStart=1;

BidStart=1;

}

//==============================================================

Будет ли это (при условии, что AskStart и BidStart равны нулю) записывать значение центра в GlobalVariable "center"

if(AskStart==0)

if(BidStart==0)

{

AskStart = NormalizeDouble((Ask),4);

BidStart=NormalizeDouble((Bid),4);

center=((AskStart+BidStart)/2);

NormalizeDouble((center),4);

Print(center);

AskStart=1;

BidStart=1;

Comment(center);

GlobalVariableSet("center",center);

}

//=====================================================================

Будет ли это записывать значение count в GlobalVariable "count"?

tic = -1;

if(TradeLong)

if(center>(Ask+sh1))

if (count==1)

{

while((tic == -1 )&&center>(Ask+sh1))

{

Sleep(4000);

RefreshRates();

tic = OrderSend(Symbol(),OP_BUY,LE1, NormalizeDouble((Ask),4),5,Ask-sl1*Point,0,"",255,0,CLR_NONE);

}

if (tic != -1)

{

count=2;

GlobalVariableSet("count", count);

tic = -1;

}

else

{

return(0);

}

while((tic == -1 )&&center>(Ask+sh1))

{

Sleep(4000);

RefreshRates();

tic = OrderSend(Symbol(),OP_SELL,LE00, NormalizeDouble((Bid),4),5,Bid+sl0*Point,Bid-tp000*Point,"",255,0,CLR_NONE);

}

return(0);

}

//==============================================

Будет ли это удаление GlobalVariable считать и центрировать?

if(OrdersTotal()==0)

{

Closenow=False;

count=1;

AskStart=0;

BidStart=0;

center=0;

Hedgeonce=1;

GlobalVariableDel(center);

GlobalVariableDel(count);

}

Спасибо за помощь и обзор.....

 

простой советник

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

 

Фиксированный лот для определения SL

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

Я пытался сделать SL, который бы определялся из % риска и размера лота.

Пример

Баланс 2000

Риск 2%

Денежные средства под риском $40.00 = Баланс * Риск

Размер лота 0.02

TickValue 10.00 или как определено для каждой пары.

TickSize 0.2 = TickValue * LotSize

SL 200 = Денежные средства под риском / Размер тика.

Таким образом, SL будет установлен на расстоянии 200 пунктов от открытия.

Размер лота должен увеличиваться на 0.01 каждые 1000 долларов.

Вот что у меня есть на данный момент

double Lots;

if(OrderSelect(0,SELECT_BY_POS,MODE_HISTORY)) {

if(OrderType()==0 && OrderProfit()>0) {

if(AccountBalance()>1000*2) Lots=MathAbs(MathCeil(-AccountBalance()/OrderProfit()))*0.01;

else Lots=0.01;

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

Спасибо

Бено

 

Gidday

Как вы используете открытие бара в качестве точки разворота. пример

Если Bid движется выше открытия покупаем и достигаем TP (если повезет) и разворачиваемся, то Ask движется ниже открытия, поэтому открываем продажу.

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

Любая помощь была бы замечательной.

С уважением,

Бено

 

LimitOrders, который открыт?

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

Я хочу написать свой собственный советник.

Сначала я посылаю SellLimit и BuyLimit.

Затем я хочу увидеть, какие из этих ордеров достигнуты. Как я могу увидеть, какой ордер еще открыт?

Когда я смотрю на OrdersTotal(), я получаю мои ОТКРЫТЫЕ и ОТЛОЖЕННЫЕ ордера.

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

sunshineh

 

по OrderType( )

OP_BUY - позиция покупки,

OP_SELL - позиция на продажу,

OP_BUYLIMIT - лимит покупки отложенной позиции,

OP_BUYSTOP - отложенная позиция buy stop,

OP_SELLLIMIT - лимит продажи отложенной позиции,

OP_SELLSTOP - отложенная позиция sell stop.

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

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if(OrderType() == OP_BUY) {...do some thing....}

if(OrderType() == OP_SELL) {...do other thing....}

}