1. Un EA scambierà una serie di ordini (compra-vendita-acquisto-vendita-...). La serie si concluderà con l'ordine che ha chiuso con un profitto. Come implementarlo?
2. Il prossimo problema. La prima serie non è ancora stata completata (non abbiamo avuto un ordine di profitto), e la seconda è iniziata. Come "dividerli" per l'Expert Advisor?
1. Un EA scambierà una serie di ordini (compra-vendita-acquisto-vendita-...). La serie si concluderà con l'ordine che ha chiuso con un profitto. Come implementarlo?
2. Il prossimo problema. La prima serie non è ancora stata completata (non abbiamo avuto un ordine di profitto), e la seconda è già iniziata. Come "dividerli" per l'Expert Advisor?
Buon pomeriggio a tutti. Continuando a segare la macchina del GraalJ. Devo rifare il codice con una preferenza per l'uso di funzioni, perché sono stanco di scorrere una tonnellata di codice. Voglio spostare le funzioni in file include separati. Ho creato la funzione per ottenere il segnale dall'indicatore ao nel file EA per la prova e funziona bene.
Il mio robot apre anche i trade, ma se creo un file plugin SIGNALS_INDIKATOR. Lo collego nel mio Expert Advisor in questo modo.
//+------------------------------------------------------------------+//| TREND+_V_1.0 |//| ДАНЯ ГАГАРКИН |//| https://vk.com/danila_mastep |//+------------------------------------------------------------------+#property copyright"ДАНЯ ГАГАРКИН"#property link"https://vk.com/danila_mastep"#property version"1.00"#property strict//НАЧАЛО ВХОДНЫХ ПЕРЕМЕННЫХ И ГЛОБАЛЬНЫХ ПЕРЕМЕННЫХ------------------------------------------------------------------------------------------+int intBars;// ПЕРЕМЕННАЯ ДЛЯ ОПЕРДЕЛЕНИЯ КОЛИЧЕСТВА БАРОВ, ЧТОБЫ ОПРЕДЕЛИТЬ ПОЯВЛЕНИЕ НОВОГО#include <TREND+\SIGNALS_INDIKATOR.mqh>
// А НИЖЕ ПОШЛИ ЕНУМЫ И ЭКСТЕРН ПЕРЕМЕННЫЕ
Scrivo anche la mia funzione per ottenere segnali da questo tipo di attacco, ma questa funzione non mostra le mie variabili esterne che ho facilmente passato all'EA stesso. La funzione di ottenere il valore dell'indicatore nel mio EA è così.
//НАЧАЛО ПОЛУЧЕНИЯ ДАННЫХ ПО АО СЕЛЛ------------------------------------------------------------------------------------------+double f_ao_sell()
{ double ao_sell = iCustom(Symbol(),PeriodForWork, //Таймфрейм на котором искать дивергенции"1)SEARCH_DIVERGENCE",
Params, // Параметры транслирования сигналов
ModeSignalsCTS, // транслировать сигналы в cts?
LifetimeOfSignal, //Время жизни сигнала в баарх рабочего тф
CTS_Name, // имя для cts
Div_Params, // параметры поиска дивергенции
PeriodForWork, // Таймфрейм на котором искать дивергенции
SearchAccuracy, // Режим поиска совпадений
NumBarAccuracy, // количество баров не точности поиска пиков
KoeffDistanceBetween,// коэффициент разницы между экстремумами
WidthChartLine, // толщина линий на графике цены
WidthIndicatorstLine,// толщина линий в окне индикаторов
ShiftArrow, // смещение значков
AO_Params, // Параметры АО
UseAO, // Искать дивергенции на АО
ColorUpperAO, // цвет верхних линий дивергенций АО
ColorLowerAO, // цвет нижних линий дивергенций АО
Stoch_Params, // параметры стохастик
UseStoch, // искать дивергенции на стохастик
ModeLineSTO, // ИСКАТЬ ДИВЕРГЕНЦИИ ПО ЛИНИИ STOCHASTIC:
Period_K, // период %К стохастик
Period_D, // период %Д стохастик
Slowing, // замедление стохастик
AppledPriceSTO, // цены расчёта стохастик
MethodMAStoch, // метод МА стохастик
UpperLevelSTO, // верхний уровень стохастик
LowerLewelSTO, // нижний уровень стохастик
ColorUpperSTO, // цвет верхних линий дивергенций стохастик
ColorLowerSTO, // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ STOCHASTIC
RSI_Params, // ПАРАМЕТРЫ RSI
UseRSI, // ИСКАТЬ ДИВЕРГЕНЦИИ НА RSI?
PeriodRSI, // ПЕРИОД RSI
AppledPriceRSI, // ПРИМЕНИТЬ К
UpperLevelRSI, // ВЕРХНИЙ УРОВЕНЬ RSI
LowerLewelRSI, // НИЖНИЙ УРОВЕНЬ RSI
ColorUpperRSI, // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ RSI
ColorLowerRSI, // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ RSI
MACD_Params, // ПАРАМЕТРЫ MACD
UseMACD, // ИСКАТЬ ДИВЕРГЕНЦИИ НА MACD
ModeLineMACD, // ИСКАТЬ ДИВЕРГЕНЦИИ ПО ЛИНИИ MACD:
FastEMA_MACD, // БЫСТРОЕ EMA MACD
SlowEMA_MACD, // МЕДЛЕННОЕ EMA MACD
PeriodSignalMACD, // ПЕРИОД СИГНАЛЬНОЙ SMA MACD
AppledPriceMACD, // ПРИМЕНИТЬ К:
ColorUpperMACD, // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ MACD
ColorLowerMACD, // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ MACD
Notifications_Params, // ПАРАМЕТРЫ ОПОВЕЩЕНИЙ
UseAlerts, // ОПОВЕЩАТЬ В ТЕРМИНАЛЕ О СИГНАЛЕ
UseMail, // ОПОВЕЩАТЬ НА E-MAIL О СИГНАЛЕ
UsePush, // ОПОВЕЩАТЬ О СИГНАЛЕ НА МОБИЛЬНЫЙ 2, //ВТОРОЙ БУФЕР- АО СЕЛЛ0// СИГНАЛ НА НУЛЕВОЙ СВЕЧЕ ИЗ-ЗА ОСОБЕННОСТЕЙ ИНДИКАТОРА
);
return(ao_sell);
}//КОНЕЦ ПОЛУЧЕНИЯ ДАННЫХ ПО АО СЕЛЛ------------------------------------------------------------------------------------------+
Se questa funzione si trova nel file EA sotto il tick e il timer, le variabili dichiarate come esterne sono chiaramente visibili in questa funzione. Ma se copio e incollo completamente questa funzione in un file include, le variabili esterne non sono visibili nella funzione.
La domanda è: cosa devo fare per rendere le variabili esterne visibili nelle funzioni nel file include, così come queste variabili sono visibili nelle funzioni EA, che scrivo sotto il timer?
Buon pomeriggio a tutti. Continuando a segare la macchina del GraalJ. Devo rifare il codice con una preferenza per l'uso di funzioni, perché sono stanco di scorrere una tonnellata di codice. Voglio spostare le funzioni in file include separati. Ho creato la funzione per ottenere il segnale dall'indicatore ao nel file EA per la prova e funziona bene.
Il mio robot apre anche i trade, ma se creo un file plugin SIGNALS_INDIKATOR. Lo collego nel mio Expert Advisor in questo modo.
Scrivo anche la mia funzione per ottenere segnali da questo tipo di attacco, ma questa funzione non mostra le mie variabili esterne che ho facilmente passato all'EA stesso. La funzione di ottenere il valore dell'indicatore nel mio EA è così.
Se questa funzione si trova nel file EA sotto il tick e il timer, le variabili dichiarate come esterne sono chiaramente visibili in questa funzione. Ma se copio e incollo completamente questa funzione in un file include, le variabili esterne non sono visibili nella funzione.
La domanda è: cosa devo fare per rendere le variabili esterne visibili nelle funzioni nel file include, così come queste variabili sono visibili nelle funzioni EA, che scrivo sotto il timer?
//+------------------------------------------------------------------+//| TREND+DIVERGENCE_V_1.0 |//| ДАНЯ ГАГАРКИН |//| https://vk.com/danila_mastep |//+------------------------------------------------------------------+#property copyright"ДАНЯ ГАГАРКИН"#property link"https://vk.com/danila_mastep"#property version"1.00"#property strict//НАЧАЛО ВХОДНЫХ ПЕРЕМЕННЫХ И ГЛОБАЛЬНЫХ ПЕРЕМЕННЫХ------------------------------------------------------------------------------------------+int intBars;// ПЕРЕМЕННАЯ ДЛЯ ОПЕРДЕЛЕНИЯ КОЛИЧЕСТВА БАРОВ, ЧТОБЫ ОПРЕДЕЛИТЬ ПОЯВЛЕНИЕ НОВОГО#include <TREND+DIVERGENCE\SIGNALS_INDIKATOR.mqh>
enum enumCoincidence
{
enCoinAccurate=1, // Точный
enCoinApproximate=0, // Приближенный
};
enum enumYN
{
enYes=1, // Да
enNo=0, // Нет
};
enum enumSL //ПЕРЕЧИСЛЕНИЕ ДЛЯ СТОП ЛОССА
{
en_fiks=1, // ФИКСИРОВАННЫЙ В ПУНКТАХ
en_po_atr=0, // ПО АТР
};
// ПЕРЕЧИСЛЕНИЕ ДЛЯ ВКЛЮЧЕНИЯ ПЕРВОГО ЭКРАНАenum enum_screen1 //ПЕРЕЧИСЛЕНИЕ ДЛЯ ПЕРВОГО ЭКРАНА
{
en_on_screen1=1, // 1 ЭКРАН ON
en_off_screen1=0, // 1 ЭКРАН OFF
};
//ЕНУМ 2-ГО ЭКРАНАenum enum_screen2 //ПЕРЕЧИСЛЕНИЕ ДЛЯ ВТОРОГО ЭКРАНА
{
en_on_screen2=1, // 2 ЭКРАН ON
en_off_screen2=0, // 2 ЭКРАН OFF
};
enum enum_use_filter //ПЕРЕЧИСЛЕНИЕ ДЛЯ ОТКРЫТИЯ ОТОЛЖАК С ФИЛЬТРОМ ИЛИ БЕЗ
{
en_bez_filtra=1, // БЕЗ ЦЕНОВОГО ФИЛЬТРА
en_c_filbtpom=0, // С ЦЕНОВЫМ ФИЛЬТРОМ
};
//-- ПЕРЕЧИСЛЕНИЕ ДЛЯ ТИПА ОРДЕРОВenum enum_tip_orderov
{
en_otlojki=1, // ОТЛОЖЕННЫЕ
en_rbIno4nbIe=0, // РЫНОЧНЫЕ
};
//--- ПЕЕРЧИСЛЕНИЕ ДЛЯ ВКЛЮЧЕНИЯ ТРАЛАenum enum_use_tral
{
en_on_tral=1, // С ТРАЛОМ
en_off_tral=0, // БЕЗ ТРАЛА
};
enum enumModeLINE
{
enMdMain=MODE_MAIN, // Main
enMdSign=MODE_SIGNAL,// Signal
};
enum enumSignalsMode
{
enBuy=0, // Только Buy
enSell=1, // Только Sell
enBoth=2, // Buy и Sell
};
externstring Params = "-- ПАРАМЕТРЫ ОТКРЫТИЯ СДЕЛКИ --";//======================================externint slippages= 5; // ПРОСКАЛЬЗЫВАНИЕexternint MaxRisk=1;// % УБЫТКА ПРИ SLexternint razmer_fikc_sl= 500;// ФИКСИРОВАННЫЙ SL П/П?extern enum_screen1 flag_screen1= en_on_screen1; // ВКЛ-ВЫКЛ 1 ЭКРАНextern enum_screen2 flag_screen2= en_on_screen2; // ВКЛ-ВЫКЛ 2 ЭКРАНextern enum_tip_orderov kakie_ordera= en_rbIno4nbIe;// ОРДЕРА ОТКРЫТИЯ?
Ho evidenziato le variabili esterne in giallo. Queste variabili sono visualizzate quando l'EA è collegato al grafico nella scheda dei parametri di input
Ho evidenziato le variabili esterne in giallo. Queste variabili sono visualizzate quando l'EA è collegato al grafico nella scheda dei parametri di input
Ora usano "input" invece di "extern".
Devi anche spostare le tue "variabili esterne" nella libreria SIGNALS_INDIKATOR.mqh
Io stesso non ho capito, Alexey, dove ha scavato questa coppia di valute )))
Succede... Pensato a una cosa, scritto a un'altra... Stessa cosa io.........)))
O gli sci sono cattivi... Non riesco a trovare alcuna menzione di questa coppia nei post di Michail_David ... Ovunque si dice USDJPY
Pista sbagliata )))) Io ;) Ho sbagliato.
Ma di fatto - la coppia è una stringa e non bisogna metterci le virgolette.
@Michail_David
vlt - la coppia che stai cercando (o un po' di essa :))
Pista sbagliata )))) Io ;) Ho sbagliato.
Ma in sostanza - una coppia è una stringa e non si dovrebbero mettere virgolette.
@Michail_David
vlt - coppia ricercata (o parte di essa :))
Sergey, grazie. Capisco l'idea.
Salve. Si prega di avvisare.
1. Un EA scambierà una serie di ordini (compra-vendita-acquisto-vendita-...). La serie si concluderà con l'ordine che ha chiuso con un profitto. Come implementarlo?
2. Il prossimo problema. La prima serie non è ancora stata completata (non abbiamo avuto un ordine di profitto), e la seconda è iniziata. Come "dividerli" per l'Expert Advisor?
Grazie.
Salve. Si prega di avvisare.
1. Un EA scambierà una serie di ordini (compra-vendita-acquisto-vendita-...). La serie si concluderà con l'ordine che ha chiuso con un profitto. Come implementarlo?
2. Il prossimo problema. La prima serie non è ancora stata completata (non abbiamo avuto un ordine di profitto), e la seconda è già iniziata. Come "dividerli" per l'Expert Advisor?
Grazie.
1 La condizione è troppo vaga per aiutare...
2 Usare diversi "magiks"
Buon pomeriggio a tutti. Continuando a segare la macchina del GraalJ. Devo rifare il codice con una preferenza per l'uso di funzioni, perché sono stanco di scorrere una tonnellata di codice. Voglio spostare le funzioni in file include separati. Ho creato la funzione per ottenere il segnale dall'indicatore ao nel file EA per la prova e funziona bene.
Il mio robot apre anche i trade, ma se creo un file plugin SIGNALS_INDIKATOR. Lo collego nel mio Expert Advisor in questo modo.
Scrivo anche la mia funzione per ottenere segnali da questo tipo di attacco, ma questa funzione non mostra le mie variabili esterne che ho facilmente passato all'EA stesso. La funzione di ottenere il valore dell'indicatore nel mio EA è così.
Se questa funzione si trova nel file EA sotto il tick e il timer, le variabili dichiarate come esterne sono chiaramente visibili in questa funzione. Ma se copio e incollo completamente questa funzione in un file include, le variabili esterne non sono visibili nella funzione.
La domanda è: cosa devo fare per rendere le variabili esterne visibili nelle funzioni nel file include, così come queste variabili sono visibili nelle funzioni EA, che scrivo sotto il timer?
Buon pomeriggio a tutti. Continuando a segare la macchina del GraalJ. Devo rifare il codice con una preferenza per l'uso di funzioni, perché sono stanco di scorrere una tonnellata di codice. Voglio spostare le funzioni in file include separati. Ho creato la funzione per ottenere il segnale dall'indicatore ao nel file EA per la prova e funziona bene.
Il mio robot apre anche i trade, ma se creo un file plugin SIGNALS_INDIKATOR. Lo collego nel mio Expert Advisor in questo modo.
Scrivo anche la mia funzione per ottenere segnali da questo tipo di attacco, ma questa funzione non mostra le mie variabili esterne che ho facilmente passato all'EA stesso. La funzione di ottenere il valore dell'indicatore nel mio EA è così.
Se questa funzione si trova nel file EA sotto il tick e il timer, le variabili dichiarate come esterne sono chiaramente visibili in questa funzione. Ma se copio e incollo completamente questa funzione in un file include, le variabili esterne non sono visibili nella funzione.
La domanda è: cosa devo fare per rendere le variabili esterne visibili nelle funzioni nel file include, così come queste variabili sono visibili nelle funzioni EA, che scrivo sotto il timer?
variabili esterne - cosa sono?
Inserirò un pezzo di codice con loro-
Ho evidenziato le variabili esterne in giallo. Queste variabili sono visualizzate quando l'EA è collegato al grafico nella scheda dei parametri di input
Inserirò un pezzo di codice con loro-
Ho evidenziato le variabili esterne in giallo. Queste variabili sono visualizzate quando l'EA è collegato al grafico nella scheda dei parametri di input
Ora usano "input" invece di "extern".
Devi anche spostare le tue "variabili esterne" nella libreria SIGNALS_INDIKATOR.mqh
Inserirò un pezzo di codice con loro-
Levariabili globali nel corpo dell'EA sono visibili solo all'EA e non ai plugin,
ma le variabili globali nel corpo del plugin sono visibili ovunque.