[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 947

 

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

Я использую платформу Альпари МТ4, в ней реализована функция Трейлинг стопа (т.е. я могу поставить галочку ТрейлингСтоп 18 пунктов). Такой вопрос на засыпку, можно ли при открытии ордера заюзать функционал пратформы (типа программно поставить галочку ТрэйлингСтопа)?

 
001:

Вроде работает, только почему-то открывает две противоположные позиции.


 Значит чего-то путаешь - это вырезки из моего кода "лавины" - тебе с незначительными изменениями. У меня все работает исправно. Посмотри дополнительно на данный (подобный  фрагмент) здесь - все работает исправно, ищи у себя ошибку, все нормально...  Это базовая версия Лавины - здесь все подробно расписано - для себя (как тебе надо) уверен, особого

 труда не составит переделать, подобный фрагмент присутствует... 

Файлы:
av02.mq4  17 kb
 
artmedia70:
Логика проста как 2х2:
1. Сначала определяете, что предыдущая поза закрыта по стопу.
2. Далее проверяете отсутствие уже открытой противоположной позиции
3. И уже потом, после того, как определили, что её ещё нету - открываете её (противоположную той, что по стопу закрылась).

Здесь есть небольшое упущение. Когда откроется, а потом закроется по стопу или тейку противоположная поза, то снова возникнут условия для открытия. А мне нужно ОДИН раз.
 

Правильно ли я беру данные ? Спрашиваю потому что неработает. При компиляции ошибок нет. Потому думаю что с логикой что то не так. Кто может, проверте.

На картинке показаны только два сугнала хотя там их больше. 

Индикатор  FX Fish. Нужны сигналы на покупку - на первом баре гистограма выше уровня бай и гистограма на первом баре выше чем втором.

                                                     на продажу - на первом баре гистограма ниже уровня селл и гистограма на первом баре ниже гистограмы на втором баре

 

Код написал так

      double fx_fishUp1=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,0,1);
      double fx_fishUp2=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,0,2);
      double fx_fishDn1=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,1,1);
      double fx_fishDn2=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,1,2);
      
      if(fx_fishUp1-UpLevel>0 && fx_fishUp1-fx_fishUp2>0){fx_fUp=true; fx_fDown=false;}
      if(DnLevel-fx_fishDn1<0 && fx_fishDn2-fx_fishDn1<0){fx_fDown=true; fx_fDown=false;}


      if(fx_fUp) res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue);    
        
      if(fx_fDown) res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red);
                 
Файлы:
fxdfish.mq4  5 kb
 
И еще вопрос. Прикреплял файл FX Fish. он так в папке индикаторов называется,а тут как прикрепил появилось новое название  FXdFish.mq4
 
Roman.:


Значит чего-то путаешь - это вырезки из моего кода "лавины" - тебе с незначительными изменениями. У меня все работает исправно. Посмотри дополнительно на данный (подобный фрагмент) здесь - все работает исправно, ищи у себя ошибку, все нормально... Это базовая версия Лавины - здесь все подробно расписано - для себя (как тебе надо) уверен, особого

труда не составит переделать, подобный фрагмент присутствует...


У меня вот что получилось. Я убрал:

1.lots = NormalizeLots(lots); поставил фиксированный 0.1

2.заремил if (lastType == OP_SELL) OrderSend(Symbol(), OP_BUY, lots,...); т.к. сначала тестирую лонги.

Собственно все.

Файлы:
2.mq4  3 kb
 
001:

Здесь есть небольшое упущение. Когда откроется, а потом закроется по стопу или тейку противоположная поза, то снова возникнут условия для открытия. А мне нужно ОДИН раз.


 Пропишите нормальные условия открытия, что значит ОДИН раз - в сутки, в секунду, вообще в торгах... 

Формулируйте условия открытия НОРМАЛЬНЫЕ и пишите, например - введите ограничение по времени, допустим если в течение суток уже был открыт один ордер, то последующие не открываются - это торги раз в сутки - ограничение работы советника по времени - уже выкладывали в этой ветке, пользуйтесь поиском, например сформулируйте нижеприведенный код в условии открытия, т.е. если в этом временном диапазоне уже была торговля, то последующие ордера не открываются и т.д... Сформулируйте конкретно что Вам нужно, а не непонятно как "ОДИН раз", что один раз - за всю жизнь один раз? Формулируйте нормальные условия торговли, а не еб..е мозг. Не говоря уже о сайте - в этой ветке все это уже есть...

2. Подскажите, пожалуйста, как сделать, чтобы советник прекращал торговать в 21ч00мин и потом начинал только в 01ч00мин следующего дня. 

int start()
  { 

   if (Hour()>20 && Hour<2) return(0);

.....

  }
 
Roman.:


Пропишите нормальные условия открытия, что значит ОДИН раз - в сутки, в секунду, вообще в торгах...

Формулируйте условия открытия НОРМАЛЬНЫЕ и пишите, например - введите ограничение по времени, допустим если в течение суток уже был открыт один ордер, то последующие не открываются - это торги раз в сутки - ограничение работы советника по времени - уже выкладывали в этой ветке, пользуйтесь поиском, например сформулируйте нижеприведенный код в условии открытия, т.е. если в этом временном диапазоне уже была торговля, то последующие ордера не открываются и т.д... Сформулируйте конкретно что Вам нужно, а не непонятно как "ОДИН раз", что один раз - за всю жизнь один раз? Формулируйте нормальные условия торговли, а не еб..е мозг. Не говоря уже о сайте - в этой ветке все это уже есть...

001:

Пытаюсь реализовать простой переворот. При достижении стопа позиции --> открыть противоположную. Не получается сделать так, чтобы Однократно открывалась противоположная и больше ничего не открывалось. Подскажите плз.

При достижении стопа позиции. Есть позиция, у нее есть стоп. При достижении ценой стопа открыть противоположную позицию. Больше по первой позиции ничего не открывать.
 
001:
При достижении стопа позиции. Есть позиция, у нее есть стоп. При достижении ценой стопа открыть противоположную позицию. Больше по первой позиции ничего не открывать.

 на сайте https://www.mql5.com/go?link=http://www.kimiv.ru//  есть ф-ия определяющая конкретно закрытие ордера именно по стоп-лоссу. Т.е прописываете, подключая эту ф-ию, условие  закрылась ли поза по достижению стоп-лосса, если да, то открываете противоположную при этом дописываете дополнительно в условие открытия Вашей базовой позиции, условие  однократного ее открытия...
 
Подскажите есть ли какая дополнительная документация по названию всех элементов используемых в программе. Например: case, switch, os, bool, ++, ==, Имея какие-то знания начинаешь придумывать велосипед, а потом оказывается что есть специальная функция которая решает етот вопрос. В учебнике как я понял далекоооо не все, да и как искать то о чем даже не догадываешся?
Причина обращения: