Форум

Подскажите как защитить советника от ДЕКОМПИЛЯЦИИ.

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

Как выбрать ордер из списка всех открытых ордеров?

Вообщем требуется следующее.............. В мультивалютном советнике требуется выполнить условие так чтоб при открытии ордера по одной паре больше не открывались ордера по этой паре а по другим можно открывать только по одному ордеру. Другими словами можно открывать ордера по любой паре только по

Где-то тут ошибочка.

Не могу найти ошибку. Нужно закрыть ордер когда МА меняет направление. В тестере-ошибка 4051. if ( OrdersTotal ( ) = = 1 ) { if ( MA4 > MA3 & & MA2 < MA1 ) { OrderSelect ( 1 , SELECT_BY_POS , MODE_TRADES ) ; if ( OrderCloseTime ( ) = = 0 ) { if ( OrderType ( ) = = OP_SELL ) {

Очередной советничег на суд программеров.

Вообщем-то ничего особенного. Вот мучал одну идею два месяца и вот что получилось. прибыль не большая но что-то похоже на правду. стейт прикрепил в архиве. замечания приветствуются)))

Подскажите пожалуйста по функции double OrderProfit( )

double OrderProfit ( ) Возвращает значение чистой прибыли (без учёта свопов и комиссий) для выбранного ордера. Для открытых позиций это - текущая нереализованная прибыль. Для закрытых ордеров - зафиксированная прибыль. А в чем прибыль-то? (валюта ордера, пипсы и т.д.)

Подскажите по Машке.

Ни как не могу понять как "обьяснить советнику" выполнить условия пересечения цены и МА double MA1 =iMA(NULL,0,PERIOD_M15,0,MODE_SMA,PRICE_CLOSE,1); double MA2 =iMA(NULL,0,PERIOD_M15,0,MODE_SMA,PRICE_CLOSE,3); double per=(Open[2]+High[2]+Low[2]+Close[2])/4; if (MA1<per<MA2) { .......... }

Помогите пожалуйста!

Вот требуется написать (точнее подсказать) как поправить код советника. Нужно чтоб открывались два противоположных отложеных ордера при пересечении двух МА с разными параметрами. вот........... так ли я сделал? double per=iMA(NULL,0,14,-15,MODE_SMMA,0,0); double per1=iMA(NULL,0,24,0,MODE_SMMA,0,0);

Господа посмотрите в чем ошибка? (вопрос программерам)

if (OrdersTotal()==2) { int m_1=1; int m_2=2; OrderSelect(m_1,SELECT_BY_POS); int info_6=OrderType(); if(info_6==OP_BUY || info_6==OP_SELL) { bool info_7=OrderSelect(m_2,SELECT_BY_POS); OrderDelete(OrderTicket()); } OrderSelect(m_2,SELECT_BY_POS); int info_8=OrderType();

Помогите исправить ошибочку!

//-----------------------Блок определения размера лота---------------------------- if( OrdersTotal()==0 ) { for (int n=0;n<OrdersHistoryTotal();n++) bool InfoHist=OrderSelect(n,SELECT_BY_POS,MODE_HISTORY); if (InfoHist==false) { Print("Ошибка при доступе к исторической базе"); } if