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

 

int start()

{

int total, ord, i;

строковый символ;

total = OrdersTotal();

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

{

OrderSelect(i,SELECT_BY_POS);

if(OrderSymbol() = Symbol())ord++;

}

if(ord>0) return (0); //Abort! Позиция для этой пары уже открыта.

//остальная часть кода моей программы

}

В реальности мне приходилось использовать паузы на пару секунд в коде из-за того, что брокеры не открывали позиции мгновенно.

 

Хочу открыть 1 ПОЗИЦИЮ в направлении, но не больше, даже если позиция достигает TP.

Проверка на открытую позицию, очевидно, не сработает.

Пример -

Я не хочу, чтобы выполнялась еще одна "покупка", если у меня была открыта покупка и она достигла TP. Я хочу, чтобы он дождался пересечения МА вниз и открыл SELL с TP и повторил все сначала.

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

СПАСИБО

 

Спасибо за информацию...

SPACECHIMP:
int start()

{

int total,ord,i;

строковый символ;

total = OrdersTotal();

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

{

OrderSelect(i,SELECT_BY_POS);

if(OrderSymbol() = Symbol())ord++;

}

if(ord>0) return (0); //Abort! Позиция для этой пары уже открыта.

//остальная часть кода моей программы

}

В реальности мне приходилось использовать паузы на пару секунд в коде из-за того, что брокеры не открывали позиции мгновенно.

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

Сценарий 1: Если ваша сделка на покупку проходит с вами...-Торговля 1, Т/Р в 70 пунктов

-Торговля 2, 30 пунктов от сделки 1, Т/Р на уровне 70 пунктов

-Торговля 3, 30 пунктов от сделки 2, Т/Р на уровне 70 пунктов

** Итого 210 пунктов

Сценарий 2: Если ваша сделка на покупку идет против вас... заключайте сделки через каждые 60 пунктов в течение трех сделок и ждите отката рынка в вашу сторону - сделка 1 плохая... заключайте новую непредвиденную сделку на покупку по цене -60 пунктов от цены сделки 1.

-Трейд 2 плохой... введите новую нештатную сделку на покупку по цене -60 пунктов от цены сделки 2.

-сделка 3 плохая... больше не вводите сделок.

--дождитесь признаков разворота...параболическая точка = дно... если похоже, что движение идет в нашу сторону, то входите в 4-ю сделку на покупку.

--ожидаем еще 30 положительных пунктов, затем вводим 5-ю сделку на покупку... продолжаем вводить сделки на покупку (6, 7, 8 сделки), пока она не достигнет уровня, на котором была 3-я сделка на случай непредвиденных обстоятельств.... затем ждем первоначальную первую 1 и следуем шагам сценария 1.

Возможно ли получить код для этой логики? Буду очень признателен!!!

 
SPACECHIMP:
Хочу открыть 1 ПОЗИЦИЮ в направлении, но не больше, даже если позиция попадает в TP.

Проверка на наличие открытой позиции, очевидно, не сработает.

Пример - .

Я не хочу, чтобы исполнялась еще одна "BUY", если у меня была открыта покупка и она достигла TP. Я хочу, чтобы он подождал, пока МА пересекутся вниз и открыл SELL с TP и повторил все сначала.

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

СПАСИБО

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

Надеюсь, это поможет.

Lux

 

RSI фильтр пит

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

Я пытался создать простую ea для этой инди (RSI filter Pete), но после компиляции, когда я запускаю бэктест, ничего не происходит.

Я хочу только

1-покупать на зеленом или светло-зеленом

2 и продавать на красном или светло-красном.

Поэтому я прошу любезных людей помочь мне с этим.

Заранее спасибо

 

MM для советника plz

Я хочу добавить это условие в мою ea

если убыток в текущий день = 100 ---> закрыть позицию, не брать никаких ОП до завтрашнего дня

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

кто-нибудь может помочь?

это мой советник

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

/*

EA Dengan sinyal dari signal ma

*/

extern double Lots = 0.01;

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

//| |

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

int start()

{

double a1, //ma 10 tf 4h

a2, //ma 10 tf 1h

a3, //ma 10 tf 15m

a4, //ma 10 tf 5m

j, //yesterday low price

k, //yesterday high price

b1, //ma 30 tf 4h

b2, //ma 30 tf 1h

b3, //ma 30 tf 15m

b4; //ma 30 tf 5m

int cnt, ticket, total;

if(Bars<100)

{

Print("bars less than 100");

return(0);

}

// to simplify the coding and speed up access

// data are put into internal variables

a1 = iMA(NULL,240,10,0,MODE_EMA,PRICE_CLOSE,0);

a2 = iMA(NULL,60,10,0,MODE_EMA,PRICE_CLOSE,0);

a3 = iMA(NULL,15,10,0,MODE_EMA,PRICE_CLOSE,0);

a4 = iMA(NULL,5,10,0,MODE_EMA,PRICE_CLOSE,0);

b1 = iMA(NULL,240,30,0,MODE_EMA,PRICE_CLOSE,0);

b2 = iMA(NULL,60,30,0,MODE_EMA,PRICE_CLOSE,0);

b3 = iMA(NULL,15,30,0,MODE_EMA,PRICE_CLOSE,0);

b4 = iMA(NULL,5,30,0,MODE_EMA,PRICE_CLOSE,0);

j = iLow(NULL,60,2);

k = iHigh(NULL,60,2);

total=OrdersTotal();

if(total<1)

{

// no opened orders identified

if(AccountFreeMargin()<(1000*Lots))

{

Print("We have no money. Free Margin = ", AccountFreeMargin());

return(0);

}

// check for long position (BUY) possibility

if(a1>b1&&

a2>b2&&

a3>b3&&

a4>b4+10*Point)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"macd sample",16384,0,Green);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());

}

else Print("Error opening BUY order : ",GetLastError());

return(0);

}

// check for short position (SELL) possibility

if(a1<b1&&

a2<b2&&

a3<b3&&

a4<b4-10*Point)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"macd sample",16384,0,Red);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());

}

else Print("Error opening SELL order : ",GetLastError());

return(0);

}

return(0);

}

// it is important to enter the market correctly,

// but it is more important to exit it correctly...

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()<=OP_SELL && // check for opened position

OrderSymbol()==Symbol()) // check for symbol

{

if(OrderType()==OP_BUY) // long position is opened

{

// should it be closed?

if(Bid>OrderOpenPrice()+100*Point)//if profit > 100

{

OrderModify(OrderTicket(),OrderOpenPrice(),j,0,0,Green);

return(0);

}

if(Bid<OrderOpenPrice()-150*Point)//stop loss

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position

return(0); // exit

}

}

else // go to short position

{

// should it be closed?

if(Ask 100

{

OrderModify(OrderTicket(),OrderOpenPrice(),k,0,0,Green);

return(0);

}

if(Ask>OrderOpenPrice()+150*Point)//stop loss

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position

return(0); // exit

}

}

}

}

return(0);

}

// the end.

 

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

Несколько недель назад я спрашивал о чем-то подобном на другом форуме. Что-то вроде CLOSEALL, если баланс = + x сумма или -x сумма. Я не программист, но кажется, что это невозможно (?), потому что я действительно получил только несколько ответов, которые были неясны.

Не кажется, что это так сложно, но опять же, я не программист.

Удачи,

 

возможно ли открыть торговое всплывающее окно советником ?

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

Я хотел бы открыть торговое всплывающее окно с помощью советника.

Возможно ли это?

Если возможно открыть его советником, то возможно ли открыть торговое всплывающее окно, на котором количество торгуемого объема (количество лотов) установлено на число, заказанное советником?

 
Dax:
Здравствуйте.

Я хотел бы открыть всплывающее окно торговли с помощью советника.

Возможно ли это?

Если возможно открыть его советником, то возможно ли открыть торговое всплывающее окно, на котором количество торгуемого объема (количество лотов) установлено на число, заказанное советником?

Вам придется сделать это с помощью dll.

 
Ms_Mel:
Привет,

Я просил о чем-то подобном на другом форуме несколько недель назад. Что-то вроде CLOSEALL, если баланс = + x сумма или -x сумма. Я не программист, но кажется, что это невозможно (?), потому что я действительно получил только несколько ответов, которые были неясны.

Не кажется, что это так сложно, но опять же, я не программист.

Удачи,

Поищите на форумах советников для близких по духу. Здесь есть несколько