Find Jobs
Hire Freelancers

Convert Buy/Sell MT4 indicator to an automatic EA

$30-5000 USD

Abgesagt
Veröffentlicht vor mehr als 14 Jahren

$30-5000 USD

Bezahlt bei Lieferung
I would like the following MT4 indicator coded into an automatic Expert Advisor. ? The only addition I'd make to the code is to allow for TP and SL to be adjustable by the user. ? The code works as is, but I'd like something I don't have top watch constantly. ## Deliverables Here is the MQ4 code which I would like converted into an automatic EA with the addition of adjustable "Take Profit" and "Stop Loss" options. //+------------------------------------------------------------------+ //| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [login to view URL] | //| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | //| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | //+------------------------------------------------------------------+ #property copyright "None" #property link ? ? ? "na" #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 White #property indicator_width1 10 //---- input parameters extern int ? ? ? barn=300; extern int ? ? ? Length=30;// was 19 double prev; double last; double alertBar; extern int SoundAlertMode = 1; extern int Soundonly = 1; extern bool targets = false; //---- buffers double ExtMapBuffer1[]; //double ExtMapBuffer2[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function ? ? ? ? ? ? ? ? ? ? ? ? | //+------------------------------------------------------------------+ int init() ? ? { //---- indicators ? ? SetIndexEmptyValue(0,0.0); ? SetIndexDrawBegin(0, barn); ? ? SetIndexStyle(0,DRAW_ARROW); ? ? SetIndexArrow(0,251);? ? ? SetIndexBuffer(0,ExtMapBuffer1); ? ? IndicatorShortName("DIN"); ? ? ? //---- ? ? return(0); ? ? } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function ? ? ? ? ? ? ? ? ? ? ? | //+------------------------------------------------------------------+ int deinit() ? ? { ? ? ObjectDelete("Start line"); ? ? ObjectDelete("Stop line"); ? ? ObjectDelete("Target1 line"); ? ? ObjectDelete("Target2 line"); ? ? ObjectDelete("Target3 line"); ? ? ObjectDelete("info0"); ? ? ObjectDelete("info1"); ? ? ObjectDelete("info2"); ? ? ObjectDelete("info3"); ? ? return(0); ? ? } //+------------------------------------------------------------------+ //| Custom indicator iteration function ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | //+------------------------------------------------------------------+ int start() ? ? { ? ? int ? ? counted_bars=IndicatorCounted(); ? ? int shift,Swing,Swing_n,uzl,i,zu,zd,mv; ? ? double PointA,PointB,PointC,Target1,Target2,Target3,Fantnsy,CrazyDream,Start,Stop; ? ? double LL,HH,BH,BL,NH,NL;? ? ? double Uzel[10000][3];? ? ? string text; // loop from first bar to current bar (with shift=0)? ? ? ? ? Swing_n=0;Swing=0;uzl=0;? ? ? ? ? BH =High[barn];BL=Low[barn];zu=barn;zd=barn;? for (shift=barn;shift>=0;shift--) {? ? ? ? ? LL=10000000;HH=-100000000;? ? ? for (i=shift+Length;i>=shift+1;i--) {? ? ? ? ? ? if (Low[i]< LL) {LL=Low[i];}? ? ? ? ? ? if (High[i]>HH) {HH=High[i];}? ? ? }? ? ? if (Low[shift]<LL && High[shift]>HH){? ? ? ? ? Swing=2;? ? ? ? ? if (Swing_n==1) {zu=shift+1;}? ? ? ? ? if (Swing_n==-1) {zd=shift+1;}? ? ? } else {? ? ? ? ? if (Low[shift]<LL) {Swing=-1;}? ? ? ? ? if (High[shift]>HH) {Swing=1;}? ? ? }? ? ? if (Swing!=Swing_n && Swing_n!=0) {? ? ? if (Swing==2) { ? ? ? ? Swing=-Swing_n;BH = High[shift];BL = Low[shift];? ? ? }? ? ? ? ? uzl=uzl+1;? ? ? if (Swing==1) { ? ? ? ? Uzel[uzl][1]=zd; ? ? ? ? Uzel[uzl][2]=BL; ? ? }? ? ? if (Swing==-1) { ? ? ? ? Uzel[uzl][1]=zu; ? ? ? ? Uzel[uzl][2]=BH;? ? ? }? ? ? ? ? BH = High[shift]; ? ? ? ? BL = Low[shift];? ? ? }? ? ? if (Swing==1) {? ? ? ? ? if (High[shift]>=BH) {BH=High[shift];zu=shift;}}? ? ? ? ? if (Swing==-1) { ? ? ? ? ? ? if (Low[shift]<=BL) {BL=Low[shift]; zd=shift;}}? ? ? ? ? Swing_n=Swing;? ? ? }? ? ? for (i=1;i<=uzl;i++) {? ? ? ? ? //text=DoubleToStr(Uzel[i][1],0); ? ? ? ? //text=; ? ? ? ? ? mv=StrToInteger(DoubleToStr(Uzel[i][1],0)); ? ? ? ? if(prev > Uzel[i][2] && ExtMapBuffer1[mv]!=Uzel[i][2] && SoundAlertMode > 0 && Bars>alertBar) {Alert("BUY Signal on ",Symbol()," Period ",Period());alertBar = Bars;} ? ? ? ? if(prev < Uzel[i][2] && ExtMapBuffer1[mv]!=Uzel[i][2] && SoundAlertMode > 0 && Bars>alertBar) {Alert("SELL Signal on ",Symbol()," Period ",Period());alertBar = Bars;} ? ? ? ? if(prev > Uzel[i][2] && ExtMapBuffer1[mv]!=Uzel[i][2] && Bars>alertBar) {PlaySound("[login to view URL]");alertBar = Bars;} ? ? ? ? if(prev < Uzel[i][2] && ExtMapBuffer1[mv]!=Uzel[i][2] && Bars>alertBar) {PlaySound("[login to view URL]");alertBar = Bars;} ? ? ? ? ExtMapBuffer1[mv]=Uzel[i][2]; ? ? ? ? prev=Uzel[i][2]; ? ? }? PointA = Uzel[uzl-2][2]; PointB = Uzel[uzl-1][2]; PointC = Uzel[uzl][2]; Target1=NormalizeDouble((PointB-PointA)*0.618+PointC,4); Target2=PointB-PointA+PointC; Target3=NormalizeDouble((PointB-PointA)*1.618+PointC,4); Fantnsy=NormalizeDouble((PointB-PointA)*2.618+PointC,4); CrazyDream=NormalizeDouble((PointB-PointA)*4.618+PointC,4); if (PointB<PointC) { Start= NormalizeDouble((PointB-PointA)*0.318+PointC,4)-(Ask-Bid); Stop=PointC+2*(Ask-Bid); } if (PointB>PointC) { Start= NormalizeDouble((PointB-PointA)*0.318+PointC,4)+(Ask-Bid); Stop=PointC-2*(Ask-Bid); } ? ? if (ObjectFind("Start Line") != 0 && targets == true)? ? ? ? { ? ? ? ? ObjectCreate("Start line",OBJ_HLINE,0,Time[0],Start); ? ? ? ? ObjectSet("Start line",OBJPROP_COLOR,Bisque); ? ? ? ? ObjectSet("Start line",OBJPROP_WIDTH,1); ? ? ? ? ObjectSet("Start line",OBJPROP_STYLE,STYLE_DOT); ? ? ? } ? ? ? else ? ? ? { ? ? ? ObjectMove("Start line", 0,Time[0],Start); ? ? ? } ? ? if (ObjectFind("Stop Line") != 0 && targets == true)? ? ? ? { ? ? ? ? ObjectCreate("Stop line",OBJ_HLINE,0,Time[0],Stop); ? ? ? ? ObjectSet("Stop line",OBJPROP_COLOR,Red); ? ? ? ? ObjectSet("Stop line",OBJPROP_WIDTH,1); ? ? ? ? ObjectSet("Stop line",OBJPROP_STYLE,STYLE_DOT); ? ? ? } ? ? ? else ? ? ? { ? ? ? ObjectMove("Stop line", 0,Time[0],Stop); ? ? ? } ? ? ? ? ? ? if (ObjectFind("Target1 Line") != 0 && targets == true)? ? ? ? { ? ? ? ? ObjectCreate("Target1 line",OBJ_HLINE,0,Time[0],Target1); ? ? ? ? ObjectSet("Target1 line",OBJPROP_COLOR,Yellow); ? ? ? ? ObjectSet("Target1 line",OBJPROP_WIDTH,1); ? ? ? ? ObjectSet("Target1 line",OBJPROP_STYLE,STYLE_DOT); ? ? ? } ? ? ? else ? ? ? { ? ? ? ObjectMove("Target1 line", 0,Time[0],Target1); ? ? ? } ? ? ? if (ObjectFind("Target2 Line") != 0 && targets == true)? ? ? ? { ? ? ? ? ObjectCreate("Target2 line",OBJ_HLINE,0,Time[0],Target2); ? ? ? ? ObjectSet("Target2 line",OBJPROP_COLOR,PaleTurquoise); ? ? ? ? ObjectSet("Target2 line",OBJPROP_WIDTH,1); ? ? ? ? ObjectSet("Target2 line",OBJPROP_STYLE,STYLE_DOT); ? ? ? } ? ? ? else ? ? ? { ? ? ? ObjectMove("Target2 line", 0,Time[0],Target2); ? ? ? } ? ? ? ? ? ? if (ObjectFind("Target3 Line") != 0 && targets == true)? ? ? ? { ? ? ? ? ObjectCreate("Target3 line",OBJ_HLINE,0,Time[0],Target3); ? ? ? ? ObjectSet("Target3 line",OBJPROP_COLOR,LightSkyBlue); ? ? ? ? ObjectSet("Target3 line",OBJPROP_WIDTH,1); ? ? ? ? ObjectSet("Target3 line",OBJPROP_STYLE,STYLE_DASH); ? ? ? } ? ? ? else ? ? ? { ? ? ? ObjectMove("Target3 line", 0,Time[0],Target3); ? ? ? } ? ? return(0); ? ? } //+------------------------------------------------------------------+
Projekt-ID: 3010373

Über das Projekt

1 Vorschlag
Remote Projekt
Aktiv vor 14 Jahren

Möchten Sie etwas Geld verdienen?

Vorteile einer Ausschreibung auf Freelancer

Legen Sie Ihr Budget und Ihren Zeitrahmen fest
Für Ihre Arbeit bezahlt werden
Skizzieren Sie Ihren Vorschlag
Sie können sich kostenlos anmelden und auf Aufträge bieten
1 Freelancer bieten im Durchschnitt $13 USD für diesen Auftrag
Avatar des Nutzers
See private message.
$12,75 USD in 14 Tagen
4,9 (28 Bewertungen)
4,9
4,9

Über den Kunden

Flagge von UNITED STATES
United States
0,0
0
Mitglied seit Dez. 7, 2009

Kundenüberprüfung

Danke! Wir haben Ihnen per E-Mail einen Link geschickt, über den Sie Ihr kostenloses Guthaben anfordern können.
Beim Senden Ihrer E-Mail ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.
Registrierte Benutzer Veröffentlichte Jobs
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Vorschau wird geladen
Erlaubnis zur Geolokalisierung erteilt.
Ihre Anmeldesitzung ist abgelaufen und Sie wurden abgemeldet. Bitte melden Sie sich erneut an.