Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Per favore aiutatemi a spostare la linea.
--------------------------------------------------------------------------------
L'indicatore funziona come è stato progettato. Suona l'allarme quando il prezzo tocca la linea, ma voglio espandere su questo. Voglio questo:
Copia l'indicatore qui sotto poi fai queste 2 modifiche:
modifica #1:
creare una linea stoploss1 (c'è già) e spostare la linea dove si trova il mio stop loss se non ho uno stop loss impostato spostare la linea di 500 pips per evitare che l'allarme venga attivato.
modifica #2:
Creare una linea takeprofit1 (questo non è nel codice) e spostare la linea dove si trova il mio stop loss se non ho uno stop loss impostato spostare la linea a 502 pip per evitare che l'allarme venga attivato. Usare anche un diverso allarme sonoro.
Praticamente l'indicatore controllerà quali sono i miei stop loss e take profit e si muoverà ai rispettivi prezzi, se lo stop loss e il take profit non sono impostati, sposterà le linee a 500, 502 pip di distanza.
In questo modo quando il mercato ha colpito il mio profitto o stop loss il suono mi farà sapere quando im non guardando metatrader o avere la finestra di ridurre al minimo, e posso tornare indietro e vedere quale altro set up posso avere.
Grazie mille per il tuo aiuto fratello.
//+------------------------------------------------------------------+
//| HLine Alert.mq4 |
//+------------------------------------------------------------------+
#proprietà copyright ""
#proprietà indicator_chart_window
extern string LineName="Stoploss1";
extern color LineColor=Rosso;
extern int LineStyle=STYLE_SOLID;
extern int AlertPipRange=1;
extern string AlertWav="Alert2.wav
//+------------------------------------------------------------------+
//|Funzione di inizializzazione dell'indicatore personalizzata
//+------------------------------------------------------------------+
int init()
{
//---- indicatori
//----
return(0);
}
//+------------------------------------------------------------------+
//| Funzione di deinizializzazione dell'indicatore personalizzato |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Funzione di iterazione dell'indicatore personalizzato |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
ObjectCreate(LineName, OBJ_HLINE, 0, 0, 0, Bid);
ObjectSet(LineName, OBJPROP_STYLE, LineStyle);
ObjectSet(LineName, OBJPROP_WIDTH, 2);
ObjectSet(LineName, OBJPROP_COLOR, LineColor);
double val = ObjectGet( LineName, OBJPROP_PRICE1);
se (Bid-AlertPipRange*Point = val) PlaySound(AlertWav);
//----
//----
return(0);
}
//+--------------------------------------------------------------
Ecco una versione MTF che ho fatto per te con l'allarme
Ciao Aumentare ...
...ho scaricato il tuo indicatore (con allerta) e l'ho corretto...perché...ho un piccolo errore...
una volta che la freccia pop up mostra l'etichetta verso il basso e viceversa ...
quindi vorrei sapere come unire entrambi in uno..e come impostare l'invio dell'allarme a
e-mail in tutti i TF.
che u in anticipo
per favore ho bisogno di aiuto
per favore qualcuno può aiutarmi con la scrittura di codici che voglio sviluppare un robot per una strategia di scalping che ho scoperto
Ragazzi,
ecco un semplice codice per l'allarme sull'incrocio della media mobile e la chiusura come da immagine allegata,
Penso che ci sia qualcosa di sbagliato con l'istruzione if, si prega di rivedere,
grazie in anticipo.
//+------------------------------------------------------------------+
#property copyright "Non"
#property link "non"
#property indicator_chart_window
extern int Time_Frame = PERIOD_M5;
extern int MA_Period = 20;
extern int MA_Method = MODE_SMA;
extern int MA_applied_to = PRICE_CLOSE;
extern bool Enabled = true;
extern int WhatCorner=2;
int PrevAlertTime=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete("Alart_Condition");
ObjectDelete("Alart_Setup");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int BarsCount=IndicatorCounted();
if (Enabled == false)
{
string Alart_Condition = "Alart Disabled";
ObjectCreate("Alart_Condition", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Alart_Condition", Alart_Condition , 12, "Comic Sans MS", Red);
ObjectSet("Alart_Condition", OBJPROP_CORNER, WhatCorner);
ObjectSet("Alart_Condition", OBJPROP_XDISTANCE, 1);
ObjectSet("Alart_Condition", OBJPROP_YDISTANCE, 1);
return (0);
}
// if (!Enabled) return (0);
if (Enabled == true)
{
string Alart_Setup = (GetMethodText1(MA_Method)+ (DoubleToStr(MA_Period,0))+")"+ GetMethodText(MA_applied_to)) ;
ObjectCreate("Alart_Setup", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Alart_Setup", Alart_Setup , 12, "Comic Sans MS", Red);
ObjectSet("Alart_Setup", OBJPROP_CORNER, WhatCorner);
ObjectSet("Alart_Setup", OBJPROP_XDISTANCE, 1);
ObjectSet("Alart_Setup", OBJPROP_YDISTANCE, 1);
}
// if close of i < iMA && iMA < close of i-1 && last time alart .. then sell
for (int i=Bars;i>=1;i--)
{
double m = iMA(NULL,Time_Frame,MA_Period,0,MA_Method,MA_applied_to,i);
if ((CurTime() - PrevAlertTime > 20) && Close < m && m < Close)
{
Alert ("Sell " + Symbol());
PlaySound ("alert.wav");
PrevAlertTime=CurTime();
return(-1);
}
// if close of i-1 < iMA && iMA < close of i && last time alart .. then buy
if ( (CurTime() - PrevAlertTime > 20) && Close < m && m < Close )
{
Alert ("Buy "+ Symbol());
PlaySound ("alert.wav");
PrevAlertTime=CurTime();
return(-1);
}
}
//----
//----
return(0);
}
string GetMethodText1(int MA_Method)
{ switch(MA_Method)
{
case 0 : return("SMA("); break;
case 1 : return("EMA("); break;
case 2 : return("SMMA("); break;
case 3 : return("LWMA("); break; }
}
string GetMethodText(int MA_applied_to)
{
switch(MA_applied_to)
{case 0: return("C"); break; // Close
case 1: return("O"); break; // Open
case 2: return("H"); break; // High
case 3: return("L"); break; } // Low
}
//+------------
Aiuto con lo script
Ciao...
Sono un principiante assoluto nella codifica di questo, quindi mi chiedevo se qualcuno potesse dire cosa c'è di sbagliato in questo script...
Continuo a ricevere un errer 4109 ERR_TRADE_NOT_ALLOWED... il messaggio in MT4 è "Invalid price 1.48770000 for OrderSend function" Ma non riesco a capire perché... Quindi per favore aiutatemi qui...
{
double High1;
double Low1;
double TP = 50;
double SL = 50;
int Lots = (((AccountBalance()/15)/50)/10);
//----
{
High1 = iHigh(NULL, PERIOD_D1, 0);
Low1 = iLow(NULL, PERIOD_D1, 0);
double Buy = High1*Point;
double Sell= Low1*Point;
Print(Buy);
Print(Sell);
}
//----
{
OrderSend(Symbol(),OP_BUYSTOP,Lots,Buy,NULL,Ask-SL*Point,Ask+TP*Point);
OrderSend(Symbol(),OP_SELLSTOP,Lots,Sell,3,Bid+SL*Point,Bid-TP*Point);
Alert (GetLastError());
}
//----
return(0);
}Aiuto
Almeno ora ho capito il mio problema di commercio non consentito.
Ma ora continuo a ricevere un errore"fermate non valide"... qualcuno che può illuminarmi qui...? Non capisco davvero cosa c'è di sbagliato qui ...
Grazie in anticipo...
{
double High1;
double Low1;
int TP = 50;
int SL = 50;
int Lots = (((AccountBalance()/15)/50)/10);
//----
{
High1 = iHigh(NULL, PERIOD_D1, 0);
Low1 = iLow(NULL, PERIOD_D1, 0);
Print(High1);
Print(Low1);
}
//----
{
OrderSend(Symbol(),OP_BUYSTOP,Lots,High1,NULL,Ask-SL*Point,Ask+TP*Point);
OrderSend(Symbol(),OP_SELLSTOP,Lots,Low1,NULL,Bid+SL*Point,Bid-TP*Point);
Alert (GetLastError());
}
//----
return(0);
}Limitare il numero di compravendite a....
Sto cercando di aggiungere del codice ad un EA che limiterà il numero di trade che fa al giorno a solo due (2). Solo UN trade lungo e UN trade corto al giorno. Questo è il codice che ho finora, ma su un back test non funziona.
Potete aiutarmi?
datetime LongTrade=0;
datetime ShortTrade=0;
if(countOrders(OP_BUY,magic)==0 && LongTrade!=iTime(NULL,PERIOD_D1,0))
{
OrderSend(Symbol(),OP_BUY,lots,Ask,0,Bid-stop_loss*Point,lTP,comment + "lTP",magic);
LongTrade=iTime(NULL,PERIOD_D1,0);
return(0);
}
--------------------
if(countOrders(OP_SELL,magic)==0 && ShortTrade!=iTime(NULL,PERIOD_D1,0))
{
OrderSend(Symbol(),OP_SELL,lots,Bid,0,Ask+stop_loss*Point,sTP,comment + "sTP",magic);
ShortTrade=iTime(NULL,PERIOD_D1,0);
return(0);
}
GRAZIE.
Sto cercando di aggiungere del codice a un EA che limiterà il numero di compravendite che fa al giorno a solo due (2). Solo UN trade lungo e UN trade corto al giorno. Questo è il codice che ho finora, ma su un back test non funziona, potete aiutarmi?
Sostituisci
datetime LongTrade=0;
datetime ShortTrade=0;
a
static datetime LongTrade=0;
static datetime ShortTrade=0;
Aiuto con questo EA e indicatore per favore
Im a Newbe so Hi, as you can see Im having no luck with this.
Ho questo indicatore (istogramma/guarda indietro di 300 barre ma ridipinge MOLTO. Qualcuno può suggerire un indicatore che non ancora farà lo stesso job.this è, se potete aiutare che sarebbe fantastico
Saluti CharlieC
histoind.mq4
#proprietà indicator_chart_window
#proprietà indicator_buffers 2
#proprietà indicatore_colore1 Rosso
#proprietà indicatore_colore2 verde prato
stringa gs_unused_124 = "";
bool gi_unused_132 = FALSE;
extern int RISK = 3;
extern int CountBars = 300;
double g_ibuf_144[]
double g_ibuf_148[];
int init() {
IndicatorBuffers(2);
SetIndexStyle(0, DRAW_ARROW);
SetIndexArrow(0, 234);
SetIndexStyle(1, DRAW_ARROW);
SetIndexArrow(1, 233);
SetIndexBuffer(0, g_ibuf_144);
SetIndexBuffer(1, g_ibuf_148);
Commento();
return (0);
}
int start() {
int li_12;
double ld_52;
double ld_60;
doppio ld_68;
doppio ld_76;
doppio ld_84;
doppio ld_92;
doppio ld_100;
doppio lda_108[50000];
SetIndexDrawBegin(0, Bars - CountBars + 11 + 1);
SetIndexDrawBegin(1, Bars - CountBars + 11 + 1);
int l_ind_counted_8 = IndicatorCounted();
int li_20 = RISK * 2 + 3;
double ld_36 = RISK + 67;
double ld_44 = 33 - RISK;
int l_periodo_24 = li_20;
se (Bars <= 12) ritorno (0);
se (l_ind_counted_8 < 12) {
for (int li_0 = 1; li_0 <= 0; li_0++) g_ibuf_144[CountBars - li_0] = 0.0;
for (li_0 = 1; li_0 <= 0; li_0++) g_ibuf_148[CountBars - li_0] = 0.0;
}
for (int li_4 = CountBars - 11 - 1; li_4 >= 0; li_4--) {
li_12 = li_4;
ld_76 = 0.0;
ld_84 = 0.0;
for (li_12 = li_4; li_12 <= li_4 + 9; li_12++) ld_84 += MathAbs(High[li_12] - Low[li_12]);
ld_76 = ld_84 / 10.0;
li_12 = li_4;
ld_68 = 0;
mentre (li_12 < li_4 + 9 && ld_68 < 1.0) {
se (MathAbs(Open[li_12] - (Close[li_12 + 1])) >= 2,0 * ld_76) ld_68 += 1,0;
li_12++;
}
se (ld_68 >= 1,0) ld_92 = li_12
altrimenti ld_92 = -1;
li_12 = li_4;
ld_68 = 0;
while (li_12 < li_4 + 6 && ld_68 < 1.0) {
se (MathAbs(Close[li_12 + 3] - Close[li_12]) >= 4,6 * ld_76) ld_68 += 1,0;
li_12++;
}
se (ld_68 >= 1,0) ld_100 = li_12
altrimenti ld_100 = -1
se (ld_92 > -1.0) l_periodo_24 = 3
altrimenti l_periodo_24 = li_20;
se (ld_100 > -1,0) l_periodo_24 = 4
altrimenti l_periodo_24 = li_20;
ld_52 = 100 - MathAbs(iWPR(NULL, 0, l_periodo_24, li_4));
lda_108[li_4] = ld_52;
g_ibuf_144[li_4] = 0;
g_ibuf_148[li_4] = 0;
ld_60 = 0;
se (ld_52 < ld_44) {
for (int li_16 = 1; lda_108[li_4 + li_16] >= ld_44 && lda_108[li_4 + li_16] <= ld_36; li_16++) {
}
se (lda_108[li_4 + li_16] > ld_36) {
ld_60 = High[li_4] + ld_76 / 2.0;
g_ibuf_144[li_4] = ld_60;
}
}
se (ld_52 > ld_36) {
for (li_16 = 1; lda_108[li_4 + li_16] >= ld_44 && lda_108[li_4 + li_16] <= ld_36; li_16++) {
}
se (lda_108[li_4 + li_16] < ld_44) {
ld_60 = Basso[li_4] - ld_76 / 2.0;
g_ibuf_148[li_4] = ld_60;
}
}
}
return (0);
}
CharlieC
Già che ci sono, qualcuno può mettere anche un allarme sonoro (Darn Cheeky Ay, per un Newbeeee) questa roba ti fa fare cose divertenti
Scusa
CharlieC