コーディングのヘルプ - ページ 439

 
neverbeast:
再びこんにちは。

そこで、矢印のついた簡単なインジケータを作りました。しかし、残念ながら思ったように描画されない。私の目標は、条件が満たされたときに矢印を表示することだったが、条件が満たされなくなったら、その矢印を削除する必要がある。例として例えば、現在のローソク足の15秒後に条件が満たされ、矢印が表示された後、方向転換して条件が満たされなくなったので、現在のローソク足の終値の前にその矢印を削除する必要があります。現在、条件が満たされたときに矢印を描き、全く再描画しません。さらに、ITMまたはOTM/ATMになったかどうかを示す有効期限の矢印がありますが、更新されるまで全く描画されません。どなたか見ていただいて、修正するのを手伝っていただけないでしょうか?

6s.mq4

コードに最初の15秒のチェックが全くありません。そのチェックも追加してみてはいかがでしょうか

 
mladen:
最初の15秒のチェックが全くありませんね。なぜあなたはそのチェックも追加しないのですか?

私のミスです。ここで説明していたのは、そのインジケータの別バージョンでした。とにかく、私はmql4のコーディングの初心者で、それをどのように行うのか全く分かりません。そのコードの一部がどのように動作するかの小さなチュートリアルと一緒に書いてもよろしいですか?

 
neverbeast:
私のミスです。ここで説明していたのは、そのインジケータの別バージョンでした。とにかく私はmql4のコーディングは初心者で、どうすればいいのか全くわかりません。あなたはそれがどのように動作するかの小さなチュートリアルとコードのその部分を書くことができますか?

こんなことができます。

if (TimeCurrent()-Time[0])>15) return(0);

これをstart()プロシージャの先頭(1行目)に書くと、現在のローソクの始まりからの経過秒数が15秒より大きい場合に、残りのコードが実行されないようになります。

 

EAのコードはあるのですが、私のスキルは......皆無です。 それをコンパイルし、バグを取り除こうとしましたが、うまくいきません。

誰か助けてくれませんか?

//|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ // Price Action V1 // hodhabi@gmail.com//|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ #define NL "\n" extern double Lots = 1; extern double TP = 100; extern int TradeType = 0; // 0 to follow the trend, 1 to force buy, 2 to force sell extern int leverage = 5; extern double MaximumLossinMoney = 1000; extern int MagicNumber = 250346; extern bool UseAlerts = false; //+-------------+ //| Custom init | //|-------------+ int init() { } //+----------------+ //| Custom DE-init | //+----------------+ int deinit() { } void sendEmail() { if (UseAlerts==true) SendMail("YTF Alert", "New order has been added "+OrdersTotal()+" Balance = " +AccountBalance() + " Equity = "+AccountEquity() +" Current Price:" + Close[0]); return; } void DrawHorizentalLine() { ObjectCreate("TProfit", OBJ_HLINE, 0, Time[1], Close[0]+500*Point); ObjectSet("Tprofit", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("Tprofit", OBJPROP_COLOR, MediumSeaGreen); } } } //----------------------------------------------------------------------------------------------................................................................... //+------------------------------------------------------------------------+ //| すべてを閉じる //+------------------------------------------------------------------------+ void CloseAll() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_BUY && OrderMagicNumber() == MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, 赤 ); if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } return; } void CloseAllBuy() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_BUY && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if (UseAlerts) PlaySound("alert.wav"; } return; if ("orderTicket(), OrderLots() and&MagicNumber(), 5, false); if (UseAlerts) PlaySound("alert.wav"); } returnwav"); } return; } void CloseAllSell() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } return; } }. //+--------------------------------------------------------------- ///利益が出ている注文を全てキャンセルする //+--------------------------------------------------------------- ///保留中の注文を全てキャンセルする //+--------------------------------------------------------------- ///メイン|/+------------------------------- int start() { int OrdersBUY, ticket; int OrdersSELL; double BuyLots, SellLots, BuyProfit, SellProfit.//+----------------------------------------------------------- //+----------------------------------------------- //+--------------------------------------------------------------- //+--------------------------------------------------------------- //+--------------------------------------------------------------------------- //+------------------------------------------------------------------------------------------- //+--------------------------------------------------------------------------- //+--------------------------------------------------------------------------- //+--------------------------------------------------------------------------- //+-5; //+----------------------------------------------------------+ // 最終注文価格の決定| //----------------------------------------------------------+ if(OrdersTotal()==0 && TradeType ==1 ) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-TP*Point,Ask+leverage*TP*Point, "MLTrendETF",MagicNumber,0,Green).OrdersTotal() ==0,Ask、Ask、TP*Point、Ask+leverage*TP*Point、"MLTrendETF "MagicNumber,0,Green); TradeType=2; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("Error opening BUY order :",GetLastError()); return(0); } if(OrdersTotal()==0 && TradeType ==2) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+TP*Point,Bid-TP*leverage*Point, "MLTrendETF",MagicNumber,0,Green).OrdersTotal() ==0 && TradeType ==2) { ticket=OrderSend(Symbol(),OP_SELL,Bid,3,Bid-TP*Point, "MLTrendETF",MagicNumber,0,Green); TradeType = 1; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("Error opening BUY order :",GetLastError()); return(0); }. }// start()

 

すみません、以下はごちゃごちゃしてません。

//|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ // Price Action V1 // hodhabi@gmail.com//|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ #define NL "\n" extern double Lots = 1; extern double TP = 100; extern int TradeType = 0; // 0 to follow the trend, 1 to force buy, 2 to force sell extern int leverage = 5; extern double MaximumLossinMoney = 1000; extern int MagicNumber = 250346; extern bool UseAlerts = false; //+-------------+ //| Custom init | //|-------------+ int init() { } //+----------------+ //| Custom DE-init | //+----------------+ int deinit() { } void sendEmail() { if (UseAlerts==true) SendMail("YTF Alert", "New order has been added "+OrdersTotal()+" Balance = " +AccountBalance() + " Equity = "+AccountEquity() +" Current Price:" + Close[0]); return; } void DrawHorizentalLine() { ObjectCreate("TProfit", OBJ_HLINE, 0, Time[1], Close[0]+500*Point); ObjectSet("Tprofit", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("Tprofit", OBJPROP_COLOR, MediumSeaGreen); } } } //----------------------------------------------------------------------------------------------................................................................... //+------------------------------------------------------------------------+ //| すべてを閉じる //+------------------------------------------------------------------------+ void CloseAll() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_BUY && OrderMagicNumber() == MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, 赤 ); if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } return; } void CloseAllBuy() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_BUY && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if (UseAlerts) PlaySound("alert.wav"; } return; if ("orderTicket(), OrderLots() and&MagicNumber(), 5, false); if (UseAlerts) PlaySound("alert.wav"); } returnwav"); } return; } void CloseAllSell() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } return; } }. //+--------------------------------------------------------------- ///利益が出ている注文を全てキャンセルする //+--------------------------------------------------------------- ///保留中の注文を全てキャンセルする //+--------------------------------------------------------------- ///メイン|/+------------------------------- int start() { int OrdersBUY, ticket; int OrdersSELL; double BuyLots, SellLots, BuyProfit, SellProfit.//+----------------------------------------------------------- //+----------------------------------------------- //+--------------------------------------------------------------- //+--------------------------------------------------------------- //+--------------------------------------------------------------------------- //+------------------------------------------------------------------------------------------- //+--------------------------------------------------------------------------- //+--------------------------------------------------------------------------- //+--------------------------------------------------------------------------- //+-5; //+----------------------------------------------------------+ // 最終注文価格の決定| //----------------------------------------------------------+ if(OrdersTotal()==0 && TradeType ==1 ) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-TP*Point,Ask+leverage*TP*Point, "MLTrendETF",MagicNumber,0,Green).OrdersTotal() ==0,Ask、Ask、TP*Point、Ask+leverage*TP*Point、"MLTrendETF "MagicNumber,0,Green); TradeType=2; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("Error opening BUY order :",GetLastError()); return(0); } if(OrdersTotal()==0 && TradeType ==2) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+TP*Point,Bid-TP*leverage*Point, "MLTrendETF",MagicNumber,0,Green).OrdersTotal() ==0 && TradeType ==2) { ticket=OrderSend(Symbol(),OP_SELL,Bid,3,Bid-TP*Point, "MLTrendETF",MagicNumber,0,Green); TradeType = 1; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("Error opening BUY order :",GetLastError()); return(0); }. }// start()

 
godrich:
//$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$ $$$$$ $$$$$$ $$$$$$$$$hodhabi@gmail.com//#define NL "\n" extern double Lots = 1; extern double TP = 100; extern int TradeType = 0; extern int leverage = 5; extern double MaximumLossinMoney = 1000; extern int MagicNumber = 250346; extern bool UseAlerts = false; //+-------------+ //| Custom init | //|-------------+ int init() { } //+-------------+ //| Custom Delete = 0; //+-------------+ //| Custom Delete = 0 //+----------------+ //| Custom DE-init | //+----------------+ int deinit() { } void sendEmail() { if (UseAlerts==true) SendMail("YTF Alert", "New order has been added "+OrdersTotal()+" Balance = " +AccountBalance() + " Equity = "+AccountEquity() +" Current Price:" + Close[0]); return; } void DrawHorizentalLine() { ObjectCreate("TProfit", OBJ_HLINE, 0, Time[1], Close[0]+500*Point); ObjectSet("Tprofit", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("Tprofit", OBJPROP_COLOR, MediumSeaGreen); } } } //----------------------------------------------------------------------------------------------................................................................... //+------------------------------------------------------------------------+ //| すべてを閉じる //+------------------------------------------------------------------------+ void CloseAll() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_BUY && OrderMagicNumber() == MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, 赤 ); if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } return; if ( UseAlerts) PlaySound("alert.wav"); } return; } void CloseAllBuy() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_BUY && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if (UseAlerts) PlaySound("alert.wav"; } return; if ("orderTicket(), OrderLots() and&MagicNumber(), 5, false); if (UseAlerts) PlaySound("alert.wav"); } returnwav"); } return; } void CloseAllSell() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } return; } }. //+--------------------------------------------------------------- ///利益が出ている注文を全てキャンセルする //+--------------------------------------------------------------- ///保留中の注文を全てキャンセルする //+--------------------------------------------------------------- ///メイン|/+------------------------------- int start() { int OrdersBUY, ticket; int OrdersSELL; double BuyLots, SellLots, BuyProfit, SellProfit.//+----------------------------------------------------------- //+----------------------------------------------- //+--------------------------------------------------------------- //+--------------------------------------------------------------- //+--------------------------------------------------------------------------- //+------------------------------------------------------------------------------------------- //+--------------------------------------------------------------------------- //+--------------------------------------------------------------------------- //+--------------------------------------------------------------------------- //+-5; //+----------------------------------------------------------+ // 最終注文価格の決定| //----------------------------------------------------------+ if(OrdersTotal()==0 && TradeType ==1 ) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-TP*Point,Ask+leverage*TP*Point, "MLTrendETF",MagicNumber,0,Green).OrdersTotal() ==0,Ask、Ask、TP*Point、Ask+leverage*TP*Point、"MLTrendETF "MagicNumber,0,Green); TradeType=2; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("Error opening BUY order :",GetLastError()); return(0); } if(OrdersTotal()==0 && TradeType ==2) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+TP*Point,Bid-TP*leverage*Point, "MLTrendETF",MagicNumber,0,Green).OrdersTotal() ==0 && TradeType ==2) { ticket=OrderSend(Byte, Bid,3,Bid-TP*Point,Bid-TP*leverage*Point) TradeType = 1; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("Error opening BUY order :",GetLastError()); return(0); }. }// start()

ゴッドリッチ

mq4ファイルを添付してください。

この方法では、メタエディタに貼り付けると使えなくなります。

 

うまくいったかどうかわからないが...

ファイル:
pac.mq4  5 kb
 

こんにちは。

ローソク足の上に赤や緑のラインを引くPetDというインジケータを見つけました。その代わりに色のついたヒストグラムを作ることはできないものでしょうか。

それで、緑か赤のバーを持つ別のウィンドウを持つことができます。

ありがとうございます。

ペットD_フル_オプション.mq4

ファイル:
 
NWFstudent:
こんにちは。

ローソク足の上に赤や緑の線を引くPetDというインジケータを見つけました。その代わりに、色のついたヒストグラムの帯を作ることはできないのでしょうか?

それで、私は緑か赤のバーを持つ別のウィンドウを持つことができます。

ありがとうございます。

pet-d_full_option.mq4です。

NWFstudent

ここにもそのタイプです:pet-d_full_option_-_separate.mq4

ファイル:
 
makototokyo:
こんにちは。

このインジケータはアラートがうまく鳴らないようです。mt4を起動してから1回だけアラートが出て、1回目のアラートの後は音が出ない感じです。また、バーが "climax "の時だけ音が鳴ることに気がつきました。

どなたかこのボリュームインジケータのコードを修正していただけませんか?

もし時間があれば、このキャンドルインジケーターにも同じことをしていただけるとありがたいのですが、あまりお時間を取らせたくないので、よろしくお願いします。

よろしくお願いします。

Makototokyoさん、別ウィンドウ版でアラートを "bull rising and bear rising "に変更しましたので、このバージョンで正常に動作するはずです。

ファイル: