Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 511

 
AlexMikash :

İyi günler canım!

Değişkenleri çağırmanız gerekir: günün en yükseği, günün en düşük seviyesi, o günün kapanış ve açılış fiyatları ve bir sonraki günün açılış fiyatı!

Saygılarımla, Alex Mikash

https://docs.mql4.com/ru/series

if(DayOfWeek()==1,2..... && Hour()==1,2....)
{
double hi=iHigh(NULL,0,iBarShift(NULL,0,iTime(NULL, PERIOD_D1 ,0)));//yüksek tanımla
double low=iLow(NULL,0,iBarShift(NULL,0,iTime(NULL,PERIOD_D1,0)));//düşük olarak belirle.

///////////////////////////////////////////// //////////////////////////////////////////

double op=iOpen(NULL,0,iBarShift(NULL,0,iTime(NULL,PERIOD_D1,0)));//açmayı belirle.

 
woin2110 :

if ((yüksek-düşük)<=max_koridor_v_punktah)
{
int buy = OrderSend(Symbol(), OP_BUYSTOP, LotBuy, OpenBuy, 0, StopLossBuy, 0);//alış emri açın.

eğer (satın al>0)
{
Alert("BuyStop sipariş seti",satın al);
}
int sell= OrderSend(Symbol(), OP_SELLSTOP, LotSell, OpenSell, 0, StopLossSell, 0);//satış emri açın.
eğer (sat>0)
{
Uyarı ("SellStop sipariş seti", satış);
}
if (DayOfWeek()==5 && Hour()==22) // Cuma günü 23:00 sunucu saatinde bekleyen ve açık siparişleri sil
{
if (OrderSelect(sat,SELECT_BY_TICKET)==true)
{
OrderClose(sell,OrderLots(),Bid,3,Green);//(bilet, lot, kapanış fiyatı, puan kayması, grafikte kapanış oku rengi)

satmak için bir piyasa emrini kapatmak.
OrderDelete(sell);//satış limitlerinin kapatılması.
}
if (OrderSelect(satın al,SELECT_BY_TICKET)==true)
{
OrderClose(buy,OrderLots(),Ask,3,Red);//(bilet, lot, kapanış fiyatı, puan kayması, grafikte kapanış oku rengi)

bir piyasa satın alma emrini kapatmak.
OrderDelete(buy);//satın alma limitlerini kapatıyor.
dönüş(0);
}
}
}

Emirleri neden kapatmadığını ve limitleri silmediğini size kim söyleyecek?

en az

Böyle:

 if ((hi-low)<=max_koridor_v_punktah)
{
buy = OrderSend ( Symbol (), OP_BUYSTOP , LotBuy, OpenBuy, 0 , StopLossBuy, 0 ); //открытие ордера на покупку.

if (buy> 0 ) 
{
Alert ( "Установлен ордер BuyStop " ,buy);
}
 sell= OrderSend ( Symbol (), OP_SELLSTOP , LotSell, OpenSell, 0 , StopLossSell, 0 ); //открытие ордера на продажу.
if (sell> 0 ) 
{
Alert ( "Установлен ордер SellStop " ,sell);
}
if ( DayOfWeek ()== 5 && Hour ()== 22 ) //удаляем отложенные и открытые ордера в пятницу, в 23:00 по серверному времени 
{
if ( OrderSelect (sell, SELECT_BY_TICKET )== true )
{
OrderClose (sell, OrderLots (), Bid , 3 ,Green); //(тикет,лот,цена закрытия,проскальзывание в пунктах,цвет 
 стрелки закрытия на графике)зыкрытие рыночного ордера на продажу.
OrderDelete (sell); //закрытие лимиток на продажу.
}
if ( OrderSelect (buy, SELECT_BY_TICKET )== true )
{
OrderClose (buy, OrderLots (), Ask , 3 ,Red); //(тикет,лот,цена закрытия,проскальзывание в пунктах,цвет стрелки 
 закрытия на графике)зыкрытие рыночного ордера на покупку.
OrderDelete (buy); //закрытие лимиток на покупку.
return ( 0 ); 
}
} 
}
далее int buy,sell; должно быть за пределами старта
Да и лимиток тут нет, поэтому закрыть он их и не должен. 
 
Vladon :

en az

Böyle:

teşekkürler
 
Bir danışmanın çoklu para birimi testini yapmanıza izin veren bir kaynak / platform var mı?
 
evillive :
Robot, çizelgeden çıkarıldığında ve terminal kapatıldığında bellekten kaldırılır. En azından rehbere biraz göz atın, çok kullanışlıdır ve birçok soruyu elle çözer gibi ortadan kaldıracaktır.

okumayacak. videoyu bile izlemeyin. hipnotize etmem lazım...
 
Trader7777 :
Bir danışmanın çoklu para birimi testini yapmanıza izin veren bir kaynak / platform var mı?


Evet.

MT5

 
Vladon :


Evet.

MT5


ve MLQ4 ile yazılmış bir EA çalışacak mı?
 
isn-88 :

Merhaba. Olayların nasıl çalıştığını anlayın. Grafikten nesne silme olayı (CHARTEVENT_OBJECT_DELETE) benim için ÇALIŞMAZ. Hem fareyle hem de Nesne Listesi aracılığıyla silindi. 600 inşa et.

Bana neyin yanlış olduğunu söyle?

Yardımdaki kodu kullanıyorum

#define KEY_NUMPAD_5 12
#define KEY_LEFT 37
#define KEY_UP 38
#define KEY_RIGHT 39
#define KEY_DOWN 40
#define KEY_NUMLOCK_DOWN 98
#define KEY_NUMLOCK_LEFT 100
#define KEY_NUMLOCK_5 101
#define KEY_NUMLOCK_RIGHT 102
#define KEY_NUMLOCK_UP 104
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
//---
Print ( "Запущен эксперт с именем " , MQLInfoString ( MQL_PROGRAM_NAME ));
//---
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| ChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent ( const int id, // идентификатор события
const long & lparam, // параметр события типа long
const double & dparam, // параметр события типа double
const string & sparam) // параметр события типа string
{
//--- нажатие левой кнопкой мышки на графике
if (id== CHARTEVENT_CLICK )
{
Print ( "Координаты щелчка мышки на графике: x = " ,lparam, " y = " ,dparam);
}
//--- нажатие мышкой на графическом объекте
if (id== CHARTEVENT_OBJECT_CLICK )
{
Print ( "Нажатие кнопки мышки на объекте с именем '" +sparam+ "'" );
}
//--- нажатие кнопки на клавиатуре
if (id== CHARTEVENT_KEYDOWN )
{
switch ( int( lparam))
{
case KEY_NUMLOCK_LEFT: Print ( "Нажата KEY_NUMLOCK_LEFT" ); break ;
case KEY_LEFT: Print ( "Нажата KEY_LEFT" ); break ;
case KEY_NUMLOCK_UP: Print ( "Нажата KEY_NUMLOCK_UP" ); break ;
case KEY_UP: Print ( "Нажата KEY_UP" ); break ;
case KEY_NUMLOCK_RIGHT: Print ( "Нажата KEY_NUMLOCK_RIGHT" ); break ;
case KEY_RIGHT: Print ( "Нажата KEY_RIGHT" ); break ;
case KEY_NUMLOCK_DOWN: Print ( "Нажата KEY_NUMLOCK_DOWN" ); break ;
case KEY_DOWN: Print ( "Нажата KEY_DOWN" ); break ;
case KEY_NUMPAD_5: Print ( "Нажата KEY_NUMPAD_5" ); break ;
case KEY_NUMLOCK_5: Print ( "Нажата KEY_NUMLOCK_5" ); break ;
default : Print ( "Нажата какая-то неперечисленная клавиша" );
}
ChartRedraw ();
}
//--- удален объект
if (id== CHARTEVENT_OBJECT_DELETE )
{
Print ( "Удален объект с именем " ,sparam);
}
//--- создан объект
if (id== CHARTEVENT_OBJECT_CREATE )
{
Print ( "Создан объект с именем " ,sparam);
}
//--- перемещен объект или изменены координаты точек привязки
if (id== CHARTEVENT_OBJECT_DRAG )
{
Print ( "Изменение точек привязки объекта с именем " ,sparam);
}
//--- изменен текст в поле ввода графического объекта Edit
if (id== CHARTEVENT_OBJECT_ENDEDIT )
{
Print ( "Изменен текст в объекте Edit " ,sparam);
}
}


bende garip
 
Trader7777 :

ve MLQ4 ile yazılmış bir EA çalışacak mı?


kodu mt5'e çevirirseniz, evet.

başka bir yol yok.

 
Zolotai :


Teşekkür ederim. void init ve deinit neden gerekli? Deinit'i anlıyorum, içinde kod ancak o zaman yürütülür. Robot ne zaman başlıyor, değil mi? Peki ya init?

Kod ile mümkün olduğunca. Yani, bir kez daha beş basamaklı sayı konusunda endişelenmeyin. Şu anda beş haneli olduğumu nasıl bilebilirim?

init işlevinde basit koşul
 double point;
int OnInit()
{
point = Point;
if ( Digits % 2 == 1 )// значит пятизнак
point *= 10;
}
Metaller, stoklar ve hammaddeler sayılmaz.