neonobblu : Bana tavsiye verir misin. Sinyale bağlandım ve buna göre açık emirleri kopyalandı, işlem yaptığı lotun hacmini bir şekilde değiştirebilir miyim. Öyleyse nasıl?
Bir bak, plz, dört - içinden çıkamayacaksın gibi görünüyor ...
Dizilerle çalışıyorum - diziye bir kene geliş zamanını yazmam gerekiyor - örneğin - bir teklif yazıyorum. Her tikte. Her şeyi Artyom Trishkin'in minnettar olduğu biletlere göre yapıyorum. Her şey yolunda gitmiyor. Dövüştüğüm ikinci gün ... Baskılar
İnit'te SIZE değişkeninin 0 değerine sahip olduğunu görüyorum ve o zaman dizinin boyutu nedir? Ayrıca, yine, SIZE başlangıcı da 0 ... Günlükte neler var?
Artyom Trishkin : İnit'te SIZE değişkeninin 0 değerine sahip olduğunu görüyorum ve o zaman dizinin boyutu nedir? Ayrıca, yine, SIZE başlangıcı da 0 ... Günlükte neler var?
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick ()
{
//---//--- Запись ID графика
gv_chart_id_name=Prefix+ "_chart_id" ; // имя GV терминалаlong chart_id=get.GetChartID(symbol); // id текущего графикаdouble chart_id_double=ToDouble(chart_id); // id в представлении doubleif (chart_id>= 0 ) { // chart_id==0 в тестереif (! GlobalVariableCheck (gv_chart_id_name)) // Если GV-переменная удаленаGlobalVariableSet (gv_chart_id_name,chart_id_double); // создадим опять
}
else graph.Message( "Чё-та нету chart_id : Symbol()=" +symbol+ ", chart_id=" + IntegerToString (chart_id));
//--- работа с тиками текущего графикаif ( SymbolInfoTick (symbol,struct_tick)) {
double tick_bid=struct_tick.bid;
datetime tick_time=struct_tick.time;
WorkOnTick(symbol,tick_bid,tick_time,slowPeriod);
}
//---
}
//+------------------------------------------------------------------+
Aşağıdaki fonksiyon, sembol değişkeninde saklanan istenen sembolle çalışmayı organize eder, başka bir sembolle çalışmanız gerekiyorsa, oraya yazın. FillArrays() işlevi yalnızca dizileri doldurur.
//+------------------------------------------------------------------+void WorkOnTick( string sy, double symbol_bid, datetime symbol_time, int limit) {
long chart_id=get.GetChartID(sy);
int index_symbol=get.PositionsSymbolInList(sy); // позиция символа в спискеdouble pt= SymbolInfoDouble (sy, SYMBOL_POINT );
double pa= SymbolInfoDouble (sy, SYMBOL_ASK );
double pb= SymbolInfoDouble (sy, SYMBOL_BID );
int stoplevel=( int )MarketInfo(sy,MODE_STOPLEVEL);
int dg=( int ) SymbolInfoInteger (sy, SYMBOL_DIGITS );
//--- заполним массивы
FillArrays(sy,symbol_bid,symbol_time,table_price,table_time);
//--- расчёт среднего изменения цен тиковdouble avg_change_price=AverageChangePrice(index_symbol,limit,slowPeriod,table_price);
//--- вывод информации на график
wtf(index_symbol,avg_change_price,slowPeriod,table_price,table_time);
return ;
Trailing(sy, 50 , 3 , magic);
}
//+------------------------------------------------------------------+
Dizileri bunun gibi kenelerle doldurmam gerekiyordu:
//+------------------------------------------------------------------+void FillArrays( string sy, double price, datetime time, double &mass_price[][], datetime &mass_time[][]) {
//--- сместим данные в массивах влевоint index_symbol=get.PositionsSymbolInList(sy); // позиция символа в спискеfor ( int i= 99 ; i> 0 ; i--) { // сместим данные в массивах влево
mass_price[index_symbol][i]=mass_price[index_symbol][i- 1 ];
mass_time[index_symbol][i]=mass_time[index_symbol][i- 1 ];
}
//--- запишем товый тик в массивы
mass_price[index_symbol][ 0 ]=price;
mass_time[index_symbol][ 0 ]=time;
}
//+------------------------------------------------------------------+
Bir şey anlamıyorum - SIZE sıfıra eşittir, ancak neden önce dizinin boyutunu değiştirip, ancak daha sonra SIZE artıralım? Biraz karışıklık...
Bir şekilde, kenelerin yoğunluğunu ve aralığını belirleyen bir kene Uzman Danışmanı için dizileri kenelerle doldurdum. Örnekler için parçaları kesin:
Aşağıdaki fonksiyon, sembol değişkeninde saklanan istenen sembolle çalışmayı organize eder, başka bir sembolle çalışmanız gerekiyorsa, oraya yazın. FillArrays() işlevi yalnızca dizileri doldurur.
Dizileri bunun gibi kenelerle doldurmam gerekiyordu:
n - kene başına ortalama 1 tik/1 saniye hıza ihtiyacım var. Onlar. n-tikler k-saniye cinsinden gelir, k/n tikler saniyede gelir. Bu hız gelen her tikte ölçülmelidir. Sonraki her onay işaretiyle değişecektir.
Bana tavsiye verir misin. Sinyale bağlandım ve buna göre açık emirleri kopyalandı, işlem yaptığı lotun hacmini bir şekilde değiştirebilir miyim. Öyleyse nasıl?
Sağlayıcının hesabında tüm işlemler 0,1 lotluk bir hacimle yapılır. Bu işlemlerin, örneğin 0,3 lot gibi büyük bir hacimle kopyalanmasını istiyorum. Sesi kendim yükseltebilir miyim?
Sağlayıcı sembolünün işlemlerini Abone Sembolüne kopyalamak için kendi başınıza kurallar oluşturmak mümkün müdür?
Bir bak, plz, dört - içinden çıkamayacaksın gibi görünüyor ...
Dizilerle çalışıyorum - diziye bir kene geliş zamanını yazmam gerekiyor - örneğin - bir teklif yazıyorum. Her tikte. Her şeyi Artyom Trishkin'in minnettar olduğu biletlere göre yapıyorum. Her şey yolunda gitmiyor. Dövüştüğüm ikinci gün ... Baskılar
sıfırlar.
https://www.mql5.com/ru/forum/145455/page913#1017464
Sayesinde.
İnit'te SIZE değişkeninin 0 değerine sahip olduğunu görüyorum ve o zaman dizinin boyutu nedir? Ayrıca, yine, SIZE başlangıcı da 0 ... Günlükte neler var?
Ve böylece, sıfırlar ... Hiçbir şey anlayamıyorum ...
Sağlayıcının hesabında tüm işlemler 0,1 lotluk bir hacimle yapılır. Bu işlemlerin, örneğin 0,3 lot gibi büyük bir hacimle kopyalanmasını istiyorum. Sesi kendim yükseltebilir miyim?
Sağlayıcı sembolünün işlemlerini Abone Sembolüne kopyalamak için kendi başınıza kurallar oluşturmak mümkün müdür?
Ve böylece, sıfırlar ... Hiçbir şey anlayamıyorum ...
Bu yüzden, SIZE'ın sıfır olmaması için önce arttırılması ve ancak o zaman dizinin boyutunu değiştirmesi gerektiğini ima ettim.
:-)
TEŞEKKÜR.
Çalışır - kimin ihtiyacı var - kullanın.
:-)
TEŞEKKÜR.
Çalışır - kimin ihtiyacı var - onu kullanın.
Bir şey anlamıyorum - SIZE sıfıra eşittir, ancak neden önce dizinin boyutunu değiştirip, ancak daha sonra SIZE'ı artıralım? Biraz karışıklık...
Bir şekilde, kenelerin yoğunluğunu ve aralığını belirleyen bir kene Uzman Danışmanı için dizileri kenelerle doldurdum. Örnekler için parçaları kesin:
Aşağıdaki fonksiyon, sembol değişkeninde saklanan istenen sembolle çalışmayı organize eder, başka bir sembolle çalışmanız gerekiyorsa, oraya yazın. FillArrays() işlevi yalnızca dizileri doldurur.
Dizileri bunun gibi kenelerle doldurmam gerekiyordu:
Bir şey anlamıyorum - SIZE sıfıra eşittir, ancak neden önce dizinin boyutunu değiştirip, ancak daha sonra SIZE artıralım? Biraz karışıklık...
Bir şekilde, kenelerin yoğunluğunu ve aralığını belirleyen bir kene Uzman Danışmanı için dizileri kenelerle doldurdum. Örnekler için parçaları kesin:
Aşağıdaki fonksiyon, sembol değişkeninde saklanan istenen sembolle çalışmayı organize eder, başka bir sembolle çalışmanız gerekiyorsa, oraya yazın. FillArrays() işlevi yalnızca dizileri doldurur.
Dizileri bunun gibi kenelerle doldurmam gerekiyordu:
n - kene başına ortalama 1 tik/1 saniye hıza ihtiyacım var. Onlar. n-tikler k-saniye cinsinden gelir, k/n tikler saniyede gelir. Bu hız gelen her tikte ölçülmelidir. Sonraki her onay işaretiyle değişecektir.
Söyle bana, saati MT4'te bir yerde görebilir miyim? tercihen ikinci el ile.
Ya da belki böyle bir danışman var mı? saati terminalin alt satırına yazdır