Помогите пожалуйста
А разве можно это сравнивать?
OrderProfit()>OrderTakeProfit()
А почему нет ?
OrderProfit( | ) |
OrderTakeProfit( | ) |
Т.е. сумму денег сравнивать с ценой, оригинально !!!???
З.Ы. Могли бы и сами посмотреть.
Что вы посоветуете ? Поправьте пожалуйста.
Что вы посоветуете ? Поправьте пожалуйста.
Алгоритм советника напишите на бумажку, составьте блок-схему. И выучите матчасть (хотя бы заглядывайте в справку).
Если что-то работает не правильно, сделайте распринтовку (очень помогает) и если и тут что-то не понимаете, то вопрос на форум. И обязательно понятный вопрос с куском кода и код вставляйте через кнопку .
Поправить не могу, я не ясновидец и не знаю что хотите получить от советника.
Мне нужен совет .Что вписать в этот код советника чтобы отложенный ордер удалялся если предыдущая сделка закрылась по тейк профиту .
смотрел . Там целая бибилиотека .Респект Киму .Тут же всего три строчки . Вопрос между какими строчками вписать.
Мне нужен совет .Что вписать в этот код советника чтобы отложенный ордер удалялся если предыдущая сделка закрылась по тейк профиту .
if( isCloseLastPosByTake() ) { for(int i=0;i<OrdersTotal();i++) { if((OrderType() >= OP_BUYLIMIT ) && (OrderType() <= OP_SELLSTOP)) { OrderDelete(OrderTicket()); } } }
Примерно так.
isCloseLastPosByTake() - функция Игоря Кима.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Куда вписать это условие if((OrderProfit()>OrderTakeProfit()) OrderDelete(OrderTicket()) чтобы работало ?
void ManageSelllimit(string symb,double lt,double TP,double SL,int slp,int spd,int magic,string com)
{ double bid =MarketInfo(symb,MODE_BID);
double point =MarketInfo(symb,MODE_POINT);
double sprd =MarketInfo(symb,MODE_SPREAD);
double Price =OrderStopLoss();
if( sprd <= spd )
{
total = OrdersTotal();
int j, orders;
for(j=0;j<total;j++)
{
OrderSelect(j, SELECT_BY_POS, MODE_TRADES);
if(OrderMagicNumber() == magic) orders++; //---- an order is opened with
} //---- same symbol, same magic number
if ( orders >0 ) //---- we can go trading
{
if (TP==0) { tp=0; }
else { tp=Price-TP*point; }
if (SL==0) { sl=0; }
else { sl=Price+SL*point; }
//Print("ticket=OrderSend(",symb,",",OP_SELL,",",lt,",",bid,",",slp,",",sl,",",tp,",",com,",",magic,",",0,",",Red);
lotlib_OpenPriceLevel = Bid; // вместо Ask - реальное значение уровня открытия позиции
lotlib_StopLossLevel = sl; // вместо Ask-StopLoss*Point - реальное значение уровня СтопЛосса позиции
ticket=OrderSend(symb,OP_SELLLIMIT,Lot(),Price,slp,sl,tp,com,magic,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());
}
} //---- if ( orders < 1 )
} //---- if( sprd <= spd )
} //---- void