[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 260

 
Подскажите где скачать MetaTrader 4 не дистрибутив?
 

Бляха муха... РАБОТАЕТ!!!!

#property indicator_chart_window
#import "user32.dll"
   int GetKeyState(int nVirtKey);
#import
extern string s0="номер окна от 0 до WindowsTotal()-1";
extern int aWindowNumber;
extern string s1="код клавиши (список см. winuser.h)";
extern int nVirtKey;
int i;

int init()
  {
   i=GetKeyState(nVirtKey);
   ObjectCreate("Smile",OBJ_LABEL,aWindowNumber,0,0);
   ObjectSet("Smile",OBJPROP_XDISTANCE,0);
   ObjectSet("Smile",OBJPROP_YDISTANCE,0);
   ObjectSetText("Smile", StringSetChar("", 0, 75), 50, "WingDings", Red);
   return(0);
  }

int deinit()
  {
   ObjectDelete("Smile");
   WindowRedraw();
   return(0);
  }

int start()
  {
   if (GetKeyState(nVirtKey)!=i){
      //Alert(Symbol(), " - ", StringGetChar(ObjectDescription("Smile"),0));
      i=GetKeyState(nVirtKey);
      if(StringGetChar(ObjectDescription("Smile"),0)==75){
         ObjectSetText("Smile", StringSetChar("", 0, 74), 50, "WingDings", Red);
         }else{
         ObjectSetText("Smile", StringSetChar("", 0, 75), 50, "WingDings", Red);
         }
      //switch(StringGetChar(ObjectDescription("Smile"),0)){
         //case 74 : ObjectSetText("Smile", StringSetChar("", 0, 75), 50, "WingDings", Red);//<-эта строка почему-то вообще управления не получает
         //case 75 : ObjectSetText("Smile", StringSetChar("", 0, 74), 50, "WingDings", Red);
         //}
   }
   return(0);
  }
 

Необходимые комментарии.

1. Может работать на нескольких графиках и адекватно перехватывает всю клавиатуру. Но почему-то в aWindowNumber надо всегда задавать ноль для всех окон. Почему я так и не понял. Может вы поясните.

2. Первая закомментированная строка - это я для тестирования.

3. Блок switch...case закомментил, почему-то не работает.

4. WinAPI-функция GetKeyState сама по себе триггер, при первом вызове возвращающая 1.

5. Напомните, пожалуйста, какая-то есть конструкция с while "до тех пор, пока работает эксперт" (используется для замыкания цикла на себя внутри start).

Простым языком. Смайлики помещаются хоть на десять окон с назначением каждому своей клавиши и потом с клавиатуры их можно включать-отключать. Данный код можно использовать для личных нужд, если напимер включать-отключать у эксперта режим торговли в каждом своём окне.

Но то что смайлик не меняется до тех пор, пока не образуется новая свеча (тестил на минутках), это мне не нравится. Поэтому и спрашиваю про while "до тех пор, пока работает эксперт"

 
gyfto:

Необходимые комментарии.

1. Может работать на нескольких графиках и адекватно перехватывает всю клавиатуру. Но почему-то в aWindowNumber надо всегда задавать ноль для всех окон. Почему я так и не понял. Может вы поясните.

2. Первая закомментированная строка - это я для тестирования.

3. Блок switch...case закомментил, почему-то не работает.

4. WinAPI-функция GetKeyState сама по себе триггер, при первом вызове возвращающая 1.

5. Напомните, пожалуйста, какая-то есть конструкция с while "до тех пор, пока работает эксперт" (используется для замыкания цикла на себя внутри start).

Простым языком. Смайлики помещаются хоть на десять окон с назначением каждому своей клавиши и потом с клавиатуры их можно включать-отключать. Данный код можно использовать для личных нужд, если напимер включать-отключать у эксперта режим торговли в каждом своём окне.

Но то что смайлик не меняется до тех пор, пока не образуется новая свеча (тестил на минутках), это мне не нравится. Поэтому и спрашиваю про while "до тех пор, пока работает эксперт"

while (true)

{

 

} 
 
gyfto:
5. Напомните, пожалуйста, какая-то есть конструкция с while "до тех пор, пока работает эксперт" (используется для замыкания цикла на себя внутри start).
while (!IsStopped()) //пока пользователь не снял эксперт с графика или по-другому не деинициализировал его
{
// делаем свое черное дело
}


ЗЫ Займитесь уже торговлей, хорош программировать)))

 
alsu:


ЗЫ Займитесь уже торговлей, хорош программировать)))



А может, кодером ему лучше выйдет, чем торговцем!
 
alsu:
while (!IsStopped())


Я про это и спрашивал. Сейчас буду тестить. Я в курсе что это "чёрный" код.

alsu:

ЗЫ Займитесь уже торговлей, хорош программировать))) 

Это и была обёртка для эксперта, переделанного из сигнального индикатора, я её и искал.
 
borilunad:

А может, кодером ему лучше выйдет, чем торговцем!

В наш век не быть программистом значит быть без рук. Да и не программист я, у меня шесть классов образования всего. Цыгане...
 

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

 
Подскажите пожалуйста скрипт для открытия нескольких ордеров по параметрам.
Например:

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

Причем параметры Стоп лосс и Тейк профит могут быть как указанными вручную, так и например Стоп лосс +10 пунктов от цены открытия

Спасибо. 

 
EugeneN:

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

 
Подскажите пожалуйста скрипт для открытия нескольких ордеров по параметрам.
Например:

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

Причем параметры Стоп лосс и Тейк профит могут быть как указанными вручную, так и например Стоп лосс +10 пунктов от цены открытия. 

Спасибо. 


Всего этого в КодеБэйс до чёртиков! Или Работа! А так, если неинтересно, да ещё с нуля, с чистым листом? Вряд ли кому-нибудь больше нечего делать! А лучше учитесь, начинайте с учебника, и вперёд!
Причина обращения: