Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
MT-4, пожалуйста, помогите мне.
MT-4- Помогите пожалуйста, хочу сделать файл пересечения DMI+ и DMI- .Хочу иметь сигнал в момент движения DMI+ и DMI- без ADX. Мне это важно. Я пишу это ниже, но пожалуйста, создайте для этого файл, чтобы переместить его в MF4.
//+------------------------------------------------------------------+
//| ADXcross EXPERT |
//| Perky_z |
//| |
//+------------------------------------------------------------------+
#property copyright "Perky_z@yahoo.com "
#property link "http://groups.yahoo.com/group/MetaTrader_Experts_and_Indicators/"
//+--------------------------------------------------------------------------------------------------+
//| Алерт в руке с ADXcrosses Indicator их не нужно запускать вместе |
//+--------------------------------------------------------------------------------------------------+
// Оповещения о пересечении + и - линий DI
//Я использую его на 15-минутных графиках
// хотя выглядит хорошо на любом таймфрейме
// для подтверждения этого триггера используйте другие индикаторы
//---- входные параметры
double b4plusdi,b4minusdi,nowplusdi,nowminusdi;
//----
//---- индикаторы
В этой части кода измените период так, как вы хотите (14 меняем на 4 в каждой строке) и это должно работать в этой шкале, которую вы расположите на диаграмме.
b4plusdi=iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,1);
nowplusdi=iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,0);
b4minusdi=iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,1);
nowminusdi=iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,0);
Он закрывает частичные лоты, но... не совсем так, как я ожидал.
Я не могу понять, что он делает, но, похоже, закрывает 1 лот, когда цена находится НЕ там, где я хочу.
Возможно, вы можете увидеть проблему здесь.
должен закрываться 1 лот, когда есть BUY и цена идет .00071 (просто случайное число, которое я тестирую на 1-минутном графике)
или закрывать 1 лот, когда происходит ПРОДАЖА и цена падает на .00071.
Кстати, использую 5-значного брокера. Открыта только 1 сделка и только этим советником, так что никакого прокручивания ордеров.
СПАСИБО за помощь!
if (IsConnected() && IsTradeAllowed()) while (IsTradeContextBusy()) Sleep(75);
if (OrdersTotal()>0) {OrderSelect(0, SELECT_BY_POS,MODE_TRADES);
RefreshRates();
if (Bid >= (OrderOpenPrice()+ (.00071)) && OrderLots() == 2 && (OrderType() == OP_BUY)) {
OrderClose(OrderTicket(),1,Ask,10,R ed); }
if (Ask <= (OrderOpenPrice()- (.00071)) && OrderLots() == 2 && (OrderType() == OP_SELL)) {
OrderClose(OrderTicket(),1,Bid,10,B lue); }}
Можно ли сделать код для закрытия сделки в безубытке (прибыль=0), когда сделка (один раз) имеет положительную прибыль, но все еще ниже стоп-уровня брокера (трейлинг еще не тронут)?
Для брокера со стоп-уровнем 10 пунктов система трейлинга может работать, только если прибыль достигла хотя бы 10 пунктов.
Много раз я вижу, как сделка выходит в плюс только на 5 или 8 пунктов, а затем возвращается обратно и бьет SL.
Поэтому я думаю об этом, но не знаю, как это сделать.
Как сделать безубыточный код для советника, что-то вроде Trailing Stop, но работающий ниже минимального уровня StopLevel брокера?
Для SPACECHIMP
Когда мы открываем ордер, мы используем Ask для покупки и Bid для продажи. При закрытии - наоборот.
Да, я думаю, это очень полезно
FulltimeTrader:июнь2009
Мне нужна помощь в добавлении оповещения по электронной почте в этот индикатор Top Trend
Мне нужна помощь, чтобы добавить оповещение по электронной почте в этот индикатор Top Trend.
вот строка и прикрепленный файл.
if (trend>0)
{
if (Signal>0 && UpTrendBuffer[shift+1]==-1.0)
{
UpTrendSignal[shift]=bsmin[shift];
UpTrendBuffer[shift]=bsmin[shift];
if(Line>0) UpTrendLine[shift]=bsmin[shift];
if (SoundON==true && shift==0 && !TurnedUp)
{
Alert("BBands going Up on ",Symbol(),"-",Period());
TurnedUp = true;
TurnedDown = false;
}
}
else
{
UpTrendBuffer[shift]=bsmin[shift];
if(Line>0) UpTrendLine[shift]=bsmin[shift];
UpTrendSignal[shift]=-1;
}
if (Signal==2) UpTrendBuffer[shift]=0;
DownTrendSignal[shift]=-1;
DownTrendBuffer[shift]=-1.0;
DownTrendLine[shift]=EMPTY_VALUE;
}
if (trend<0)
{
if (Signal>0 && DownTrendBuffer[shift+1]==-1.0)
{
DownTrendSignal[shift]=bsmax[shift];
DownTrendBuffer[shift]=bsmax[shift];
if(Line>0) DownTrendLine[shift]=bsmax[shift];
if (SoundON==true && shift==0 && !TurnedDown)
{
Alert("BBands going Down on ",Symbol(),"-",Period());
TurnedDown = true;
TurnedUp = false;
}
}
else
{
DownTrendBuffer[shift]=bsmax[shift];
if(Line>0)DownTrendLine[shift]=bsmax[shift];
DownTrendSignal[shift]=-1;
}
if (Signal==2) DownTrendBuffer[shift]=0;
UpTrendSignal[shift]=-1;
UpTrendBuffer[shift]=-1.0;
UpTrendLine[shift]=EMPTY_VALUE;
}
}
return(0);
}
Не могу увидеть проблему ЗДЕСЬ!!!???? AAAAHHHH
Я понятия не имею, что я делаю не так...
похоже, что это не закрывает половину при определенном ТП.
if (OrdersTotal()>0) {
OrderSelect(0, SELECT_BY_POS,MODE_TRADES);
Tick = OrderTicket(); // Номер выбранного ордера
Tip =OrderType(); // Тип выбранного ордера
Цена =OrderOpenPrice(); // Цена выбранного ордера
Lot =OrderLots();
if (Bid >= (Price + (TakeProfit * Point)) && Lot == 2 && (Tip == OP_BUY)) {
OrderClose(Tick,1,Bid,10,Red); }
if (Ask <= (Price - (TakeProfit * Point)) && Lot == 2 && (Tip == OP_SELL)) {
OrderClose(Tick,1,Ask,10,Blue); }}
Правильно ли я указал BID и ASK? Возможно, нет.
мне нужна помощь с моим ea
мне нужен код, чтобы ограничить мою ea только одной сделкой. это скальпер, я хочу только одну сделку, после того, как она делает, я откладываю ее и прикрепляю ее снова на следующий день. может кто-нибудь помочь мне в этом????
Где в этой теме....
Где-то в этой теме должен был быть задан этот вопрос...
Может ли кто-нибудь помочь мне с кодом, чтобы 1) иметь скрытый SL, который 2) закрывает только часть (50%) открытого ордера и 3) закрывает оставшуюся часть ордера после пересечения скользящей средней.
Прилагается советник, но он не на английском, поэтому я не могу полностью понять, что он делает или куда добавить мой другой код.
Спасибо за помощь.
Как предотвратить перезагрузку индикатора при каждом новом тике
Подскажите, пожалуйста, что я сделал не так, вызывая iCustom, из-за чего индикатор загружается заново при каждом новом тике(при бэктестинге все окно просмотра заполняется сотнями итераций этого индикатора).
Из моей "Стартовой программы" я хочу подтвердить возможность торговли, используя метод EntryDir() (который следует ниже):
static datetime lastsd;
if ( CurTime()-lastsd>2*60*Period() )
{
if(ZZ>=High[1] && EntryDir()==OP_SELL)
{
if(pos == 1) {DoExit(OP_BUY);}
PrepNewOrder(OP_SELL);
lastsd=CurTime();
}
if(ZZ!=0 && ZZ<=Low[1] && EntryDir()==OP_BUY)
{
if(pos == -1) {DoExit(OP_SELL);}
PrepNewOrder(OP_BUY);
lastsd=CurTime();
}
}
int EntryDir()
{
bool buyOK=false, sellOK=false;
double flow = iCustom(NULL, 0, "Dtron", 0,0) + iCustom(NULL, 0, "Dtron" 1,0);
double trigger = iCustom(NULL, 0, "Dtron", 1,0) + iCustom(NULL, 0, "Dtron", 3,0);
double reversal = iCustom(NULL, 0, "Dtron", 4,0);
if((reversal==0 && flow + trigger>0) || reversal>0) entryDir=OP_BUY;
if((reversal==0 && flow + trigger<0) || reversal<0) entryDir=OP_SELL;
return(entryDir);
}
Пожалуйста, покажите мне, как предотвратить открытие сотен окон индикатора Dtron.