どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 1037 1...103010311032103310341035103610371038103910401041104210431044...1178 新しいコメント Artyom Trishkin 2016.04.30 16:35 #10361 Tema97:私はチャネルベースの戦略を持っていますが、それに代わるものはありますか? もちろん、ありますよ。値を計算し、配列または構造体に保存し、EAに使用します。そして、そこからオブジェクトを描画することもできます。値が用意されているのです。 削除済み 2016.04.30 16:35 #10362 Tema97:私はチャネルベースの戦略を持っていますが、それに代わるものはありますか? 何のためのビルドインなのか?iCustomで インジケータを照会します。 販売用には、#resourceを付けて 埋め込むことができます。 money_maker 2016.04.30 19:07 #10363 以下を実装したい。 1つのシートに異なるタイムフレームを追加する機能(異なるウィンドウで1つのシートに表示) どこに行けばいいのか、どこを掘ればいいのか、アドバイスをお願いします)は、mqlやWInApiで可能なのでしょうか? もしかしたら、私が見つけられなかった事例があるかもしれません( 削除済み 2016.05.01 10:24 #10364 kocunyc89:これを修正するために私を助けてください!それはエラー 'Void' - 型のない宣言36 4と私は再配置またはreturnを書くべき場所?//------------------------------------------------------------------------------- Void OnTick(){.voidは大文字ではなく、小さな小文字で表記されます。ほら、色が違うでしょ。この単語にカーソルを合わせてF1キーを押すと、多くの場合役に立ちます。修正後、多くのエラーメッセージが 表示される...エラーメッセージは修正したが、ロジックは自分で確認すること#property strict bool Результат; extern int SL = 200, //Стоплосс в пунктах TStop = 20, // TStep = 10, // TP = 85; //Тейкпрофит в пунктах //extern double Lot = 0.10; //используется только при risk = 0 extern double Lots = 0; // лот, если 0, то динамический extern double RiskPercentage = 50; // % от депо на лот, если динамический extern int MaxOrders = 6; //Максимальное кол-во ордеров одного направления //-------------------------------------------------------------------- int STOPLEVEL,Magic=123321,tip; datetime TimeBar; string txt; //-------------------------------------------------------------------- int init() { if(Digits==3||Digits==5) { TStop *=10; TStep *=10; SL *=10; } return(INIT_SUCCEEDED); } //-------------------------------------------------------------------- void OnTick() { double Lot = Lots; int Ticket = 0; if (Lots==0) { double margin = MarketInfo(Symbol(), MODE_MARGINREQUIRED); double minLot = MarketInfo(Symbol(), MODE_MINLOT); double maxLot = MarketInfo(Symbol(), MODE_MAXLOT); double step = MarketInfo(Symbol(), MODE_LOTSTEP); double account = AccountFreeMargin(); double percentage = account*RiskPercentage/100; Lot = MathRound(percentage/margin/step)*step; if(Lot < minLot) Lot = minLot; if(Lot > maxLot)Lot = maxLot; } int buy=0,sell=0; for (int i=0; i<OrdersTotal(); i++) { if (OrderSelect(i, SELECT_BY_POS)) { if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic) continue; tip=OrderType(); if (tip==0) buy++; if (tip==1) sell++; } } Comment(txt,"\nБаланс ",DoubleToStr(AccountBalance(),2),"\nЭквити ",DoubleToStr(AccountEquity(),2),"\nBuy ",buy,"\nSel ",sell); double TrPr=0,StLo=0; double L = NormalizeDouble(Low[0], Digits); double L1 = NormalizeDouble(Low[1], Digits); double L2 = NormalizeDouble(Low[2], Digits); double L3 = NormalizeDouble(Low[3], Digits); double H = NormalizeDouble(High[0],Digits); double H1 = NormalizeDouble(High[1],Digits); double H2 = NormalizeDouble(High[2],Digits); double H3 = NormalizeDouble(High[3],Digits); double O = NormalizeDouble(Open[0], Digits); double O1 = NormalizeDouble(Open[1], Digits); double O2 = NormalizeDouble(Open[2], Digits); double O3 = NormalizeDouble(Open[3], Digits); double C = NormalizeDouble(Close[0],Digits); double C1 = NormalizeDouble(Close[1],Digits); double C2 = NormalizeDouble(Close[2],Digits); double C3 = NormalizeDouble(Close[3],Digits); //LONG if (buy<MaxOrders && TimeBar!=Time[0]&& H>H1&&H1>H2&&H2>H3) { if (TP!=0) TrPr = NormalizeDouble(Ask + TP * Point,Digits); if (SL!=0) StLo = NormalizeDouble(Bid - SL * Point,Digits); Ticket=OrderSend(Symbol(),OP_BUY, Lots,NormalizeDouble(Ask,Digits),3,0,0,"BreakdownLevelCandleMA",Magic,0,Blue); if (Ticket==0) Print("Error BUY",GetLastError(),"",Symbol()," Lot ",Lot," SL ",StLo," TP ",TrPr); else { Результат=OrderModify(Ticket,OrderOpenPrice(),StLo,TrPr,0,Blue); TimeBar=Time[0]; } } //SHORT if (sell<MaxOrders && TimeBar!=Time[0]&& L>L1&&L1>L2&&L2>L3) { if (TP!=0) TrPr = NormalizeDouble(Bid - TP * Point,Digits); if (SL!=0) StLo = NormalizeDouble(Ask + SL * Point,Digits); Ticket=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,0,0,"BreakdownLevelCandleMA",Magic,0,Red); if (Ticket==0) Print("Error SELL",GetLastError(),"",Symbol()," Lot ",Lot," SL ",StLo," TP ",TrPr); else { Результат=OrderModify(Ticket,OrderOpenPrice(),StLo,TrPr,0,Red); TimeBar=Time[0]; } } Trailing(); } //!!! куда передвинуть? return(0); void Trailing() { for(int i=OrdersTotal() -1; i>=0; i--) { if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES)) { if (OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic) { if(OrderType()==OP_BUY) { if (Bid-OrderOpenPrice()> TStop*Point || OrderStopLoss() ==0) { if(OrderStopLoss()<Bid-(TStep+TStop)*Point || OrderStopLoss() ==0) { if(!OrderModify(OrderTicket(), OrderOpenPrice(),NormalizeDouble(Bid-TStop*Point, Digits),0,0)) Print("Ошибка модификации ордера на покупку"); } } } if(OrderType()==OP_SELL) { if (OrderOpenPrice()-Ask>TStop*Point || OrderStopLoss() ==0) { if((OrderStopLoss()> (Ask+(TStep+TStop)*Point)) || (OrderStopLoss()==0) ) { if(!OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+TStop*Point,Digits),0,0)) { Print("Ошибка модификации ордера на продажу"); } } } } } } } } 削除済み 2016.05.01 11:53 #10365 LRA:voidは大きな大文字ではなく、小さな小文字で書かれています。色が違うかどうか見てみましょう。この単語にカーソルを合わせてF1キーを押すと、多くの場合役に立ちます。修正後、多くのエラーメッセージが表示される...エラーメッセージは修正したが、ロジックは自分で確認することありがとうございました。 владимир 2016.05.02 05:32 #10366 トレーダーの皆様、こんにちは。上に載せたコードを元に、シグナルロボットを書いてみました。このロボットはオプションのシグナルをほぼ正確に発生させますが、2バーのタイムラグがあります。同じ結果を2本早く出すには、コードのどこを変えればよいのでしょうか。それとも、不可能なのでしょうか?ありがとうございます。 Tema97 2016.05.02 05:33 #10367 私はカスタムインジケータを持って いる - チャネル - 私はチャネルの上限の値を返す必要があります - どのようにこれを行うには? Mihail Marchukajtes 2016.05.02 12:49 #10368 artmedia70:int 変数には1970年からの正確な秒数が、datetime 変数には日付が格納されています。履歴の中の特定のバーが必要な場合、それをどのように指定するかは問題ではありません - 日付または秒数で、いずれにせよ、変数は新しいティックの到着や新しいバーの開始に関係なく、この特定のバーの開始時刻を示すことになります。 ありがとうございます、でももう一つ問題があります。この機能は、新しいシグナルが到着したときのみ使用されるはずですが、この問題はすべてのバーでカウントされます。夜が明けました。誰か何が悪いのか説明してください。193行のatacheのインジケータは、条件付きの関数呼び出し ですが、条件が満たされず、Furction statは、各バーの到着時に計算され、私はすでにエラーを見つけるために退屈している、みんな助けてください!!!!!!!!。よろしくお願いします...。 ファイル: tdsequentakv2015.mq4 21 kb Mihail Marchukajtes 2016.05.02 13:05 #10369 今更ながらわかったのですが、stat関数は他のインジケータから呼び出さ れた場合、その両方がチャート上にあるときに再計算されるそうです。つまり、一度は自分自身のために計算され、二度目はそれを呼び出すインジケーターのために計算される。何ですか? Mihail Marchukajtes 2016.05.02 13:25 #10370 以下、写真で紹介します。上部のコメントは、計算が行われるメインインジケータのバッファの値で、プリント(下)は同じバッファを別のインジケータで呼び出してプリントで出力しただけのものです。その差は大きい!!BUT WHY!!!! 最初の ファイルがメインで、2番目のファイルが最初のファイルからバッファを呼び出す...。 ファイル: tdsequentamv2015.mq4 21 kb skynetsvl1.01.mq4 9 kb 1...103010311032103310341035103610371038103910401041104210431044...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
私はチャネルベースの戦略を持っていますが、それに代わるものはありますか?
私はチャネルベースの戦略を持っていますが、それに代わるものはありますか?
販売用には、#resourceを付けて 埋め込むことができます。
1つのシートに異なるタイムフレームを追加する機能(異なるウィンドウで1つのシートに表示)
どこに行けばいいのか、どこを掘ればいいのか、アドバイスをお願いします)は、mqlやWInApiで可能なのでしょうか?
もしかしたら、私が見つけられなかった事例があるかもしれません(
これを修正するために私を助けてください!それはエラー 'Void' - 型のない宣言36 4と私は再配置またはreturnを書くべき場所?
//-------------------------------------------------------------------------------
Void OnTick()
{.
voidは大文字ではなく、小さな小文字で表記されます。ほら、色が違うでしょ。この単語にカーソルを合わせてF1キーを押すと、多くの場合役に立ちます。
修正後、多くのエラーメッセージが 表示される...エラーメッセージは修正したが、ロジックは自分で確認すること
voidは大きな大文字ではなく、小さな小文字で書かれています。色が違うかどうか見てみましょう。この単語にカーソルを合わせてF1キーを押すと、多くの場合役に立ちます。
修正後、多くのエラーメッセージが表示される...エラーメッセージは修正したが、ロジックは自分で確認すること
ありがとうございました。
int 変数には1970年からの正確な秒数が、datetime 変数には日付が格納されています。
履歴の中の特定のバーが必要な場合、それをどのように指定するかは問題ではありません - 日付または秒数で、いずれにせよ、変数は新しいティックの到着や新しいバーの開始に関係なく、この特定のバーの開始時刻を示すことになります。
今更ながらわかったのですが、stat関数は他のインジケータから呼び出さ れた場合、その両方がチャート上にあるときに再計算されるそうです。つまり、一度は自分自身のために計算され、二度目はそれを呼び出すインジケーターのために計算される。何ですか?
以下、写真で紹介します。上部のコメントは、計算が行われるメインインジケータのバッファの値で、プリント(下)は同じバッファを別のインジケータで呼び出してプリントで出力しただけのものです。その差は大きい!!BUT WHY!!!!
最初の ファイルがメインで、2番目のファイルが最初のファイルからバッファを呼び出す...。