Перейти к содержанию
Форекс Форум трейдеров Академии «MasterForex-V»

Вопросы и ответы по теории и практике


Рекомендуемые сообщения

Контрольные вопросы:

1) Чему будут равны значение переменных после выполнения следующего кода?

myask = 25;
myNewAsk=++ myask++;

 

 

Privet, interesnaja tema!

 

Otvet:

myask=26
myNewAsk=27

 

S Uvazheniem,

Andrej

Ссылка на комментарий
Поделиться на другие сайты

Контрольные вопросы:

Чему равно значение переменных myAsk и myBid после выполнения следующего кода?

int myAsk=5;
int myBid;
myBid = myAsk+3;
myAsk = myBid+2;

 

 

Otvet:

 

myBid = 8
myAsk = 10 

 

S Uvazheniem,

Andrej

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...
  • 2 года спустя...

Сасибо за создание темы. Меня интересует такой момент, что магического числа нету в с++, но существует свой уникальный номер каждого ордера. Так же отсутсвует функция дробления лота - это когда нужно закрыть только часть лота.

Я создал логику, но не заню будет ли она работать.

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

 

Приблизительно это должно выглядить так :

данные : w // колличество ордеров

у // уровень бузубытка

z // уровень стопа

о// уровень профита

q// шаг профита

d// просто даные

с// просто даные

старт :

если открыт ордер то

{

если ордер бай то стоп такой с=1; иначе стоп другой с=2; d=1; x=w;

если х<2 то {пропуск} иначе {х--; если с=1 то покупка (bid,-z,+o+q,) ; иначе продажа (ask,+z,-o-q,) ;d=d+1; q=q*d; возврат в начало строки;}

}

тикет:

{безубыток} // правда я не знаю как должен выглядеть безубыток для такого колличества позиций так думаю что при такой обычной процедуре это не возможно

foreach (var position in Account.Positions)
{
if(position.SymbolCode == Symbol.Code)
{
if(position.TradeType == TradeType.Buy)
{
if (Bid-position.EntryPrice>=Tral_Stop*Point)
if (Bid-Tral_Stop*Point>=position.StopLoss)
Trade.ModifyPosition(position, Bid-Tral_Stop*Point, position.TakeProfit);
}
if(position.TradeType == TradeType.Sell)
{
if (position.EntryPrice-Ask>=Tral_Stop*Point)
if (Ask+Tral_Stop*Point<=position.StopLoss)
Trade.ModifyPosition(position, Ask+Tral_Stop*Point, position.TakeProfit);
}
}
}

стоп:

{если открыт ордер то возврат в начало строки иначе возврат на строчку старта}

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...
×
×
  • Создать...