Find Jobs
Hire Freelancers

Convert Buy/Sell MT4 indicator to an automatic EA

$30-5000 USD

キャンセル
投稿日: 14年以上前

$30-5000 USD

完了時にお支払い
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); ? ? } //+------------------------------------------------------------------+
プロジェクト ID: 3010373

プロジェクトについて

1個の提案
リモートプロジェクト
アクティブ 14年前

お金を稼ぎたいですか?

Freelancerで入札する利点

予算と期間を設定してください
仕事で報酬を得る
提案をご説明ください
登録して仕事に入札するのは無料です
この仕事に1人のフリーランサーが、平均$13 USDで入札しています
ユーザーアバター
See private message.
$12.75 USD 14日以内
4.9 (28 レビュー)
4.9
4.9

クライアントについて

UNITED STATESのフラグ
United States
0.0
0
メンバー登録日:12月 7, 2009

クライアント確認

ありがとうございます!無料クレジットを受け取るリンクをメールしました。
メールを送信中に問題が発生しました。もう一度お試しください。
登録ユーザー 投稿された仕事の合計
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
プレビューを読み込み中
位置情報へのアクセスが許可されました。
あなたのログインセッションの有効期限がきれ、ログアウトされました。もう一度ログインしてください。