Вы программист?
Вы учитесь программировать?
Вы заинтересованы в том, чтобы научиться программировать свои идеи?
Если ваш ответ "Нет", то, пожалуйста, попробуйте поискать в базе кода то, что вы ищете.
Мне нужно использовать трейлинг-стопы и трейлинг-профит.
Мой план:
Для трейлинг-стопа:
*После достижения определенного предела прибыли, скажем, 10 пунктов, стоп-лосс переместится на 5 пунктов. Теперь, если сделка вернется к 5 пунктам, то "две трети" сделки будут закрыты.
*Оставшаяся "одна треть" будет продолжать работать, и "трейлинг-стоп" для нее не будет применяться.
Для трейлинг-профита:
*Если сделка продвинется еще на 5 пунктов (т.е. 10+5=15 пунктов), то "одна треть" сделки будет закрыта, а оставшиеся "две трети" будут продолжать работать.
*А затем, скажем, после 10 пунктов больше, (т.е. 15+10=25 пунктов) "половина" оставшейся сделки будет закрыта, а оставшаяся "половина" будет продолжать работать без ограничения тейк-профита.
Но я не уверен, что это можно сделать для "одиночной" сделки. Вот почему я думал немного по-другому.
---> Три разных сделки будут открыты "одинаковым" лотом в "одинаковое" время.
---> Две из них будут закрыты, если цена вернется к уровню трейлинг стоп лосс, а оставшаяся одна будет продолжать работать по трейлинг стоп части.
---> Первая сделка будет закрыта по "TP-1", вторая - по "TP-2", а последняя - по трейлинг-профиту.
Но как отличить эти сделки? Можно использовать 'Order Ticket', но нет никакой гарантии, что все эти три сделки будут иметь последовательные серии Ticket, поскольку будут и другие сделки пары.
Это похоже на то, как если бы для одной сделки первоначальный Stop Loss не двигался.Вы программист?
Вы учитесь программировать?
Вы заинтересованы в том, чтобы научиться программировать свои идеи?
Если ваш ответ "Нет", то, пожалуйста, попробуйте поискать в базе кода то, что вы ищете.
Я искал, а потом опубликовал это.
Здесь есть сообщения о "трейлинг-стопах", но я не смог найти "именно то", что мне нужно. Возможно, я пропустил его там. Если вы знаете ссылку, пожалуйста, дайте мне ее.
К сожалению, я не могу найти такой способ и для вас. Пожалуйста, будьте терпеливы, возможно, кто-то придет и напишет код для вас.
На самом деле мне не нужен весь код. Мне просто нужно знать, какая "логика" может быть реализована здесь с помощью какой"функции(й)"?
У меня в голове есть некоторые логические схемы, но мне нужен способ "различать" сделки по 1,2,3.
На самом деле мне не нужен весь код. Мне просто нужно знать, какая "логика" может быть реализована здесь с помощью какой "функции(й)"?
У меня в голове есть логика, но нужен способ "различать" сделки на 1,2,3.
Затем попробуйте сделать это и покажите здесь ваши попытки, если у вас не получается, что бы вы ни пытались....
Самый простой способ - открыть 3 сделки "по новому сигналу", а затем выполнить свой план.
Я думал примерно так:
Будет три торговли.
for(cnt=3;cnt>0;cnt--) { if (cnt==1) { Disable Trailing Stop and Trailing Step } else { Enable Trailing Stop and Trailing Step } } //Trailing Profit: for(cnt=3;cnt>0;cnt--) { if (cnt==3) { Set take profit=TP1 } if (cnt==2) { Set take profit= TP2 } else { Disable Take Profit } }
Это просто схема. На этом скелете будет плоть, если "логика" сработает.
Я думал примерно так:
Будет три торговли.
Это просто схема. На этом скелете будет плоть, если "логика" сработает.
нет вы получаете сигнал на открытие продажи или покупки
Теперь вы должны сделать логику, вы открываете 3 сделки
с одинаковым стоплоссом
1 с тейкпрофитом на вашем первом уровне
1 с тейкпрофитом на втором уровне
1 без уровня тейкпрофита
нет, вы получаете сигнал на продажу или покупку
теперь вам нужно сделать логику вы открываете 3 сделки
с одинаковым стоплоссом
1 с тейкпрофитом на вашем первом уровне
1 с тейкпрофитом на вашем втором уровне
1 без уровня тейкпрофита
Значит, это должно быть что-то вроде этого?
double dTakeProfitPrice_1=10; double dTakeProfitPrice_2=20; double dTakeProfitPrice_3=0; if (Buy Condition Met) { if(iOpenOrders_Buy < iMaxOrders) { if(iOpenOrders_Buy ==0) // there is no 'Open' Buy orders { BuyOrder_1=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_1, "Buy Order",MagicNumber, 0,Blue); BuyOrder_2=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_2, "Buy Order",MagicNumber, 0,Blue); BuyOrder_3=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_3, "Buy Order",MagicNumber, 0,Blue); }
А что насчет стоп-лосса?
Значит, это должно быть что-то вроде этого?
А как насчет Stop Loss?
стоплосс вы изменяете для двух сделок, когда цена переместилась на > 10 пунктов выше orderopenprice
double dTakeProfitPrice_1=10; double dTakeProfitPrice_2=20; double dTakeProfitPrice_3=0; double BuyOrder_1,.......,.......; if (Buy Condition Met && iOpenOrders_Buy == 0)
{ iOpenOrders_Buy = 3; { if(iOpenOrders_Buy > 0) // we have to open new Buy orders { if(iOpenOrders_Buy == 3) { BuyOrder_1=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_1, "Buy Order",MagicNumber, 0,Blue); if(BuyOrder_1 > 0)....... } if(iOpenOrders_Buy == 2) { BuyOrder_2=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_2, "Buy Order",MagicNumber, 0,Blue); .... if(iOpenOrders_Buy == 1) { BuyOrder_3=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_3, "Buy Order",MagicNumber, 0,Blue); .... }
стоплосс вы изменяете для двух сделок, когда цена переместилась на 10 пунктов выше orderopenprice
Извините, на самом деле я немного запутался.
if(iOpenOrders_Buy = 3)
Если общее количество открытых ордеров на покупку равно '3', то код переходит к следующей части.
if(iOpenOrders_Buy > 0 )
Если количество всего открытых ордеров на покупку больше '0', то код переходит к следующей части.
if(iOpenOrders_Buy == 3)
Тогда если количество открытых ордеров на покупку равно 3, то откроется BuyOrder_1, если равно '2', то откроется BuyOrder_2 и затем BuyOrder_3, если количество открытых ордеров на покупку равно 1.
Я прав?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Мне нужно использовать трейлинг-стопы и трейлинг-профит.
Мой план:
Для трейлинг-стопа:
*После достижения определенного предела прибыли, скажем 10 пунктов, стоп-лосс переместится на 5 пунктов. Теперь, если сделка вернется к 5 пунктам, то "две трети" сделки будут закрыты.
*Оставшаяся "одна треть" будет продолжать работать, и "трейлинг-стоп" для нее не будет применяться.
Для трейлинг-профита:
*Если сделка продвинется еще на 5 пунктов (т.е. 10+5=15 пунктов), то "одна треть" сделки будет закрыта, а оставшиеся "две трети" будут продолжать работать.
*А затем, скажем, после 10 пунктов больше, (т.е. 15+10=25 пунктов) "Половина" оставшейся сделки будет закрыта, а оставшаяся "половина" будет продолжать работать без ограничения тейк-профита.
Но я не уверен, что это можно сделать для "одиночной" сделки. Вот почему я думал немного по-другому.
---> Три разных сделки будут открыты "одинаковым" лотом в "одинаковое" время.
---> Две из них будут закрыты, если цена вернется к уровню трейлинг стоп лосс, а оставшаяся одна будет продолжать работать по трейлинг стоп части.
---> Первая сделка будет закрыта на "TP-1", вторая сделка будет закрыта на "TP-2", а последняя будет продолжать работать для части трейлинг-профита.
Но как отличить эти сделки? Можно использовать 'Order Ticket', но нет никакой гарантии, что все эти три сделки будут иметь последовательные серии Ticket, поскольку будут и другие сделки пары.
Это похоже на то, как если бы для одной сделки первоначальный Stop Loss не двигался.