MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 707 1...700701702703704705706707708709710711712713714...1953 新しいコメント Alexey Viktorov 2018.12.01 17:52 #7061 Roman Shiredchenko:というのは冗談で、そうやってコケるわけではありません。 異端を書き込む前に、写真をよく見てください。 話題がくだらなすぎて、読んでいて嫌になる...。...すると、ビジュアルが欠落し、最適化が...。 窓を広くすれば、幸せになれる。どのウィンドウを拡大するか迷うことはありません。 Roman Shiredchenko 2018.12.01 17:57 #7062 ilvic:問題は、画面の解像度です。ありがとうございました。写真を見て推測し始めたのですが...。 Roman Shiredchenko 2018.12.01 18:11 #7063 ilvic:問題は、画面の解像度です。いつもありがとうございます。すべてうまくいき、問題は文字サイズ(フォント)表示でした PokrovMT5 2018.12.02 16:07 #7064 こんにちは、インジケーターのコードのバグを見つけるのを助ける 、コメントは、コードにある 、青は私が書きたいように描画することはありません。最終更新から最終更新の緑色の線までの時間幅の中で最も小さいLow値を見つけるアイデア。ありがとうございます。{ if(prev_calculated<1) limit=rates_total-1; if(prev_calculated>0)limit=rates_total-prev_calculated; for(i=limit; i>=0; i--) { yesterday_weekday = TimeDayOfWeek(iTime(Symbol(),0,i+1))-TimeDayOfWeek(iTime(Symbol(),0,i)); if (yesterday_weekday !=0) // находим открытие нового дня { BH=open[i];BL=open[i]; // переменные ХАЙ ЛОУ Closebar=open[i]; // искомая переменная NHT=time[i]; // переменная время последнего обновления ХАЙ PHT=time[i]; // переменная время предпоследнего обновления хай } CloseD[i]=Closebar; // буфер отрисовки искомая переменная СИНИЙ ЦВЕТ HD[i]=BH; // буфер отрисовки ХАЙ LD[i]=BL; // буфер отрисовки ЛОУ if (Fun_New_Bar==false) // находим закрытие бара { if (Prev_Time==0) { Prev_Time=time[i]; Fun_New_Bar=false; } if(Prev_Time!=time[i]) { Prev_Time=time[i]; if(iHigh(NULL,0,i+1)>BH) // проверяем есть ли обновление Хай { C=PHT; // присвоим переменной время предыдущего бара обновления Хай NHT=iTime(NULL,0,i+1); // находим время обновления Хай Pshift=iBarShift(NULL,0,C); // находим индекс бара предыдущего обновления Хай P=iLow(NULL,0,iLowest(NULL,0,MODE_LOW,Pshift,i+1)); // находим наименьшее значение Лоу от обновления Хай настоящего до предыдущего (искомая величина) BH=iHigh(NULL,0,i+1); // прорисовываем Хай новый Closebar=P; // прорисовываем искомую величину PHT=NHT; // сохраняем время последнего обновления Хай } Fun_New_Bar=false; // ждем закрытие нового бара } } Comment( NHT, C , Pshift ); // проверка if(low[i]<BL) BL=low[i]; // в процессе } return(rates_total); } ponochka 2018.12.04 13:32 #7065 こんにちは!EAでお困りですか?ステップで動作し、SLをブレークイーブンに移動させる、通常のトレーリングストップを作る必要があります!!!つまり、注文が開始され、正しい方向に25(比喩的に言えば)ポイント進んだ後、SLは直ちに開始 価格に設定されるのですこのコードを持っていますが、価格に追従し、始値で停止してしまいます。bool tkt; for (int i = 0; i < OrdersTotal(); i++) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderType() == OP_BUY) { if(NormalizeDouble(OrderStopLoss(), Digits) < NormalizeDouble(OrderOpenPrice(), Digits) && NormalizeDouble(Ask - OrderStopLoss(), Digits) > NormalizeDouble(TrailingStop * Point, Digits)) tkt = OrderModify(OrderTicket(), 0, Ask - TrailingStop * Point, OrderTakeProfit(), OrderExpiration(), clrNONE); Print("Error setting Buy trailing stop: ", GetLastError()); } if (OrderType() == OP_SELL) { if(NormalizeDouble(OrderStopLoss(),Digits) > NormalizeDouble(OrderOpenPrice(), Digits) && NormalizeDouble(OrderStopLoss() - Bid, Digits) > NormalizeDouble(TrailingStop * Point, Digits)) tkt = OrderModify(OrderTicket(), 0, Bid + TrailingStop * Point, OrderTakeProfit(), OrderExpiration(), clrNONE); Print("Error setting Sell trailing stop: ", GetLastError()); } } } もう1週間も壁に頭をぶつけているんですよ!? Youri Lazurenko 2018.12.04 15:46 #7066 ponochka:こんにちは!EAでお困りですか?ステップで動作し、SLをブレークイーブンに移動させる、通常のトレーリングストップを作る必要があります!!!例:注文が出され、25ポイント(比喩的な意味で)上昇した後、SLは直ちに始 値に設定される!このコードを持っていますが、価格に追従し、始値で停止してしまいます。もう1週間も壁に頭をぶつけているんですよ!?ぜひ、自分のために書いて、自分も使ってみてください。 //======= Глобальные переменные extern bool UseBreakeven = true; //Использование безубытка extern int Breakeven = 20; //Профит безубытка extern int ValueBreak = 3; //Безубыток extern bool UseTrailingStop = true; //использование трейлинг стопа extern int TrailingStop = 40; //Величина трала extern int TrailingStep = 3; //Шиг трала double SL, TP; //нннннннннннн Функция перевода в безубыток нннннннннннннннннннннннннннннннннннннннннннн void BreakevenModify() { int i; double sl; int total = OrdersTotal(); if(UseBreakeven) { for(i = total-1; i >= 0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if(OrderType() == OP_BUY) { if(OrderStopLoss() < OrderOpenPrice() && (OrderOpenPrice() + Breakeven*point) <= Bid) { sl = NormalizeDouble(OrderOpenPrice() + ValueBreak*point, Digits); OrderModifyX(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0, 0); } } } } if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if(OrderType() == OP_SELL) { if(OrderStopLoss() > OrderOpenPrice() && (OrderOpenPrice() - Breakeven*point) >= Ask) { sl = NormalizeDouble(OrderOpenPrice() - ValueBreak*point, Digits); OrderModifyX(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0, 0); } } } } } } } //нннннннннннн Функция трейлинг стопа ннннннннннннннннннннннннннннннннннннннннннннннннннннн void TrailingStopLoss() { int i; double sl; int total = OrdersTotal(); if(UseTrailingStop) { for(i = total-1; i >= 0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if(OrderType() == OP_BUY) { if((OrderOpenPrice() + TakeProfit3*point) <= Bid) { if(OrderStopLoss() > OrderOpenPrice() && OrderStopLoss() + (TrailingStop + TrailingStep)*point <= Bid) { sl = NormalizeDouble(OrderStopLoss() + TrailingStep*point, Digits); OrderModifyX(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0, 0); } } } } } if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if(OrderType() == OP_SELL) { if((OrderOpenPrice() - TakeProfit3*point) >= Ask) { if(OrderStopLoss() < OrderOpenPrice() && OrderStopLoss() - (TrailingStop + TrailingStep)*point >= Ask) { sl = NormalizeDouble(OrderStopLoss() - TrailingStep*point, Digits); OrderModifyX(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0, 0); } } } } } } } } 自分のために書いて、使っています。 Maxim Kuznetsov 2018.12.04 16:28 #7067 Youri Lazurenko:どうか、自分のために書いて、自分のために使ってください。 これはテスター用です :-) 現実には、Bid、Askに基づくトロールは非常に危険である。 Taras Slobodyanik 2018.12.05 19:18 #7068 Rustam Bikbulatov: こんにちは、皆さん。数十件の注文が、順番をずらしたり、全く違う形で終了しているのはなぜか、教えてください。どのように修正すればよいのでしょうか?一括で閉じる方法はありますか?最初ではなく、最後に閉じる。 for(int i=OrdersTotal()-1; i>=0; i--) それとも、自分でリストを作って、それで注文を締めなければならないのでしょうか? Rustam Bikbulatov 2018.12.05 19:47 #7069 Taras Slobodyanik:後を濁す それとも、自分でリストを作って、それを使ってクロージングするのでしょうか?リストってどうやって作るんですか? Rustam Bikbulatov 2018.12.05 20:54 #7070 こんにちは、皆さん。数十件の注文が千鳥足で終了したり、全く違う形で終了したりするのはなぜか、教えてください。どうすれば直るのか?一括で閉じる方法はありますか?void CloseOrdB(){ for(int i=0;i<OrdersTotal();i++){ if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){ if(OrderSymbol()==Symbol() && OrderMagicNumber()==456){ if(OrderClose(OrderTicket(),OrderLots(),Bid,3,clrBlue)){CloseOrdB();}}}} } 1...700701702703704705706707708709710711712713714...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
というのは冗談で、そうやってコケるわけではありません。
異端を書き込む前に、写真をよく見てください。
話題がくだらなすぎて、読んでいて嫌になる...。...すると、ビジュアルが欠落し、最適化が...。
窓を広くすれば、幸せになれる。どのウィンドウを拡大するか迷うことはありません。
問題は、画面の解像度です。
ありがとうございました。写真を見て推測し始めたのですが...。
問題は、画面の解像度です。
いつもありがとうございます。すべてうまくいき、問題は文字サイズ(フォント)表示でした
{ if(prev_calculated<1) limit=rates_total-1; if(prev_calculated>0)limit=rates_total-prev_calculated; for(i=limit; i>=0; i--) { yesterday_weekday = TimeDayOfWeek(iTime(Symbol(),0,i+1))-TimeDayOfWeek(iTime(Symbol(),0,i)); if (yesterday_weekday !=0) // находим открытие нового дня { BH=open[i];BL=open[i]; // переменные ХАЙ ЛОУ Closebar=open[i]; // искомая переменная NHT=time[i]; // переменная время последнего обновления ХАЙ PHT=time[i]; // переменная время предпоследнего обновления хай } CloseD[i]=Closebar; // буфер отрисовки искомая переменная СИНИЙ ЦВЕТ HD[i]=BH; // буфер отрисовки ХАЙ LD[i]=BL; // буфер отрисовки ЛОУ if (Fun_New_Bar==false) // находим закрытие бара { if (Prev_Time==0) { Prev_Time=time[i]; Fun_New_Bar=false; } if(Prev_Time!=time[i]) { Prev_Time=time[i]; if(iHigh(NULL,0,i+1)>BH) // проверяем есть ли обновление Хай { C=PHT; // присвоим переменной время предыдущего бара обновления Хай NHT=iTime(NULL,0,i+1); // находим время обновления Хай Pshift=iBarShift(NULL,0,C); // находим индекс бара предыдущего обновления Хай P=iLow(NULL,0,iLowest(NULL,0,MODE_LOW,Pshift,i+1)); // находим наименьшее значение Лоу от обновления Хай настоящего до предыдущего (искомая величина) BH=iHigh(NULL,0,i+1); // прорисовываем Хай новый Closebar=P; // прорисовываем искомую величину PHT=NHT; // сохраняем время последнего обновления Хай } Fun_New_Bar=false; // ждем закрытие нового бара } } Comment( NHT, C , Pshift ); // проверка if(low[i]<BL) BL=low[i]; // в процессе } return(rates_total); }ぜひ、自分のために書いて、自分も使ってみてください。
自分のために書いて、使っています。
どうか、自分のために書いて、自分のために使ってください。
これはテスター用です :-)
現実には、Bid、Askに基づくトロールは非常に危険である。
こんにちは、皆さん。数十件の注文が、順番をずらしたり、全く違う形で終了しているのはなぜか、教えてください。どのように修正すればよいのでしょうか?一括で閉じる方法はありますか?
最初ではなく、最後に閉じる。
それとも、自分でリストを作って、それで注文を締めなければならないのでしょうか?後を濁す
それとも、自分でリストを作って、それを使ってクロージングするのでしょうか?リストってどうやって作るんですか?