¿Cómo funciona?
- Órdenes pendientes automáticas basadas en RSI;
- Menor riesgo durante el fin de semana y restaurar la posición la próxima semana;
- Envío de información útil por correo.
Recomendaciones:
1. Configura testmode en verdadero para backtests y en falso para el modo real:
extern bool testmode = false;//true: para backtest
2. Si estás en modo de prueba, establece solo uno de los símbolos de operación, por ejemplo:
extern string tradesymbol1 = "EURUSDm_802_2802_1602_200_860"; extern string tradesymbol2 = ""; extern string tradesymbol3 = ""; extern string tradesymbol4 = ""; extern string tradesymbol5 = ""; extern string tradesymbol6 = "";
Si estás en modo de cuenta real, establece testmode en falso y configura los símbolos de la siguiente manera (usa "," para separar símbolos y "_" para separar parámetros de un símbolo):
extern string tradesymbol1 = "EURUSDm_802_2802_1602_200_860,USDCHFm_506_2606_1506_120_600"; extern string tradesymbol2 = "USDJPYm_460_2802_1302_100_320"; extern string tradesymbol3 = ""; extern string tradesymbol4 = ""; extern string tradesymbol5 = ""; extern string tradesymbol6 = "";
EURUSDm_802_2802_1602_200_860 significa:
- Símbolo: EURUSDm(m significa mi cuenta mini de Exness, posiblemente debas modificar para tu propio símbolo)
- Pips pendientes: 802 (gap pendiente)
- Pips adicionales de fin de semana: 2802 (ampliar gap adicional durante el fin de semana)
- Pips de cancelación: 1602 (cuando el gap exceda este número de pips, cierra la orden pendiente)
- Trailing stop loss: 200 (trailing stop loss)
- Toma de ganancias: 860 (toma de ganancias virtual)
3. Si deseas eliminar órdenes pendientes durante el fin de semana, establece weekenddelete en verdadero; si deseas ampliar el gap pendiente y restaurarlo la próxima semana, establece en falso.
extern bool weekenddelete = false;//true: eliminar, false: modificar
4. Horarios de inicio y fin del modo de fin de semana (5 significa viernes, 7 significa domingo; la hora está en GMT, posiblemente debas ajustarla a tu hora local; los parámetros predeterminados funcionan bien en horario de Beijing):
//hora de finalización del trading el viernes extern int weekendbeginday = 5; extern string weekendbegintime = "20:30";//viernes 20:30 extern int weekendendday = 7; extern string weekendendtime = "23:30";//domingo 20:30
5. Todos los símbolos (pueden no ser símbolos de trading) para los cuales deseas recibir un aviso del valor de RSI (mayor a 70 o menor a 30) y reportes periódicos. Obviamente, debes modificar el AUDJPYm si tu cuenta no es mini.
string symbolsstr1 = "AUDJPYm,AUDCADm,AUDCHFm,AUDNZDm,AUDSGDm,AUDUSDm,CADCHFm,CADHKDm,CADJPYm,CHFJPYm,CHFPLNm,CHFSGDm,EURAUDm,EURBRLm,EURCADm,EURCHFm,EURDKKm,EURGBPm,EURHKDm,EURHUFm,EURJPYm,EURMXNm"; string symbolsstr2 = "GBPCHFm,GBPJPYm,GBPNZDm,GBPUSDm,HKDJPYm,HUFJPYm,MXNJPYm,NZDCADm,NZDCHFm,NZDJPYm,NZDSGDm,NZDUSDm,SGDJPYm,USDBRLm,USDCADm,USDCHFm,USDCZKm,USDDKKm,USDHKDm,USDHUFm,USDJPYm,USDMXNm"; string symbolsstr3 = "EURNOKm,EURNZDm,EURPLNm,EURRUBm,EURSEKm,EURSGDm,EURTRYm,EURUSDm,EURZARm,GBPAUDm,GBPCADm,USDNOKm,USDPLNm,USDRONm,USDRUBm,USDSEKm,USDSGDm,USDTRYm,USDZARm,XAGUSDm,XAUUSDm,ZARJPYm"; long sendmininterval = 3600;
6. Configuración de RSI:
//rsi extern int rsitimeframe = PERIOD_H4; extern int rsiperiod = 14; extern ENUM_APPLIED_PRICE rsiappliedprice = PRICE_CLOSE; extern int rsishift = 0; extern double rsiupperline = 70; extern double rsilowerline = 30;
7. Usa magicweekendexpiration para identificar el modo de fin de semana. Si alguien tiene una mejor manera, por favor avísame.
int magicweekendexpiration = 1577836800;//2020-1-1 0:0:0 valor int:1577836800
8. Otros:
Si la modificación al modo de fin de semana falla, el EA enviará un correo y tratará hasta MAX_MODIFY_TRY_TIME (100 por defecto) veces hasta tener éxito.
No se aplica stop loss, y si una orden de poca pérdida (mínima de compra o máxima de venta) de un símbolo excede los pips pendientes, el EA pendeará otra orden del mismo símbolo.
En modo de prueba, si el equity es menor al 95% del balance, el EA registrará el estado en archivos de advertencia.
if(((AccountEquity()/AccountBalance()) < 0.95)) { WriteToWarningFile(); }
Si has encontrado algún error o tienes sugerencias, por favor házmelo saber.
Comentarios 0