アドバイザーの戦略リファイン - ページ 4 12345678 新しいコメント Алексей Тарабанов 2013.05.29 06:09 #31 IRIP:ストップロスの設定方法については、どこで読むことができますか?例えば、Low bar 2でストップする必要があります。 https://book.mql4.com/ru/trading/index Irip Irip 2013.05.29 06:17 #32 ありがとうございました。 Irip Irip 2013.05.29 11:38 #33 現在、いくつかの課題があります。1.一定の利益が出た場合の損益分岐点2.フラクタルや固定数値によるトローリング ktest0 2013.05.29 12:31 #34 IRIP:現在、いくつかの課題があります。1.一定の利益が出た場合の損益分岐点2.フラクタルまたは固定された図形によるトロール 書き始めて、どんどん質問して...。 Роман 2013.05.29 13:32 #35 IRIP:if ( ( (安値[0]>安値[1]) && (安値[1]<安値[2]) && (高値[1]<高値[2]) ) BuyOp=true;if ( (高[0]<高[1] && (低[0]<低[1] && (高[1]>高[2] && (開[0]<閉[1]) ) SellOp=true ですね。 販売する。そして、トラルもブレイクイーブンもあなたを助けてはくれません。そして、今回のような規則性を利用しなければ、絶対に役に立ちません。 ktest0 2013.05.29 13:39 #36 DYN: していただきます。そして、トロールもブレイクイーブンも役に立ちません。また、今回のように規則性を利用しないのでは、絶対に役に立ちません。 そうなります。でも、この人はプログラミングを勉強しているのだから、そう悪くはないだろう! Роман 2013.05.29 15:54 #37 ktest0: 彼はそうする。しかし、人はプログラミングを学ぶものであり、それは決して悪いことではないのです うん、そうだね。その点では、彼に拍手喝采です。最初は一から勉強するのは大変ですよね、わかります -)-) Irip Irip 2013.05.30 01:59 #38 ktest0: 彼はそうする。しかし、人はプログラミングを学ぶものであり、それは決して悪いことではないのです そう、私は本当にプログラミングを学びたいのです。 Irip Irip 2013.05.30 03:14 #39 tara: https://book.mql4.com/ru/trading/index 本、すごいですね。しかし、例えば、私が必要とすることを概ね行ってくれるアドバイザーを見つけた場合//+------------------------------------------------------------------+| TrailingStopLight.mq4//| 著作権 © 2011, Khlystov Vladimir|株式会社日立製作所//| http://cmillion.narod.ru |//+------------------------------------------------------------------+#property copyright "Copyright © 2011, cmillion@narod.ru"#プロパティリンク "http://cmillion.narod.ru"#property show_inputs//--------------------------------------------------------------------extern int Stoploss = 0, //stopploss, if 0, remain unchangedTakeprofit = 0; //takeprofitは、0であれば、変更されません。extern int TrailingStop = 20; //トランポ長、もし0ならトレーリングストップなしextern int StepTrall = 0; //トランップステップ - StopLossをStepTrallより近づけずに移動させます。extern int NoLoss = 10, //指定した利益ポイント数でブレイクイーブンに移行、0ならブレイクイーブンに移行しない。MinProfitNoLoss = 0; //ブレークイーブンになるための最小限の利益//--------------------------------------------------------------------int STOPLEVEL,TimeBar;//--------------------------------------------------------------------int init(){}//--------------------------------------------------------------------int deinit(){ObjectDelete("SLb")。ObjectDelete("SLs")。}//--------------------------------------------------------------------int start(){//while(!IsStopped()){//RefreshRates();STOPLEVEL=MarketInfo(Symbol(),MODE_STOPLEVEL)となります。double OSL,OTP,OOP,StLo,SL,TP;double Profit,ProfitS,ProfitB,LB,LS,NLb,NLs,price_b,price_s,OL,sl;int b,s,OT,OMN;for (int i=OrdersTotal()-1; i>=0; i--){if (オーダーセレクト(i,SELECT_BY_POS,MODE_TRADES)){OMN = OrderMagicNumber()。if (OrderSymbol() == Symbol()){OOP = NormalizeDouble(OrderOpenPrice(),Digits)。OT = OrderType();OL = OrderLots();if (OT==OP_BUY){price_b = price_b+OOP*OL;b++; LB+= OL;ProfitB+=OrderProfit()+OrderSwap()+OrderCommission()です。}if (OT==OP_SELL){price_s = price_s+OOP*OL;s++;LS+=OL。ProfitS+=OrderProfit()+OrderSwap()+OrderCommission()です。}}}}ObjectDelete("SLb")。ObjectDelete("SLs")。if (b>0){NLb = NormalizeDouble(price_b/LB,Digits);ObjectCreate("SLb",OBJ_ARROW,0,Time[0],NLb,0,0)。ObjectSet ("SLb",OBJPROP_ARROWCODE,6);ObjectSet ("SLb",OBJPROP_COLOR,Blue);}if (s>0){NLs = NormalizeDouble(price_s/LS,Digits)です。ObjectCreate("SLs",OBJ_ARROW,0,Time[0],NLs,0,0)。ObjectSet ("SLs",OBJPROP_ARROWCODE,6);ObjectSet ("SLs",OBJPROP_COLOR,Red);}int OTicketfor (i=0; i<OrdersTotal(); i++){if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){if (OrderSymbol()==Symbol()){OT = OrderType();OSL = NormalizeDouble(OrderStopLoss(),Digits)。OTP = NormalizeDouble(OrderTakeProfit(),Digits)。OOP = NormalizeDouble(OrderOpenPrice(),Digits)。sl=osl; tp=otp。if (OT==OP_BUY){b++;if (OSL==0 && Stoploss>=STOPLEVEL && Stoploss!=0){SL = NormalizeDouble(Bid - Stoploss * Point,Digits)です。}さもなければSL=OSL。if (OTP==0 && Takeprofit>=STOPLEVEL && Takeprofit!=0){TP = NormalizeDouble(Ask + Takeprofit * Point,Digits);}else TP=OTP;if (NoLoss>=STOPLEVEL && OSL<NLb && NoLoss!=0){if (OOP<=NLb && NLb!=0 && NLb <= NormalizeDouble(Bid-NoLoss*Point,Digits))とする。SL = NormalizeDouble(NLb+MinProfitNoLoss*Point,Digits);}if (TrailingStop>=STOPLEVEL && TrailingStop!=0){StLo = NormalizeDouble(Bid - TrailingStop*Point,Digits)です。if (StLo>=NLb && NLb!=0) if (StLo > OSL) SL = StLo;}if (SL != OSL || TP != OTP){OTicket=OrderTicket()です。if (!オーダーモディファイ(OTicket,OOP,SL,TP,0,White))Print("OrderModify Error ",GetLastError());}}if (OT==OP_SELL){s++;if (OSL==0 && Stoploss>=STOPLEVEL && Stoploss!=0){SL = NormalizeDouble(Ask + Stoploss * Point,桁数)}さもなければSL=OSL。if (OTP==0 && Takeprofit>=STOPLEVEL && Takeprofit!=0){TP = NormalizeDouble(Bid - Takeprofit * Point,Digits);}else TP=OTP;if (NoLoss>=STOPLEVEL && (OSL>NLs || OSL==0) && NoLoss!=0){if (OOP>=NLs && NLs!=0 && NLs >= NormalizeDouble(Ask+NoLoss*Point,Digits))SL = NormalizeDouble(NLs-MinProfitNoLoss*Point,Digits);}if (TrailingStop>=STOPLEVEL && TrailingStop!=0){StLo = NormalizeDouble(Ask + TrailingStop*Point,Digits)です。if (StLo<=NLs && NLs!=0) if (StLo < OSL || OSL==0) SL = StLo;}if ((SL != OSL || OSL==0) || TP != OTP){OTicket=OrderTicket()です。if (!オーダーモディファイ(OTicket,OOP,SL,TP,0,White))Print("OrderModify Error ",GetLastError());}}}}}if (IsTesting()){if (TimeBar!=Time[0]){OrderSend(Symbol(),OP_BUY,1,NormalizeDouble(Ask,Digits),3,0,0, "test",0,0,Blue) を実行します。OrderSend(Symbol(),OP_SELL,1,NormalizeDouble(Bid,Digits),3,0,0,「テスト」,0,0,Red)。TimeBar=Time[0]です。}}//Sleep(1000);}}//--------------------------------------------------------------------私のにも(理論的には)挿入できるのでしょうか? strategy refinement of the MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - Boris 2013.05.30 05:35 #40 IRIP: 本、すごいですね。しかし、例えば、私が必要とすることを概ね行ってくれるアドバイザーを見つけた場合//+------------------------------------------------------------------+ //| TrailingStopLight.mq4 | //| Copyright © 2011, Khlystov Vladimir | //| http://cmillion.narod.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, cmillion@narod.ru" #property link "http://cmillion.narod.ru" #property show_inputs //-------------------------------------------------------------------- extern int Stoploss = 0,//стоплосс, если 0 то не изменяется Takeprofit = 0;//тейкпрофит, если 0 то не изменяется extern int TrailingStop = 20;//длинна тралла, если 0 то нет тралла extern int StepTrall = 0;//шаг тралла - перемещать стоплосс не ближе чем StepTrall extern int NoLoss = 10,//перевод в безубыток при заданном кол-ве пунктов прибыли, если 0 то нет перевода в безубыток MinProfitNoLoss = 0; //минимальная прибыль при переводе вбезубыток //-------------------------------------------------------------------- int STOPLEVEL,TimeBar; //-------------------------------------------------------------------- int init() { } //-------------------------------------------------------------------- int deinit() { ObjectDelete("SLb"); ObjectDelete("SLs"); } //-------------------------------------------------------------------- int start() { //while(!IsStopped()) { //RefreshRates(); STOPLEVEL=MarketInfo(Symbol(),MODE_STOPLEVEL); double OSL,OTP,OOP,StLo,SL,TP; double Profit,ProfitS,ProfitB,LB,LS,NLb,NLs,price_b,price_s,OL,sl; int b,s,OT,OMN; for (int i=OrdersTotal()-1; i>=0; i--) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { OMN = OrderMagicNumber(); if (OrderSymbol() == Symbol()) { OOP = NormalizeDouble(OrderOpenPrice(),Digits); OT = OrderType(); OL = OrderLots(); if (OT==OP_BUY) { price_b = price_b+OOP*OL; b++; LB+= OL; ProfitB+=OrderProfit()+OrderSwap()+OrderCommission(); } if (OT==OP_SELL) { price_s = price_s+OOP*OL; s++;LS+= OL; ProfitS+=OrderProfit()+OrderSwap()+OrderCommission(); } } } } ObjectDelete("SLb"); ObjectDelete("SLs"); if (b>0) { NLb = NormalizeDouble(price_b/LB,Digits); ObjectCreate("SLb",OBJ_ARROW,0,Time[0],NLb,0,0,0,0); ObjectSet ("SLb",OBJPROP_ARROWCODE,6); ObjectSet ("SLb",OBJPROP_COLOR, Blue); } if (s>0) { NLs = NormalizeDouble(price_s/LS,Digits); ObjectCreate("SLs",OBJ_ARROW,0,Time[0],NLs,0,0,0,0); ObjectSet ("SLs",OBJPROP_ARROWCODE,6); ObjectSet ("SLs",OBJPROP_COLOR, Red); } int OTicket; for (i=0; i<OrdersTotal(); i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if (OrderSymbol()==Symbol()) { OT = OrderType(); OSL = NormalizeDouble(OrderStopLoss(),Digits); OTP = NormalizeDouble(OrderTakeProfit(),Digits); OOP = NormalizeDouble(OrderOpenPrice(),Digits); SL=OSL;TP=OTP; if (OT==OP_BUY) { b++; if (OSL==0 && Stoploss>=STOPLEVEL && Stoploss!=0) { SL = NormalizeDouble(Bid - Stoploss * Point,Digits); } else SL=OSL; if (OTP==0 && Takeprofit>=STOPLEVEL && Takeprofit!=0) { TP = NormalizeDouble(Ask + Takeprofit * Point,Digits); } else TP=OTP; if (NoLoss>=STOPLEVEL && OSL<NLb && NoLoss!=0) { if (OOP<=NLb && NLb!=0 && NLb <= NormalizeDouble(Bid-NoLoss*Point,Digits)) SL = NormalizeDouble(NLb+MinProfitNoLoss*Point,Digits); } if (TrailingStop>=STOPLEVEL && TrailingStop!=0) { StLo = NormalizeDouble(Bid - TrailingStop*Point,Digits); if (StLo>=NLb && NLb!=0) if (StLo > OSL) SL = StLo; } if (SL != OSL || TP != OTP) { OTicket=OrderTicket(); if (!OrderModify(OTicket,OOP,SL,TP,0,White)) Print("Error OrderModify ",GetLastError()); } } if (OT==OP_SELL) { s++; if (OSL==0 && Stoploss>=STOPLEVEL && Stoploss!=0) { SL = NormalizeDouble(Ask + Stoploss * Point,Digits); } else SL=OSL; if (OTP==0 && Takeprofit>=STOPLEVEL && Takeprofit!=0) { TP = NormalizeDouble(Bid - Takeprofit * Point,Digits); } else TP=OTP; if (NoLoss>=STOPLEVEL && (OSL>NLs || OSL==0) && NoLoss!=0) { if (OOP>=NLs && NLs!=0 && NLs >= NormalizeDouble(Ask+NoLoss*Point,Digits)) SL = NormalizeDouble(NLs-MinProfitNoLoss*Point,Digits); } if (TrailingStop>=STOPLEVEL && TrailingStop!=0) { StLo = NormalizeDouble(Ask + TrailingStop*Point,Digits); if (StLo<=NLs && NLs!=0) if (StLo < OSL || OSL==0) SL = StLo; } if ((SL != OSL || OSL==0) || TP != OTP) { OTicket=OrderTicket(); if (!OrderModify(OTicket,OOP,SL,TP,0,White)) Print("Error OrderModify ",GetLastError()); } } } } } if (IsTesting()) { if (TimeBar!=Time[0]) { OrderSend(Symbol(),OP_BUY,1,NormalizeDouble(Ask,Digits),3,0,0,"тест",0,0,Blue); OrderSend(Symbol(),OP_SELL,1,NormalizeDouble(Bid,Digits),3,0,0,"тест",0,0,Red); TimeBar=Time[0]; } } //Sleep(1000); } } //-------------------------------------------------------------------- 私のにも(理論上は)挿入できるのでしょうか? まず、SRC ボタンでコードを挿入 する方法を学びましょう その「本は素晴らしい」は、まだまだ実証する必要がありますねとりあえず、ヒントで出ようと思っているんですね。そして「労せずして...」、おそらく結果は分かっているはず、もしくは分かるはず、時間がないのです知識がなければ、どこにも行けない 12345678 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ストップロスの設定方法については、どこで読むことができますか?
例えば、Low bar 2でストップする必要があります。
https://book.mql4.com/ru/trading/index
現在、いくつかの課題があります。
1.一定の利益が出た場合の損益分岐点
2.フラクタルや固定数値によるトローリング
現在、いくつかの課題があります。
1.一定の利益が出た場合の損益分岐点
2.フラクタルまたは固定された図形によるトロール
書き始めて、どんどん質問して...。
販売する。そして、トラルもブレイクイーブンもあなたを助けてはくれません。そして、今回のような規則性を利用しなければ、絶対に役に立ちません。
していただきます。そして、トロールもブレイクイーブンも役に立ちません。また、今回のように規則性を利用しないのでは、絶対に役に立ちません。
そうなります。でも、この人はプログラミングを勉強しているのだから、そう悪くはないだろう!
彼はそうする。しかし、人はプログラミングを学ぶものであり、それは決して悪いことではないのです
うん、そうだね。その点では、彼に拍手喝采です。最初は一から勉強するのは大変ですよね、わかります -)-)
彼はそうする。しかし、人はプログラミングを学ぶものであり、それは決して悪いことではないのです
そう、私は本当にプログラミングを学びたいのです。
https://book.mql4.com/ru/trading/index
本、すごいですね。しかし、例えば、私が必要とすることを概ね行ってくれるアドバイザーを見つけた場合
//+------------------------------------------------------------------+
| TrailingStopLight.mq4
//| 著作権 © 2011, Khlystov Vladimir|株式会社日立製作所
//| http://cmillion.narod.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, cmillion@narod.ru"
#プロパティリンク "http://cmillion.narod.ru"
#property show_inputs
//--------------------------------------------------------------------
extern int Stoploss = 0, //stopploss, if 0, remain unchanged
Takeprofit = 0; //takeprofitは、0であれば、変更されません。
extern int TrailingStop = 20; //トランポ長、もし0ならトレーリングストップなし
extern int StepTrall = 0; //トランップステップ - StopLossをStepTrallより近づけずに移動させます。
extern int NoLoss = 10, //指定した利益ポイント数でブレイクイーブンに移行、0ならブレイクイーブンに移行しない。
MinProfitNoLoss = 0; //ブレークイーブンになるための最小限の利益
//--------------------------------------------------------------------
int STOPLEVEL,TimeBar;
//--------------------------------------------------------------------
int init()
{
}
//--------------------------------------------------------------------
int deinit()
{
ObjectDelete("SLb")。
ObjectDelete("SLs")。
}
//--------------------------------------------------------------------
int start()
{
//while(!IsStopped())
{
//RefreshRates();
STOPLEVEL=MarketInfo(Symbol(),MODE_STOPLEVEL)となります。
double OSL,OTP,OOP,StLo,SL,TP;
double Profit,ProfitS,ProfitB,LB,LS,NLb,NLs,price_b,price_s,OL,sl;
int b,s,OT,OMN;
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (オーダーセレクト(i,SELECT_BY_POS,MODE_TRADES))
{
OMN = OrderMagicNumber()。
if (OrderSymbol() == Symbol())
{
OOP = NormalizeDouble(OrderOpenPrice(),Digits)。
OT = OrderType();
OL = OrderLots();
if (OT==OP_BUY)
{
price_b = price_b+OOP*OL;
b++; LB+= OL;
ProfitB+=OrderProfit()+OrderSwap()+OrderCommission()です。
}
if (OT==OP_SELL)
{
price_s = price_s+OOP*OL;
s++;LS+=OL。
ProfitS+=OrderProfit()+OrderSwap()+OrderCommission()です。
}
}
}
}
ObjectDelete("SLb")。
ObjectDelete("SLs")。
if (b>0)
{
NLb = NormalizeDouble(price_b/LB,Digits);
ObjectCreate("SLb",OBJ_ARROW,0,Time[0],NLb,0,0)。
ObjectSet ("SLb",OBJPROP_ARROWCODE,6);
ObjectSet ("SLb",OBJPROP_COLOR,Blue);
}
if (s>0)
{
NLs = NormalizeDouble(price_s/LS,Digits)です。
ObjectCreate("SLs",OBJ_ARROW,0,Time[0],NLs,0,0)。
ObjectSet ("SLs",OBJPROP_ARROWCODE,6);
ObjectSet ("SLs",OBJPROP_COLOR,Red);
}
int OTicket
for (i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderSymbol()==Symbol())
{
OT = OrderType();
OSL = NormalizeDouble(OrderStopLoss(),Digits)。
OTP = NormalizeDouble(OrderTakeProfit(),Digits)。
OOP = NormalizeDouble(OrderOpenPrice(),Digits)。
sl=osl; tp=otp。
if (OT==OP_BUY)
{
b++;
if (OSL==0 && Stoploss>=STOPLEVEL && Stoploss!=0)
{
SL = NormalizeDouble(Bid - Stoploss * Point,Digits)です。
}
さもなければSL=OSL。
if (OTP==0 && Takeprofit>=STOPLEVEL && Takeprofit!=0)
{
TP = NormalizeDouble(Ask + Takeprofit * Point,Digits);
}
else TP=OTP;
if (NoLoss>=STOPLEVEL && OSL<NLb && NoLoss!=0)
{
if (OOP<=NLb && NLb!=0 && NLb <= NormalizeDouble(Bid-NoLoss*Point,Digits))とする。
SL = NormalizeDouble(NLb+MinProfitNoLoss*Point,Digits);
}
if (TrailingStop>=STOPLEVEL && TrailingStop!=0)
{
StLo = NormalizeDouble(Bid - TrailingStop*Point,Digits)です。
if (StLo>=NLb && NLb!=0) if (StLo > OSL) SL = StLo;
}
if (SL != OSL || TP != OTP)
{
OTicket=OrderTicket()です。
if (!オーダーモディファイ(OTicket,OOP,SL,TP,0,White))Print("OrderModify Error ",GetLastError());
}
}
if (OT==OP_SELL)
{
s++;
if (OSL==0 && Stoploss>=STOPLEVEL && Stoploss!=0)
{
SL = NormalizeDouble(Ask + Stoploss * Point,桁数)
}
さもなければSL=OSL。
if (OTP==0 && Takeprofit>=STOPLEVEL && Takeprofit!=0)
{
TP = NormalizeDouble(Bid - Takeprofit * Point,Digits);
}
else TP=OTP;
if (NoLoss>=STOPLEVEL && (OSL>NLs || OSL==0) && NoLoss!=0)
{
if (OOP>=NLs && NLs!=0 && NLs >= NormalizeDouble(Ask+NoLoss*Point,Digits))
SL = NormalizeDouble(NLs-MinProfitNoLoss*Point,Digits);
}
if (TrailingStop>=STOPLEVEL && TrailingStop!=0)
{
StLo = NormalizeDouble(Ask + TrailingStop*Point,Digits)です。
if (StLo<=NLs && NLs!=0) if (StLo < OSL || OSL==0) SL = StLo;
}
if ((SL != OSL || OSL==0) || TP != OTP)
{
OTicket=OrderTicket()です。
if (!オーダーモディファイ(OTicket,OOP,SL,TP,0,White))Print("OrderModify Error ",GetLastError());
}
}
}
}
}
if (IsTesting())
{
if (TimeBar!=Time[0])
{
OrderSend(Symbol(),OP_BUY,1,NormalizeDouble(Ask,Digits),3,0,0, "test",0,0,Blue) を実行します。
OrderSend(Symbol(),OP_SELL,1,NormalizeDouble(Bid,Digits),3,0,0,「テスト」,0,0,Red)。
TimeBar=Time[0]です。
}
}
//Sleep(1000);
}
}
//--------------------------------------------------------------------
私のにも(理論的には)挿入できるのでしょうか?
本、すごいですね。しかし、例えば、私が必要とすることを概ね行ってくれるアドバイザーを見つけた場合
私のにも(理論上は)挿入できるのでしょうか?
まず、SRC ボタンでコードを挿入 する方法を学びましょう
その「本は素晴らしい」は、まだまだ実証する必要がありますねとりあえず、ヒントで出ようと思っているんですね。そして「労せずして...」、おそらく結果は分かっているはず、もしくは分かるはず、時間がないのです知識がなければ、どこにも行けない